@ -6,8 +6,7 @@ import 'package:diplomaticquarterapp/core/viewModels/appointment_rate_view_model
import ' package:diplomaticquarterapp/core/viewModels/project_view_model.dart ' ;
import ' package:diplomaticquarterapp/locator.dart ' ;
import ' package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart ' ;
import ' package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart '
as checkActivation ;
import ' package:diplomaticquarterapp/models/Authentication/check_activation_code_response.dart ' as checkActivation ;
import ' package:diplomaticquarterapp/models/Authentication/check_paitent_authentication_req.dart ' ;
import ' package:diplomaticquarterapp/models/Authentication/countries_list.dart ' ;
import ' package:diplomaticquarterapp/models/Authentication/register_info_response.dart ' ;
@ -38,8 +37,7 @@ class RegisterInfo extends StatefulWidget {
final Function changePageViewIndex ;
final int page ;
const RegisterInfo ( { Key key , this . changePageViewIndex , this . page = 1 } )
: super ( key: key ) ;
const RegisterInfo ( { Key key , this . changePageViewIndex , this . page = 1 } ) : super ( key: key ) ;
@ override
_RegisterInfo createState ( ) = > _RegisterInfo ( ) ;
@ -48,7 +46,7 @@ class RegisterInfo extends StatefulWidget {
class _RegisterInfo extends State < RegisterInfo > {
final authService = new AuthProvider ( ) ;
final sharedPref = new AppSharedPreferences ( ) ;
RegisterInfoResponse registerInfo = RegisterInfoResponse ( ) ;
RegisterInfoResponse registerInfo = RegisterInfoResponse ( ) ;
bool isLoading ;
int page ;
final List < Location > locationList = [
@ -63,25 +61,23 @@ class _RegisterInfo extends State<RegisterInfo> {
] ;
final List < Language > genderList = [
new Language ( name: ' Male ' , value: ' M ' , nameAr: " ذكر " ) ,
new Language ( name: ' Female ' , value: ' F ' , nameAr: " أنثى " ) ,
new Language ( name: ' Female ' , value: ' F ' , nameAr: " أنثى " ) ,
] ;
final List < Language > maritalList = [
new Language ( name: ' Married ' , value: ' M ' , nameAr: " متزوج " ) ,
new Language ( name: ' Single ' , value: ' S ' , nameAr: " اعزب " ) ,
new Language ( name: ' Divorce ' , value: ' D ' , nameAr: " الطلاق " ) ,
new Language ( name: ' Single ' , value: ' S ' , nameAr: " اعزب " ) ,
new Language ( name: ' Divorce ' , value: ' D ' , nameAr: " الطلاق " ) ,
] ;
String email = ' ' ;
List < CountriesLists > countriesList = [ ] ;
ToDoCountProviderModel toDoProvider ;
String location = ' 1 ' ;
AuthenticatedUserObject authenticatedUserObject =
locator < AuthenticatedUserObject > ( ) ;
AuthenticatedUserObject authenticatedUserObject = locator < AuthenticatedUserObject > ( ) ;
ProjectViewModel projectViewModel ;
AppointmentRateViewModel appointmentRateViewModel =
locator < AppointmentRateViewModel > ( ) ;
bool isDubai = false ;
AppointmentRateViewModel appointmentRateViewModel = locator < AppointmentRateViewModel > ( ) ;
bool isDubai = false ;
RegisterInfoResponse data = RegisterInfoResponse ( ) ;
CheckPatientAuthenticationReq data2 ;
String gender = ' M ' ;
@ -90,8 +86,7 @@ class _RegisterInfo extends State<RegisterInfo> {
@ override
void initState ( ) {
if ( widget . page = = 1 ) {
if ( widget . page = = 1 ) {
getCountries ( ) ;
}
WidgetsBinding . instance . addPostFrameCallback ( ( timeStamp ) {
@ -106,23 +101,17 @@ class _RegisterInfo extends State<RegisterInfo> {
projectViewModel = Provider . of ( context ) ;
toDoProvider = Provider . of < ToDoCountProviderModel > ( context ) ;
return AppScaffold (
appBarTitle: TranslationBase
. of ( context )
. register ,
appBarTitle: TranslationBase . of ( context ) . register ,
isShowAppBar: false ,
isShowDecPage: false ,
body: SingleChildScrollView (
padding: EdgeInsets . all ( 30 ) ,
child:
Column ( crossAxisAlignment: CrossAxisAlignment . start , children: <
Widget > [
child: Column ( crossAxisAlignment: CrossAxisAlignment . start , children: < Widget > [
Row (
children: [
Expanded (
child: AppText (
TranslationBase
. of ( context )
. personalInfo ,
TranslationBase . of ( context ) . personalInfo ,
fontSize: 16 ,
textAlign: TextAlign . left ,
fontWeight: FontWeight . bold ,
@ -136,149 +125,106 @@ class _RegisterInfo extends State<RegisterInfo> {
? Column (
children: [
SizedBox ( height: 20 ) ,
getnameField (
TranslationBase
. of ( context )
. identificationNumber ,
registerd_data . patientIdentificationID ,
TranslationBase
. of ( context )
. mobileNumber ,
getnameField ( TranslationBase . of ( context ) . identificationNumber , registerd_data . patientIdentificationID , TranslationBase . of ( context ) . mobileNumber ,
registerd_data . patientMobileNumber . toString ( ) ) ,
/ / SizedBox ( height: 20 ) ,
projectViewModel . isArabic ? getnameField (
projectViewModel . isArabic
? getnameField (
' ' ,
inputWidget ( " First Name " , " First Name English " , ' fNameEn ' ) ,
inputWidget ( " First Name " , " First Name English " , ' fNameEn ' ) ,
' ' ,
inputWidget ( " Last Name " , " Last Name English " , ' lNameEn ' ) ,
) : SizedBox ( height: 0 , ) ,
inputWidget ( " Last Name " , " Last Name English " , ' lNameEn ' ) ,
)
: SizedBox (
height: 0 ,
) ,
getnameField (
' ' ,
inputWidget ( TranslationBase
. of ( context )
. firstName , TranslationBase
. of ( context )
. firstName , ' fName ' ) ,
inputWidget ( TranslationBase . of ( context ) . firstName , TranslationBase . of ( context ) . firstName , ' fName ' ) ,
' ' ,
inputWidget ( TranslationBase
. of ( context )
. middleName , TranslationBase
. of ( context )
. middleName , ' sName ' ) ,
inputWidget ( TranslationBase . of ( context ) . middleName , TranslationBase . of ( context ) . middleName , ' sName ' ) ,
) ,
getnameField (
' ' ,
inputWidget ( TranslationBase
. of ( context )
. lastName , TranslationBase
. of ( context )
. lastName , ' lName ' ) ,
TranslationBase
. of ( context )
. gender ,
inputWidget ( TranslationBase . of ( context ) . lastName , TranslationBase . of ( context ) . lastName , ' lName ' ) ,
TranslationBase . of ( context ) . gender ,
Container (
height: 20 ,
child: DropdownButtonHideUnderline (
child: DropdownButton (
isExpanded: true ,
value: gender ,
hint: Text ( TranslationBase
. of ( context )
. gender ) ,
hint: Text ( TranslationBase . of ( context ) . gender ) ,
iconSize: 40 ,
elevation: 16 ,
onChanged: ( value ) = >
{
onChanged: ( value ) = > {
setState ( ( ) {
gender = value ;
registerInfo . gender = value ;
} )
} ,
items: genderList
. map < DropdownMenuItem < String > > (
( Language value ) {
items: genderList . map < DropdownMenuItem < String > > ( ( Language value ) {
return DropdownMenuItem < String > (
value: value . value ,
child: Text ( projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
child: Text (
projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
) ,
) ;
} ) . toList ( ) ) ) ) ,
) ,
SizedBox ( height: 20 ) ,
getnameField (
TranslationBase
. of ( context )
. maritalStatus ,
TranslationBase . of ( context ) . maritalStatus ,
Container (
height: 18 ,
child: DropdownButtonHideUnderline (
child: DropdownButton (
isExpanded: true ,
value: maritalStatus ,
hint: Text ( TranslationBase
. of ( context )
. maritalStatus ) ,
hint: Text ( TranslationBase . of ( context ) . maritalStatus ) ,
iconSize: 40 ,
elevation: 16 ,
onChanged: ( value ) = >
{
onChanged: ( value ) = > {
setState ( ( ) {
maritalStatus = value ;
registerInfo . maritalStatusCode = value ;
} )
} ,
items: maritalList
. map < DropdownMenuItem < String > > (
( Language value ) {
items: maritalList . map < DropdownMenuItem < String > > ( ( Language value ) {
return DropdownMenuItem < String > (
value: value . value ,
child: Text ( projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
child: Text (
projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
) ,
) ;
} ) . toList ( ) ) ) ) ,
TranslationBase
. of ( context )
. nationality ,
TranslationBase . of ( context ) . nationality ,
Container (
height: 22 ,
child: DropdownButtonHideUnderline (
child: DropdownButton (
isExpanded: true ,
value: nationality ,
hint: Text ( TranslationBase
. of ( context )
. nationality ) ,
hint: Text ( TranslationBase . of ( context ) . nationality ) ,
iconSize: 40 ,
elevation: 16 ,
onChanged: ( value ) = >
{
onChanged: ( value ) = > {
setState ( ( ) {
nationality = value ;
registerInfo . nationalityCode = value ;
} )
} ,
items: countriesList
. map < DropdownMenuItem < String > > (
( CountriesLists value ) {
items: countriesList . map < DropdownMenuItem < String > > ( ( CountriesLists value ) {
return DropdownMenuItem < String > (
value: value . iD ,
child: Text ( value . name ,
child: Text (
value . name ,
) ,
) ;
} ) . toList ( ) ) ) ) ) ,
SizedBox ( height: 20 ) ,
getnameField (
TranslationBase
. of ( context )
. dateOfBirth ,
registerd_data . dob ,
" " , " " ) ,
getnameField ( TranslationBase . of ( context ) . dateOfBirth , registerd_data . dob , " " , " " ) ,
SizedBox ( height: 20 ) ,
] ,
)
@ -286,60 +232,25 @@ class _RegisterInfo extends State<RegisterInfo> {
? Column (
children: [
SizedBox ( height: 20 ) ,
getnameField (
TranslationBase
. of ( context )
. identificationNumber ,
registerInfo . idNumber ,
TranslationBase
. of ( context )
. firstName ,
registerInfo . firstNameEn = = ' - '
? registerInfo . firstNameAr
: registerInfo . firstNameEn ) ,
getnameField ( TranslationBase . of ( context ) . identificationNumber , registerInfo . idNumber , TranslationBase . of ( context ) . firstName ,
registerInfo . firstNameEn = = ' - ' ? registerInfo . firstNameAr : registerInfo . firstNameEn ) ,
SizedBox ( height: 20 ) ,
getnameField (
TranslationBase
. of ( context )
. middleName ,
registerInfo . secondNameEn = = ' - '
? registerInfo . secondNameEn
: registerInfo . secondNameEn ,
TranslationBase
. of ( context )
. lastName ,
registerInfo . lastNameEn = = ' - '
? registerInfo . lastNameEn
: registerInfo . lastNameEn ) ,
getnameField ( TranslationBase . of ( context ) . middleName , registerInfo . secondNameEn = = ' - ' ? registerInfo . secondNameEn : registerInfo . secondNameEn ,
TranslationBase . of ( context ) . lastName , registerInfo . lastNameEn = = ' - ' ? registerInfo . lastNameEn : registerInfo . lastNameEn ) ,
SizedBox ( height: 20 ) ,
getnameField (
TranslationBase
. of ( context )
. gender ,
TranslationBase . of ( context ) . gender ,
registerInfo . maritalStatusCode = = ' U '
? ' Unknown '
: registerInfo . maritalStatusCode = = ' M '
? ' Male '
: ' Female ' ,
TranslationBase
. of ( context )
. maritalStatus ,
TranslationBase . of ( context ) . maritalStatus ,
registerInfo . maritalStatus ) ,
SizedBox ( height: 20 ) ,
getnameField (
TranslationBase
. of ( context )
. nationality ,
registerInfo . nationality ,
TranslationBase
. of ( context )
. mobileNumber ,
registerd_data . patientMobileNumber . toString ( ) ) ,
getnameField ( TranslationBase . of ( context ) . nationality , registerInfo . nationality , TranslationBase . of ( context ) . mobileNumber , registerd_data . patientMobileNumber . toString ( ) ) ,
SizedBox ( height: 20 ) ,
getnameField ( TranslationBase
. of ( context )
. dateOfBirth ,
registerInfo . dateOfBirth , " " , " " ) ,
getnameField ( TranslationBase . of ( context ) . dateOfBirth , registerInfo . dateOfBirth , " " , " " ) ,
SizedBox ( height: 20 ) ,
] ,
)
@ -350,18 +261,12 @@ class _RegisterInfo extends State<RegisterInfo> {
Container (
width: double . infinity ,
decoration: containerRadius ( Colors . white , 12 ) ,
padding: EdgeInsets . only (
left: 10 , right: 10 , top: 5 , bottom: 25 ) ,
padding: EdgeInsets . only ( left: 10 , right: 10 , top: 5 , bottom: 25 ) ,
child: Row ( children: [
Flexible (
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: [
child: Column ( crossAxisAlignment: CrossAxisAlignment . start , children: [
Text (
TranslationBase
. of ( context )
. prefferedLanguage ,
TranslationBase . of ( context ) . prefferedLanguage ,
style: TextStyle (
fontSize: 11 ,
letterSpacing: - 0.44 ,
@ -370,33 +275,23 @@ class _RegisterInfo extends State<RegisterInfo> {
) ,
Container (
height: 18 ,
child:
DropdownButtonHideUnderline (
child: DropdownButtonHideUnderline (
child: DropdownButton (
isExpanded: true ,
value: language ,
hint: Text ( TranslationBase
. of ( context )
. prefferedLanguage ) ,
hint: Text ( TranslationBase . of ( context ) . prefferedLanguage ) ,
iconSize: 40 ,
elevation: 16 ,
onChanged: ( value ) = >
{
onChanged: ( value ) = > {
setState ( ( ) {
language =
value ;
language = value ;
} )
} ,
items: languageList . map <
DropdownMenuItem <
String > > (
( Language value ) {
return DropdownMenuItem <
String > (
value:
value . value ,
items: languageList . map < DropdownMenuItem < String > > ( ( Language value ) {
return DropdownMenuItem < String > (
value: value . value ,
child: Text (
projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
) ,
) ;
} ) . toList ( ) ) ) )
@ -408,18 +303,12 @@ class _RegisterInfo extends State<RegisterInfo> {
Container (
width: double . infinity ,
decoration: containerRadius ( Colors . white , 12 ) ,
padding: EdgeInsets . only (
left: 10 , right: 10 , top: 5 , bottom: 25 ) ,
padding: EdgeInsets . only ( left: 10 , right: 10 , top: 5 , bottom: 25 ) ,
child: Row ( children: [
Flexible (
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: [
child: Column ( crossAxisAlignment: CrossAxisAlignment . start , children: [
Text (
TranslationBase
. of ( context )
. selectLocation ,
TranslationBase . of ( context ) . selectLocation ,
style: TextStyle (
fontSize: 11 ,
letterSpacing: - 0.44 ,
@ -428,35 +317,23 @@ class _RegisterInfo extends State<RegisterInfo> {
) ,
Container (
height: 18 ,
child:
DropdownButtonHideUnderline (
child: DropdownButtonHideUnderline (
child: DropdownButton (
isExpanded: true ,
value: location ,
hint: Text (
TranslationBase
. of (
context )
. selectLocation ) ,
hint: Text ( TranslationBase . of ( context ) . selectLocation ) ,
iconSize: 40 ,
elevation: 16 ,
onChanged: ( value ) = >
{
onChanged: ( value ) = > {
setState ( ( ) {
location =
value ;
location = value ;
} )
} ,
items: locationList . map <
DropdownMenuItem <
String > > (
( Location value ) {
return DropdownMenuItem <
String > (
value:
value . value ,
items: locationList . map < DropdownMenuItem < String > > ( ( Location value ) {
return DropdownMenuItem < String > (
value: value . value ,
child: Text (
projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
projectViewModel . isArabic = = 1 ? value . nameAr : value . name ,
) ,
) ;
} ) . toList ( ) ) ) )
@ -468,19 +345,13 @@ class _RegisterInfo extends State<RegisterInfo> {
Container (
width: double . infinity ,
decoration: containerRadius ( Colors . white , 12 ) ,
padding: EdgeInsets . only (
left: 10 , right: 10 , top: 5 , bottom: 12 ) ,
padding: EdgeInsets . only ( left: 10 , right: 10 , top: 5 , bottom: 12 ) ,
margin: EdgeInsets . only ( bottom: 0 ) ,
child: Row ( children: [
Flexible (
child: Column (
crossAxisAlignment:
CrossAxisAlignment . start ,
children: [
child: Column ( crossAxisAlignment: CrossAxisAlignment . start , children: [
Text (
TranslationBase
. of ( context )
. email ,
TranslationBase . of ( context ) . email ,
style: TextStyle (
fontSize: 11 ,
letterSpacing: - 0.44 ,
@ -489,6 +360,7 @@ class _RegisterInfo extends State<RegisterInfo> {
) ,
Container (
child: TextField (
keyboardType: TextInputType . emailAddress ,
onChanged: ( value ) {
setState ( ( ) {
email = value ;
@ -510,8 +382,7 @@ class _RegisterInfo extends State<RegisterInfo> {
color: Color ( 0xff575757 ) ,
letterSpacing: - 0.56 ,
) ,
prefixIconConstraints:
BoxConstraints ( minWidth: 50 ) ,
prefixIconConstraints: BoxConstraints ( minWidth: 50 ) ,
contentPadding: EdgeInsets . zero ,
border: InputBorder . none ,
focusedBorder: InputBorder . none ,
@ -533,72 +404,47 @@ class _RegisterInfo extends State<RegisterInfo> {
Expanded (
child: Padding (
padding: EdgeInsets . all ( 10 ) ,
child:
DefaultButton ( TranslationBase
. of ( context )
. cancel , ( ) {
child: DefaultButton ( TranslationBase . of ( context ) . cancel , ( ) {
Navigator . of ( context ) . pop ( ) ;
locator < GAnalytics > ( )
. loginRegistration
. registration_cancel (
step: page = = 1
? ' personal info '
: ' other details ' ) ;
locator < GAnalytics > ( ) . loginRegistration . registration_cancel ( step: page = = 1 ? ' personal info ' : ' other details ' ) ;
} , textColor: Colors . white , color: Color ( 0xffD02127 ) ) ) ,
) ,
Expanded (
child: Padding (
padding: EdgeInsets . all ( 10 ) ,
child: DefaultButton (
page = = 1
? TranslationBase
. of ( context )
. next
: TranslationBase
. of ( context )
. register , ( ) {
child: DefaultButton ( page = = 1 ? TranslationBase . of ( context ) . next : TranslationBase . of ( context ) . register , ( ) {
nextPage ( ) ;
page = = 1
? locator < GAnalytics > ( )
. loginRegistration
. registration_personal_info ( )
: locator < GAnalytics > ( )
. loginRegistration
. registration_patient_info ( ) ;
} ,
textColor: Colors . white ,
color: isValid ( ) = = true
? Color ( 0xff359846 )
: Colors . grey ) ) ,
page = = 1 ? locator < GAnalytics > ( ) . loginRegistration . registration_personal_info ( ) : locator < GAnalytics > ( ) . loginRegistration . registration_patient_info ( ) ;
} , textColor: Colors . white , color: isValid ( ) = = true ? Color ( 0xff359846 ) : Colors . grey ) ) ,
) ,
] ,
) ) ) ;
}
nextPage ( ) async {
nextPage ( ) async {
if ( page = = 1 ) {
if ( isDubai ) {
if ( isDubai ) {
await setRegisterData ( ) ;
widget . changePageViewIndex ( 2 ) ;
}
else {
} else {
widget . changePageViewIndex ( 2 ) ;
}
} else {
registerNow ( ) ;
}
}
setRegisterData ( ) async {
setRegisterData ( ) async {
registerInfo . gender = gender ;
registerInfo . maritalStatusCode = maritalStatus ;
registerInfo . nationalityCode = nationality ;
registerInfo . maritalStatusCode = maritalStatus ;
registerInfo . nationalityCode = nationality ;
projectViewModel . setRegisterData ( registerInfo ) ;
/ / await sharedPref . setObject ( REGISTER_INFO_DUBAI , registerInfo ) ;
}
registerNow ( ) {
dynamic request ;
if ( isDubai )
if ( isDubai )
request = getTempUserRequestDubai ( ) ;
else
request = getTempUserRequest ( ) ;
@ -608,26 +454,17 @@ class _RegisterInfo extends State<RegisterInfo> {
this
. authService
. registerUser ( request )
. then ( ( result ) = >
{
. then ( ( result ) = > {
GifLoaderDialogUtils . hideDialog ( context ) ,
if ( result is String )
{
new ConfirmDialog (
context: context ,
confirmMessage: result ,
okText: TranslationBase
. of ( context )
. ok ,
cancelText: TranslationBase
. of ( context )
. cancel_nocaps ,
okFunction: ( ) = >
{ ConfirmDialog . closeAlertDialog ( context ) } ,
cancelFunction: ( ) = >
{
ConfirmDialog . closeAlertDialog ( context )
} ) . showAlertDialog ( context )
okText: TranslationBase . of ( context ) . ok ,
cancelText: TranslationBase . of ( context ) . cancel_nocaps ,
okFunction: ( ) = > { ConfirmDialog . closeAlertDialog ( context ) } ,
cancelFunction: ( ) = > { ConfirmDialog . closeAlertDialog ( context ) } ) . showAlertDialog ( context )
}
else
{
@ -650,13 +487,9 @@ class _RegisterInfo extends State<RegisterInfo> {
sharedPref . setObject ( LOGIN_TOKEN_ID , result . logInTokenID ) ,
sharedPref . setString ( TOKEN , result . authenticationTokenID ) ,
AppToast . showSuccessToast (
message: TranslationBase
. of ( context )
. successRegister ) ,
AppToast . showSuccessToast ( message: TranslationBase . of ( context ) . successRegister ) ,
checkIfUserAgreedBefore ( result ) ,
projectViewModel . analytics . loginRegistration
. registration_confirmation ( )
projectViewModel . analytics . loginRegistration . registration_confirmation ( )
}
} )
. catchError ( ( err ) {
@ -664,17 +497,12 @@ class _RegisterInfo extends State<RegisterInfo> {
ConfirmDialog dialog = new ConfirmDialog (
context: context ,
confirmMessage: err ,
okText: TranslationBase
. of ( context )
. confirm ,
cancelText: TranslationBase
. of ( context )
. cancel_nocaps ,
okText: TranslationBase . of ( context ) . confirm ,
cancelText: TranslationBase . of ( context ) . cancel_nocaps ,
okFunction: ( ) = > { ConfirmDialog . closeAlertDialog ( context ) } ,
cancelFunction: ( ) = > { ConfirmDialog . closeAlertDialog ( context ) } ) ;
dialog . showAlertDialog ( context ) ;
projectViewModel . analytics . loginRegistration
. registration_fail ( errorType: err ) ;
projectViewModel . analytics . loginRegistration . registration_fail ( errorType: err ) ;
} ) ;
}
@ -688,45 +516,33 @@ class _RegisterInfo extends State<RegisterInfo> {
}
getRegisterInfo ( ) async {
if ( await sharedPref . getObject ( NHIC_DATA ) ! = null ) {
data =
RegisterInfoResponse . fromJson ( await sharedPref . getObject ( NHIC_DATA ) ) ;
data = RegisterInfoResponse . fromJson ( await sharedPref . getObject ( NHIC_DATA ) ) ;
this . registerInfo = data ;
}
if ( await sharedPref . getObject ( REGISTER_DATA_FOR_LOGIIN ) ! = null ) {
data2 = CheckPatientAuthenticationReq . fromJson (
await sharedPref . getObject ( REGISTER_DATA_FOR_LOGIIN ) ) ;
data2 = CheckPatientAuthenticationReq . fromJson ( await sharedPref . getObject ( REGISTER_DATA_FOR_LOGIIN ) ) ;
setState ( ( ) {
this . registerd_data = data2 ;
isDubai = data2 . patientOutSA = = 1 ? true : false ;
if ( isDubai ) location = ' 2 ' ;
if ( isDubai ) location = ' 2 ' ;
} ) ;
}
}
getTempUserRequest ( ) {
DateFormat dateFormat = DateFormat ( " mm/dd/yyyy " ) ;
print ( dateFormat . parse ( registerInfo . dateOfBirth ) ) ;
var hDate =
new HijriCalendar . fromDate ( dateFormat . parse ( registerInfo . dateOfBirth ) ) ;
var hDate = new HijriCalendar . fromDate ( dateFormat . parse ( registerInfo . dateOfBirth ) ) ;
var date = hDate . toString ( ) ;
return {
" Patientobject " : {
" TempValue " : true ,
" PatientIdentificationType " :
registerInfo . idNumber . substring ( 0 , 1 ) = = " 1 " ? 1 : 2 ,
" PatientIdentificationType " : registerInfo . idNumber . substring ( 0 , 1 ) = = " 1 " ? 1 : 2 ,
" PatientIdentificationNo " : registerInfo . idNumber ,
" MobileNumber " : registerd_data . patientMobileNumber ,
" PatientOutSA " : ( registerd_data . zipCode = = ' 966 ' | |
registerd_data . zipCode = = ' +966 ' )
? 0
: 1 ,
" PatientOutSA " : ( registerd_data . zipCode = = ' 966 ' | | registerd_data . zipCode = = ' +966 ' ) ? 0 : 1 ,
" FirstNameN " : registerInfo . firstNameAr ,
" FirstName " : registerInfo . firstNameEn ,
" MiddleNameN " : registerInfo . secondNameAr ,
@ -734,9 +550,8 @@ class _RegisterInfo extends State<RegisterInfo> {
" LastNameN " : registerInfo . lastNameAr ,
" LastName " : registerInfo . lastNameEn ,
" StrDateofBirth " : registerInfo . dateOfBirth ,
" DateofBirth " : DateUtil . convertISODateToJsonDate (
registerInfo . dateOfBirth . replaceAll ( ' / ' , ' - ' ) ) ,
" Gender " : registerInfo . gender = = ' M ' ? 1 : 2 ,
" DateofBirth " : DateUtil . convertISODateToJsonDate ( registerInfo . dateOfBirth . replaceAll ( ' / ' , ' - ' ) ) ,
" Gender " : registerInfo . gender = = ' M ' ? 1 : 2 ,
" NationalityID " : registerInfo . nationalityCode ,
" eHealthIDField " : registerInfo . healthId ,
" DateofBirthN " : date ,
@ -750,20 +565,15 @@ class _RegisterInfo extends State<RegisterInfo> {
: ' 2 ' ,
} ,
" PatientIdentificationID " : registerInfo . idNumber ,
" PatientMobileNumber " :
registerd_data . patientMobileNumber . toString ( ) [ 0 ] = = ' 0 '
? registerd_data . patientMobileNumber
: ' 0 ' + registerd_data . patientMobileNumber . toString ( ) ,
" PatientMobileNumber " : registerd_data . patientMobileNumber . toString ( ) [ 0 ] = = ' 0 ' ? registerd_data . patientMobileNumber : ' 0 ' + registerd_data . patientMobileNumber . toString ( ) ,
} ;
}
getTempUserRequestDubai ( ) {
getTempUserRequestDubai ( ) {
DateFormat dateFormat = DateFormat ( " mm/dd/yyyy " ) ;
registerInfo = projectViewModel . registerInfo ;
registerInfo = projectViewModel . registerInfo ;
print ( dateFormat . parse ( registerd_data . dob ) ) ;
var hDate =
new HijriCalendar . fromDate ( dateFormat . parse ( registerd_data . dob ) ) ;
var hDate = new HijriCalendar . fromDate ( dateFormat . parse ( registerd_data . dob ) ) ;
var date = hDate . toString ( ) ;
final DateFormat dateFormat1 = DateFormat ( ' MM/dd/yyyy ' ) ;
final DateFormat dateFormat2 = DateFormat ( ' dd/MM/yyyy ' ) ;
@ -771,27 +581,21 @@ class _RegisterInfo extends State<RegisterInfo> {
return {
" Patientobject " : {
" TempValue " : true ,
" PatientIdentificationType " :
registerd_data . patientIdentificationID . substring ( 0 , 1 ) = = " 1 " ? 1 : 2 ,
" PatientIdentificationType " : registerd_data . patientIdentificationID . substring ( 0 , 1 ) = = " 1 " ? 1 : 2 ,
" PatientIdentificationNo " : registerd_data . patientIdentificationID ,
" MobileNumber " : registerd_data . patientMobileNumber ,
" PatientOutSA " : ( registerd_data . zipCode = = ' 966 ' | |
registerd_data . zipCode = = ' +966 ' )
? 0
: 1 ,
" FirstNameN " : registerInfo . firstNameAr ? ? " " ,
" FirstName " : registerInfo . firstNameEn ? ? " " ,
" MiddleNameN " : registerInfo . secondNameAr ? ? " " ,
" MiddleName " : registerInfo . secondNameEn ? ? " " ,
" LastNameN " : registerInfo . lastNameAr ? ? " " ,
" LastName " : registerInfo . lastNameEn ? ? " " ,
" StrDateofBirth " : dateFormat1 . format (
dateFormat2 . parse ( registerd_data . dob ) ) ,
" DateofBirth " : DateUtil . convertISODateToJsonDate (
registerd_data . dob . replaceAll ( ' / ' , ' - ' ) ) ,
" Gender " : registerInfo . gender = = ' M ' ? 1 : 2 ,
" PatientOutSA " : ( registerd_data . zipCode = = ' 966 ' | | registerd_data . zipCode = = ' +966 ' ) ? 0 : 1 ,
" FirstNameN " : registerInfo . firstNameAr ? ? " " ,
" FirstName " : registerInfo . firstNameEn ? ? " " ,
" MiddleNameN " : registerInfo . secondNameAr ? ? " . " ,
" MiddleName " : registerInfo . secondNameEn ? ? " . " ,
" LastNameN " : registerInfo . lastNameAr ? ? " " ,
" LastName " : registerInfo . lastNameEn ? ? " " ,
" StrDateofBirth " : dateFormat1 . format ( dateFormat2 . parse ( registerd_data . dob ) ) ,
" DateofBirth " : DateUtil . convertISODateToJsonDate ( registerd_data . dob . replaceAll ( ' / ' , ' - ' ) ) ,
" Gender " : registerInfo . gender = = ' M ' ? 1 : 2 ,
" NationalityID " : registerInfo . nationalityCode ,
" eHealthIDField " : null ,
" eHealthIDField " : null ,
" DateofBirthN " : date ,
" EmailAddress " : email ,
" SourceType " : location ,
@ -803,19 +607,16 @@ class _RegisterInfo extends State<RegisterInfo> {
: ' 2 ' ,
} ,
" PatientIdentificationID " : registerd_data . patientIdentificationID ,
" PatientMobileNumber " :
registerd_data . patientMobileNumber . toString ( ) [ 0 ] = = ' 0 '
? registerd_data . patientMobileNumber
: ' 0 ' + registerd_data . patientMobileNumber . toString ( ) ,
" DOB " : registerd_data . dob ,
" IsHijri " : registerd_data . isHijri
" PatientMobileNumber " : registerd_data . patientMobileNumber . toString ( ) [ 0 ] = = ' 0 ' ? registerd_data . patientMobileNumber : ' 0 ' + registerd_data . patientMobileNumber . toString ( ) ,
" DOB " : registerd_data . dob ,
" IsHijri " : registerd_data . isHijri
} ;
}
bool isValid ( ) {
if ( ( location ! = null & &
language ! = null & &
Utils . validEmail ( email ) = = true ) | | ( registerInfo . firstNameEn ! = null & & registerInfo . secondNameEn ! = null & & registerInfo . lastNameEn ! = null ) | | ( projectViewModel . isArabic & & registerInfo . firstNameEn ! = null & & registerInfo . firstNameAr ! = null & & registerInfo . lastNameEn ! = null & & registerInfo . secondNameAr ! = null & & registerInfo . lastNameAr ! = null ) ) {
if ( ( location ! = null & & language ! = null & & Utils . validEmail ( email ) = = true ) | |
( registerInfo . firstNameEn ! = null & & registerInfo . lastNameEn ! = null ) | |
( projectViewModel . isArabic & & registerInfo . firstNameEn ! = null & & registerInfo . firstNameAr ! = null & & registerInfo . lastNameEn ! = null & & registerInfo . lastNameAr ! = null ) ) {
return true ;
} else {
return false ;
@ -892,10 +693,7 @@ class _RegisterInfo extends State<RegisterInfo> {
insertIMEI ( ) async {
var selectedOption = await sharedPref . getInt ( LAST_LOGIN ) ;
authService
. insertDeviceImei ( selectedOption )
. then ( ( value ) = > { goToHome ( ) } )
. catchError ( ( err ) {
authService . insertDeviceImei ( selectedOption ) . then ( ( value ) = > { goToHome ( ) } ) . catchError ( ( err ) {
print ( err ) ;
} ) ;
}
@ -908,8 +706,7 @@ class _RegisterInfo extends State<RegisterInfo> {
await authenticatedUserObject . getUser ( getUser: true ) ;
appointmentRateViewModel
. getIsLastAppointmentRatedList ( )
. then ( ( value ) = >
{
. then ( ( value ) = > {
getToDoCount ( ) ,
GifLoaderDialogUtils . hideDialog ( AppGlobal . context ) ,
if ( appointmentRateViewModel . isHaveAppointmentNotRate )
@ -954,10 +751,7 @@ class _RegisterInfo extends State<RegisterInfo> {
ClinicListService service = new ClinicListService ( ) ;
service . getCountries ( ) . then ( ( res ) {
if ( res [ ' MessageStatus ' ] = = 1 ) {
res [ ' ListNationality ' ] . forEach ( ( items ) = > {
countriesList . add ( CountriesLists . fromJson ( items ) )
} ) ;
res [ ' ListNationality ' ] . forEach ( ( items ) = > { countriesList . add ( CountriesLists . fromJson ( items ) ) } ) ;
setState ( ( ) { } ) ;
}
@ -966,7 +760,6 @@ class _RegisterInfo extends State<RegisterInfo> {
} ) ;
}
Widget inputWidget ( String _labelText , String _hintText , String name , { String prefix , bool isEnable = true , bool hasSelection = false } ) {
return Container (
padding: EdgeInsets . only ( left: 10 , right: 10 , bottom: 5 , top: 5 ) ,
@ -1000,41 +793,39 @@ class _RegisterInfo extends State<RegisterInfo> {
TextField (
enabled: isEnable ,
scrollPadding: EdgeInsets . zero ,
keyboardType: TextInputType . number ,
keyboardType: TextInputType . text ,
/ / controller: _controller ,
onChanged: ( value ) = > {
setState ( ( ) {
switch ( name ) {
setState ( ( ) {
switch ( name ) {
case ' fName ' :
{
if ( projectViewModel . isArabic ) {
if ( projectViewModel . isArabic ) {
registerInfo . firstNameAr = value ;
} else {
registerInfo . firstNameEn = value ;
registerInfo . firstNameAr = ' ... ' ;
} else {
registerInfo . firstNameEn = value ;
registerInfo . firstNameAr = ' ... ' ;
}
}
break ;
case ' sName ' :
{
if ( projectViewModel . isArabic ) {
registerInfo . secondNameAr = value ;
registerInfo . secondNameEn = ' ... ' ;
} else {
registerInfo . secondNameEn = value ;
registerInfo . secondNameAr = ' ... ' ;
if ( projectViewModel . isArabic ) {
registerInfo . secondNameAr = value . isEmpty ? " . " : value ;
registerInfo . secondNameEn = ' ... ' ;
} else {
registerInfo . secondNameEn = value . isEmpty ? " . " : value ;
registerInfo . secondNameAr = ' ... ' ;
}
}
break ;
case ' lName ' :
{
if ( projectViewModel . isArabic ) {
if ( projectViewModel . isArabic ) {
registerInfo . lastNameAr = value ;
} else {
registerInfo . lastNameEn = value ;
registerInfo . lastNameAr = ' ... ' ;
} else {
registerInfo . lastNameEn = value ;
registerInfo . lastNameAr = ' ... ' ;
}
}
break ;
@ -1047,7 +838,6 @@ class _RegisterInfo extends State<RegisterInfo> {
}
} )
/ / _controller . text = value
} ,
style: TextStyle (
fontSize: 14 ,
@ -1067,7 +857,6 @@ class _RegisterInfo extends State<RegisterInfo> {
letterSpacing: - 0.56 ,
) ,
prefixIconConstraints: BoxConstraints ( minWidth: 50 ) ,
contentPadding: EdgeInsets . zero ,
border: InputBorder . none ,
focusedBorder: InputBorder . none ,
@ -1083,14 +872,13 @@ class _RegisterInfo extends State<RegisterInfo> {
) ,
) ;
}
}
class Language {
final String name ;
final String value ;
final String nameAr ;
Language ( { this . name , this . value , this . nameAr } ) ;
}