Patient app release to stores 10.4

Dev_3.3_MedicalReportCR
haroon amjad 1 year ago
parent 872095c51f
commit b304332526

@ -52,6 +52,7 @@ post_install do |installer|
'PERMISSION_REMINDERS=1',
]
build_configuration.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64 i386'
build_configuration.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '13.0'
if build_configuration.build_settings['WRAPPER_EXTENSION'] == 'bundle'
build_configuration.build_settings['DEVELOPMENT_TEAM'] = '3A359E86ZF'
end

@ -20,8 +20,8 @@ var PACKAGES_ORDERS = '/api/orders';
var PACKAGES_ORDER_HISTORY = '/api/orders/items';
var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
// var BASE_URL = 'http://10.50.100.198:2018/';
var BASE_URL = 'https://uat.hmgwebservices.com/';
//var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'https://uat.hmgwebservices.com/';
var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'https://orash.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/';
@ -323,7 +323,7 @@ var UPDATE_COVID_QUESTIONNAIRE = 'Services/Doctors.svc/REST/COVID19_Questionnari
var CHANNEL = 3;
var GENERAL_ID = 'Cs2020@2016\$2958';
var IP_ADDRESS = '10.20.10.20';
var VERSION_ID = 10.3;
var VERSION_ID = 10.4;
var SETUP_ID = '91877';
var LANGUAGE = 2;
// var PATIENT_OUT_SA = 0;

@ -1865,7 +1865,7 @@ const Map localizedValues = {
"NFCNotSupported": { "en": "Your device does not support NFC. Please visit reception to Check-In", "ar": "جهازك لا يدعم NFC. يرجى زيارة مكتب الاستقبال لتسجيل الوصول" },
"enter-workplace-name": {"en": "Please enter your workplace name:", "ar": "رجاء إدخال مكان العمل:"},
"workplaceName": {"en": "Workplace name:", "ar": "مكان العمل:"},
"callLiveCareSupport": {"en": "Call LiveCare Support", "ar": "اتصل بدعم لايف كير"},
"callLiveCareSupport": {"en": "Call LiveCare Support", "ar": "اتصل بدعم اللايف كير"},
"needApproval": {"en": "Your sick leave is under process in medical administration, you will be notified once approved.", "ar": "جازتك المرضية تحت الإجراء في الإدارة الطبية ، سوف يتم إشعارك فور الموافقه عليها."},
"pendingActivation": {"en": "Pending Activation", "ar": "في انتظار التنشيط"},
"awaitingApproval": {"en": "Awaiting Approval", "ar": "انتظر القبول"},

@ -158,11 +158,11 @@ class BaseAppClient {
body.removeWhere((key, value) => key == null || value == null);
if (AppGlobal.isNetworkDebugEnabled) {
// if (AppGlobal.isNetworkDebugEnabled) {
print("URL : $url");
final jsonBody = json.encode(body);
print(jsonBody);
}
// }
if (await Utils.checkConnection(bypassConnectionCheck: bypassConnectionCheck)) {
final response = await http.post(Uri.parse(url.trim()), body: json.encode(body), headers: headers);

@ -32,6 +32,8 @@ class GeofencingServices extends BaseService {
AppSharedPreferences pref = AppSharedPreferences();
await pref.setString(HMG_GEOFENCES, _zonesJsonString);
var res = await sharedPref.getStringWithDefaultValue(HMG_GEOFENCES, "[]");
print("-------GEO ZONES----------: $res");
return geoZones;
}

@ -96,15 +96,15 @@ class _LiveCarePendingRequestState extends State<LiveCarePendingRequest> {
child: Text(TranslationBase.of(context).yourTurn + " " + widget.pendingERRequestHistoryList.patCount.toString() + " " + TranslationBase.of(context).patients,
style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.w600, letterSpacing: -0.48)),
),
Row(
children: [
Container(
padding: const EdgeInsets.all(5.0),
child: Text(TranslationBase.of(context).liveCareSupportContact, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.w600, letterSpacing: -0.48)),
),
Directionality(textDirection: TextDirection.ltr, child: Text("011 525 9553", style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.w600, letterSpacing: -0.48)))
],
),
// Row(
// children: [
// Container(
// padding: const EdgeInsets.all(5.0),
// child: Text(TranslationBase.of(context).liveCareSupportContact, style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.w600, letterSpacing: -0.48)),
// ),
// Directionality(textDirection: TextDirection.ltr, child: Text("011 525 9553", style: TextStyle(fontSize: 12.0, fontWeight: FontWeight.w600, letterSpacing: -0.48)))
// ],
// ),
mHeight(12.0),
Container(
child: DefaultButton(TranslationBase.of(context).callLiveCareSupport, () {

@ -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});
}

@ -57,8 +57,8 @@ class _PatientSickLeavePageState extends State<PatientSickLeavePage> {
subName: model.sickLeaveList[index].clinicName,
isSortByClinic: false,
isInOutPatient: model.sickLeaveList[index].isInOutPatient,
isSickLeave: true,
sickLeaveStatus: model.sickLeaveList[index].status,
// isSickLeave: true,
// sickLeaveStatus: model.sickLeaveList[index].status,
onEmailTap: () {
showConfirmMessage(model, index);
},
@ -69,13 +69,13 @@ class _PatientSickLeavePageState extends State<PatientSickLeavePage> {
}
void showConfirmMessage(PatientSickLeaveViewMode model, int index) {
if (model.sickLeaveList[index].status == 1) {
openWorkPlaceUpdatePage(model.sickLeaveList[index].requestNo, model.sickLeaveList[index].setupID, model, index, model.sickLeaveList[index].projectID);
} else if (model.sickLeaveList[index].status == 2) {
// if (model.sickLeaveList[index].status == 1) {
// openWorkPlaceUpdatePage(model.sickLeaveList[index].requestNo, model.sickLeaveList[index].setupID, model, index, model.sickLeaveList[index].projectID);
// } else if (model.sickLeaveList[index].status == 2) {
showEmailDialog(model, index);
} else {
showApprovalDialog();
}
// } else {
// showApprovalDialog();
// }
}
void showApprovalDialog() {

@ -303,6 +303,10 @@ class PushNotificationHandler {
onToken(token);
});
FirebaseMessaging.instance.getAPNSToken().then((value) {
print("Push APNS getToken: " + value);
});
FirebaseMessaging.onBackgroundMessage(backgroundMessageHandler);
}

@ -37,9 +37,9 @@ class MyInAppBrowser extends InAppBrowser {
// static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL LIVE
static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL UAT
static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT
// static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT
// static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE
static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE
// static String SERVICE_URL = 'https://uat.hmgwebservices.com/payfortforvidaplus/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL UAT VIDA PLUS

@ -1,7 +1,7 @@
name: diplomaticquarterapp
description: A new Flutter application.
version: 4.5.62+1
version: 4.5.63+1
environment:
sdk: ">=2.7.0 <3.0.0"

Loading…
Cancel
Save