regiter issue

fix_authentication
Sultan Khan 5 years ago
parent a9eb09c560
commit f8e05fc447

@ -668,4 +668,5 @@ const Map<String, Map<String, String>> localizedValues = {
"en": "Drag point to change your age",
"ar": "اسحب لتغيير عمرك"
},
"email": {"en": "Email", "ar": "البريد الالكتروني"}
};

@ -235,7 +235,7 @@ class _DocAvailableAppointmentsState extends State<DocAvailableAppointments>
return children;
},
),
onDaySelected: (date, events,format) {
onDaySelected: (date, events) {
_onDaySelected(date, events);
_animationController.forward(from: 0.0);
},

@ -348,8 +348,11 @@ class _CovidTimeSlotsState extends State<CovidTimeSlots>
return children;
},
),
onDaySelected: (date, event,formats) {
_onDaySelected(date, event,);
onDaySelected: (date, event) {
_onDaySelected(
date,
event,
);
_animationController.forward(from: 0.0);
},
onVisibleDaysChanged: _onVisibleDaysChanged,

@ -1,6 +1,8 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/models/Authentication/check_paitent_authentication_req.dart';
import 'package:diplomaticquarterapp/models/Authentication/register_info_response.dart';
import 'package:diplomaticquarterapp/models/Authentication/register_user_requet.dart';
import 'package:diplomaticquarterapp/pages/login/login-type.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
@ -28,6 +30,19 @@ class _RegisterInfo extends State<RegisterInfo> {
RegisterInfoResponse registerInfo;
bool isLoading;
int page = 1;
final List<Location> locationList = [
new Location(name: 'KSA', value: '1'),
new Location(name: 'Dubai', value: '2'),
];
var language;
var registerd_data;
final List<Language> languageList = [
new Language(name: 'English', value: '2'),
new Language(name: 'Arabic', value: '1'),
];
var email ='';
var location;
@override
void initState() {
getRegisterInfo();
@ -58,7 +73,7 @@ class _RegisterInfo extends State<RegisterInfo> {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
AppText('National ID'),
AppText(TranslationBase.of(context).nationalID),
Container(
margin: EdgeInsets.only(bottom: 10),
child: TextFields(
@ -69,7 +84,7 @@ class _RegisterInfo extends State<RegisterInfo> {
top: 20, bottom: 20, left: 10, right: 10),
readOnly: true,
)),
AppText('Name'),
AppText(TranslationBase.of(context).name),
Container(
margin: EdgeInsets.only(bottom: 10),
child: TextFields(
@ -80,7 +95,7 @@ class _RegisterInfo extends State<RegisterInfo> {
top: 20, bottom: 20, left: 10, right: 10),
readOnly: true,
)),
AppText('Gender'),
AppText(TranslationBase.of(context).gender),
Container(
margin: EdgeInsets.only(bottom: 10),
child: TextFields(
@ -93,7 +108,7 @@ class _RegisterInfo extends State<RegisterInfo> {
top: 20, bottom: 20, left: 10, right: 10),
readOnly: true,
)),
AppText('Nationality'),
AppText(TranslationBase.of(context).nationality),
Container(
margin: EdgeInsets.only(bottom: 10),
child: TextFields(
@ -102,7 +117,7 @@ class _RegisterInfo extends State<RegisterInfo> {
top: 20, bottom: 20, left: 10, right: 10),
readOnly: true,
)),
AppText('Date of Birth'),
AppText(TranslationBase.of(context).dob),
Container(
margin: EdgeInsets.only(bottom: 10),
child: TextFields(
@ -115,7 +130,72 @@ class _RegisterInfo extends State<RegisterInfo> {
)
: registerInfo != null && page == 2
? Column(
children: <Widget>[],
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
AppText(TranslationBase.of(context).language,
textAlign: TextAlign.start),
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: Colors.white,
border: Border.all(color: Colors.grey),
borderRadius: BorderRadius.circular(10)),
child: DropdownButtonHideUnderline(
child: DropdownButton(
isExpanded: true,
value: language,
iconSize: 40,
elevation: 16,
onChanged: (value) => {
setState(() {
language = value;
})
},
items: languageList
.map<DropdownMenuItem<String>>(
(Language value) {
return DropdownMenuItem<String>(
value: value.value,
child: Text(value.name),
);
}).toList()))),
AppText(TranslationBase.of(context).location),
Container(
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
color: Colors.white,
border: Border.all(color: Colors.grey),
borderRadius: BorderRadius.circular(10)),
child: DropdownButtonHideUnderline(
child: DropdownButton(
isExpanded: true,
value: language,
iconSize: 40,
elevation: 16,
onChanged: (value) => {
setState(() {
location = value;
})
},
items: locationList
.map<DropdownMenuItem<String>>(
(Location value) {
return DropdownMenuItem<String>(
value: value.value,
child: Text(value.name),
);
}).toList()))),
AppText(TranslationBase.of(context).email),
Container(
margin: EdgeInsets.only(bottom: 10),
child: TextFields(
onChanged: (value) {
this.email = value;
},
padding: EdgeInsets.only(
top: 20, bottom: 20, left: 10, right: 10),
)),
],
)
: SizedBox(),
Expanded(
@ -127,9 +207,14 @@ class _RegisterInfo extends State<RegisterInfo> {
children: <Widget>[
Expanded(
child: DefaultButton(
TranslationBase.of(context).next,
page == 1
? TranslationBase.of(context).next
: TranslationBase.of(context).register,
() => {nextPage()},
textColor: Colors.white,
color: this.isValid() == false
? Colors.grey
: Colors.black,
))
],
),
@ -140,16 +225,110 @@ class _RegisterInfo extends State<RegisterInfo> {
}
nextPage() {
setState(() {
page++;
});
if (page == 1) {
setState(() {
page++;
});
} else {
registerNow();
}
}
registerNow() {
dynamic request = getTempUserRequest();
request = RegisterUserRequest.fromJson(request);
this.authService.registerUser(request);
}
registerNow() {}
getRegisterInfo() async {
registerInfo =
var data =
RegisterInfoResponse.fromJson(await sharedPref.getObject(NHIC_DATA));
print(await sharedPref.getObject(NHIC_DATA));
if (await sharedPref.getObject(REGISTER_DATA_FOR_LOGIIN) != null) {
var data2 = CheckPatientAuthenticationReq.fromJson(
await sharedPref.getObject(REGISTER_DATA_FOR_LOGIIN));
setState(() {
this.registerInfo = data;
this.registerd_data = data2;
});
}
}
getTempUserRequest() {
return {
"Patientobject": {
"TempValue": true,
"PatientIdentificationType": 1,
"PatientIdentificationNo": registerInfo.idNumber,
"MobileNumber": registerd_data['patientMobileNumber'],
"PatientOutSA": registerd_data['zipCode'] == '966' ? '0' : '1',
"FirstName": registerInfo.firstNameEn,
"MiddleName": registerInfo.secondNameEn,
"LastName": registerInfo.lastNameEn,
"StrDateofBirth": registerInfo.dateOfBirth,
"DateofBirth": "/Date(1522098000000)/",
"Gender": registerInfo.gender,
"NationalityID": registerInfo.nationality,
"DateofBirthN": registerInfo.dateOfBirth,
"EmailAddress": email,
"SourceType": location,
"PreferredLanguage": registerd_data['languageID'],
"Marital": registerInfo.maritalStatusCode == 'U'
? '0'
: registerInfo.maritalStatusCode == 'M'
? '1'
: '2',
},
"PatientIdentificationID": registerInfo.idNumber,
"PatientMobileNumber": registerd_data['PatientMobileNumber'],
};
// var patientObject ={};
// var request ={};
// patientObject['PatientIdentificationType'] = this.identificationType;
// patientObject['PatientIdentificationNo'] = this.id;
// request['PatientIdentificationID'] = this.id;
// request['PatientMobileNumber'] = this.registerInfo.MobileNumber;
// patientObject['MobileNumber'] = this.registerInfo.MobileNumber;
// patientObject['PatientOutSA'] = this.registerInfo.PatientOutSA;
// request['LogInTokenID'] = this.registerInfo.LogInTokenID;
// request['activationCode'] = this.registerInfo.activationCode;
// request['ProjectID'] = this.selectedProjectID;
// patientObject['ProjectID'] = this.selectedProjectID;
// request
// request.setBirthDate(this.dateOfBirth, this.cs.convertISODateToJsonDate(this.dateOfBirth));
// request.setGender(this.gender);
// request.Patientobject.NationalityID = this.selectedNationalityID;
// request.Patientobject.StrDateofBirth = this.dateOfBirth;
// request.Patientobject.DateofBirthN = this.dateHijri;
// request.Patientobject.EmailAddress = this.eMail;
// request.Patientobject.SourceType = this.iSOCountryID
// request.Patientobject.PreferredLanguage = this.preferredLanguage
// request.Patientobject.Marital = this.maritalStatus;
//return request;
}
bool isValid() {
if (location != null ||
language != null ||
Utils.validEmail(email) == true) {
return true;
} else {
return false;
}
}
}
class Language {
final String name;
final String value;
Language({this.name, this.value});
}
class Location {
final String name;
final String value;
Location({this.name, this.value});
}

@ -722,6 +722,7 @@ class TranslationBase {
String get selectAge => localizedValues['select-age'][locale.languageCode];
String get iAm => localizedValues['i-am'][locale.languageCode];
String get yearOld => localizedValues['years-old'][locale.languageCode];
String get email => localizedValues['email'][locale.languageCode];
}
class TranslationBaseDelegate extends LocalizationsDelegate<TranslationBase> {

@ -152,4 +152,10 @@ class Utils {
static Uint8List dataFromBase64String(String base64String) {
return base64Decode(base64String);
}
static validEmail(email) {
return RegExp(
r"^[a-zA-Z0-9.a-zA-Z0-9.!#$%&'*+-/=?^_`{|}~]+@[a-zA-Z0-9]+\.[a-zA-Z]+")
.hasMatch(email);
}
}

Loading…
Cancel
Save