diff --git a/lib/config/config.dart b/lib/config/config.dart index ca1ed829..1fcad6ba 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -175,6 +175,8 @@ const CHECK_PAYMENT_STATUS = //URL create advance payment const CREATE_ADVANCE_PAYMENT = "Services/Doctors.svc/REST/CreateAdvancePayment"; +const HIS_CREATE_ADVANCE_PAYMENT = "Services/Patients.svc/REST/HIS_CreateAdvancePayment"; + const ADD_ADVANCE_NUMBER_REQUEST = 'Services/PayFort_Serv.svc/REST/AddAdvancedNumberRequest'; @@ -235,6 +237,7 @@ const SESSION_ID = 'TMRhVmkGhOsvamErw'; const IS_DENTAL_ALLOWED_BACKEND = false; const PATIENT_TYPE = 1; const PATIENT_TYPE_ID = 1; +var DEVICE_TOKEN = ""; var DeviceTypeID = Platform.isIOS ? 1 : 2; const LANGUAGE_ID = 2; const GET_PHARMCY_ITEMS = "Services/Lists.svc/REST/GetPharmcyItems_Region"; diff --git a/lib/core/model/my_balance/AdvanceModel.dart b/lib/core/model/my_balance/AdvanceModel.dart index b95e08a2..d2792990 100644 --- a/lib/core/model/my_balance/AdvanceModel.dart +++ b/lib/core/model/my_balance/AdvanceModel.dart @@ -8,6 +8,9 @@ class AdvanceModel { String email; String note; String depositorName; + String mobileNumber; + String patientName; + int projectID; CitiesModel citiessModel; AdvanceModel( @@ -17,5 +20,8 @@ class AdvanceModel { this.hospitalsModel, this.fileNumber, this.depositorName, + this.mobileNumber, + this.patientName, + this.projectID, this.citiessModel}); } diff --git a/lib/core/service/medical/my_balance_service.dart b/lib/core/service/medical/my_balance_service.dart index 27d5d602..383c37f1 100644 --- a/lib/core/service/medical/my_balance_service.dart +++ b/lib/core/service/medical/my_balance_service.dart @@ -2,10 +2,13 @@ import 'dart:convert'; import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_advance_balance_amount.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart'; +import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart'; +import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart'; import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordsByStatusReq.dart'; import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart'; @@ -21,6 +24,8 @@ class MyBalanceService extends BaseService { String logInTokenID; String verificationCode; + AuthenticatedUserObject authenticatedUserObject = locator(); + getPatientAdvanceBalanceAmount() async { hasError = false; super.error = ""; @@ -61,8 +66,8 @@ class MyBalanceService extends BaseService { super.error = ""; Map body = Map(); body['isDentalAllowedBackend'] = false; - body['MobileNo'] = user.mobileNumber; - body['ProjectID'] = user.projectID; + body['MobileNo'] = authenticatedUserObject.user.mobileNumber; + body['ProjectID'] = authenticatedUserObject.user.projectID; await baseAppClient.post(GET_PATIENT_INFO_BY_ID_AND_MOBILE_NUMBER, onSuccess: (response, statusCode) async { diff --git a/lib/core/viewModels/medical/my_balance_view_model.dart b/lib/core/viewModels/medical/my_balance_view_model.dart index b110edcb..af4e126e 100644 --- a/lib/core/viewModels/medical/my_balance_view_model.dart +++ b/lib/core/viewModels/medical/my_balance_view_model.dart @@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/blooddonation/blood_groub_details.dart'; import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart'; import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart'; +import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_advance_balance_amount.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart'; @@ -25,11 +26,15 @@ class MyBalanceViewModel extends BaseViewModel { _myBalanceService.patientAdvanceBalanceAmountList; //======================== - BloodDonationService _bloodDonationService =locator(); - List get CitiesModelList => _bloodDonationService.CitiesModelList; - BloodDetailsService _bloodDetailsService =locator(); - List get BloodDetailsModelList => _bloodDetailsService.BloodModelList;//_bloodDonationService.CitiesModelList; + BloodDonationService _bloodDonationService = locator(); + List get CitiesModelList => + _bloodDonationService.CitiesModelList; + BloodDetailsService _bloodDetailsService = locator(); + + List get BloodDetailsModelList => + _bloodDetailsService + .BloodModelList; //_bloodDonationService.CitiesModelList; //=========================== @@ -44,8 +49,8 @@ class MyBalanceViewModel extends BaseViewModel { PatientInfoAndMobileNumber get patientInfoAndMobileNumber => _myBalanceService.patientInfoAndMobileNumber; - String get logInTokenID => _myBalanceService.logInTokenID; + String get verificationCode => _myBalanceService.verificationCode; getPatientAdvanceBalanceAmount() async { @@ -68,6 +73,7 @@ class MyBalanceViewModel extends BaseViewModel { } else setState(ViewState.Idle); } + //============== Future getCities() async { setState(ViewState.Busy); @@ -79,9 +85,11 @@ class MyBalanceViewModel extends BaseViewModel { } else setState(ViewState.Idle); } + Future getBlood() async { setState(ViewState.Busy); - await _bloodDetailsService .getAllBloodOrders();; + await _bloodDetailsService.getAllBloodOrders(); + ; if (_bloodDetailsService.hasError) { error = _bloodDetailsService.error; @@ -89,6 +97,7 @@ class MyBalanceViewModel extends BaseViewModel { } else setState(ViewState.Idle); } + //=============== Future getPatientInfoByPatientID({String id}) async { @@ -105,7 +114,8 @@ class MyBalanceViewModel extends BaseViewModel { Future getPatientInfoByPatientIDAndMobileNumber() async { setState(ViewState.Busy); - await _myBalanceService.getPatientInfoByPatientIDAndMobileNumber(); + await _myBalanceService + .getPatientInfoByPatientIDAndMobileNumber(); if (_myBalanceService.hasError) { error = _myBalanceService.error; setState(ViewState.ErrorLocal); @@ -115,9 +125,11 @@ class MyBalanceViewModel extends BaseViewModel { } } - Future sendActivationCodeForAdvancePayment({int patientID,int projectID}) async { + Future sendActivationCodeForAdvancePayment( + {int patientID, int projectID}) async { setState(ViewState.Busy); - await _myBalanceService.sendActivationCodeForAdvancePayment(patientID: patientID,projectID: projectID); + await _myBalanceService.sendActivationCodeForAdvancePayment( + patientID: patientID, projectID: projectID); if (_myBalanceService.hasError) { error = _myBalanceService.error; setState(ViewState.ErrorLocal); @@ -126,9 +138,12 @@ class MyBalanceViewModel extends BaseViewModel { setState(ViewState.Idle); } } - Future checkActivationCodeForAdvancePayment({String activationCode}) async { + + Future checkActivationCodeForAdvancePayment( + {String activationCode, String patientMobileNumber}) async { setState(ViewState.Busy); - await _myBalanceService.checkActivationCodeForAdvancePayment(activationCode: activationCode); + await _myBalanceService.checkActivationCodeForAdvancePayment( + activationCode: activationCode); if (_myBalanceService.hasError) { error = _myBalanceService.error; setState(ViewState.ErrorLocal); diff --git a/lib/models/Appointments/toDoCountProviderModel.dart b/lib/models/Appointments/toDoCountProviderModel.dart index 5c74cfb5..0fd83491 100644 --- a/lib/models/Appointments/toDoCountProviderModel.dart +++ b/lib/models/Appointments/toDoCountProviderModel.dart @@ -3,7 +3,7 @@ import 'package:flutter/cupertino.dart'; class ToDoCountProviderModel with ChangeNotifier { int _count; - int get count => _count; + int get count => _count == null ? 0 : _count; void setState(int count) { _count = count; diff --git a/lib/pages/Blood/confirm_payment_page.dart b/lib/pages/Blood/confirm_payment_page.dart index cc5df0a6..3d9fccb2 100644 --- a/lib/pages/Blood/confirm_payment_page.dart +++ b/lib/pages/Blood/confirm_payment_page.dart @@ -269,7 +269,7 @@ class ConfirmPaymentPage extends StatelessWidget { DoctorsListService service = new DoctorsListService(); String paymentReference = res['Fort_id'].toString(); service - .createAdvancePayment(appo, res['Amount'], res['Fort_id'], + .createAdvancePayment(appo, appo.projectID.toString(), res['Amount'], res['Fort_id'], res['PaymentMethod'], AppGlobal.context) .then((res) { print(res['OnlineCheckInAppointments'][0]['AdvanceNumber']); diff --git a/lib/pages/BookAppointment/BookConfirm.dart b/lib/pages/BookAppointment/BookConfirm.dart index 144fc2a1..fa69d913 100644 --- a/lib/pages/BookAppointment/BookConfirm.dart +++ b/lib/pages/BookAppointment/BookConfirm.dart @@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResu import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart'; import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; +import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; @@ -101,7 +102,7 @@ class _BookConfirmState extends State { fit: BoxFit.fill, height: 70.0, width: 70.0), ), Container( - width: MediaQuery.of(context).size.width * 0.6, + width: MediaQuery.of(context).size.width * 0.58, margin: EdgeInsets.fromLTRB(20.0, 5.0, 10.0, 5.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -303,7 +304,7 @@ class _BookConfirmState extends State { width: 60.0), ), Container( - width: MediaQuery.of(context).size.width * 0.6, + width: MediaQuery.of(context).size.width * 0.58, margin: EdgeInsets.fromLTRB(10.0, 5.0, 10.0, 5.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, @@ -513,6 +514,9 @@ class _BookConfirmState extends State { widget.patientShareResponse = new PatientShareResponse.fromJson(res); navigateToBookSuccess(context, docObject, widget.patientShareResponse); }).catchError((err) { + GifLoaderDialogUtils.hideDialog(context); + AppToast.showErrorToast(message: err); + navigateToHome(context); print(err); }); } @@ -528,6 +532,9 @@ class _BookConfirmState extends State { widget.patientShareResponse = new PatientShareResponse.fromJson(res); navigateToBookSuccess(context, docObject, widget.patientShareResponse); }).catchError((err) { + GifLoaderDialogUtils.hideDialog(context); + AppToast.showErrorToast(message: err); + navigateToHome(context); print(err); }); } @@ -584,6 +591,10 @@ class _BookConfirmState extends State { } } + Future navigateToHome(context) async { + Navigator.of(context).popAndPushNamed(HOME); + } + Future navigateToBookSuccess(context, DoctorList docObject, PatientShareResponse patientShareResponse) async { GifLoaderDialogUtils.hideDialog(context); diff --git a/lib/pages/BookAppointment/BookSuccess.dart b/lib/pages/BookAppointment/BookSuccess.dart index 85aae542..9636d236 100644 --- a/lib/pages/BookAppointment/BookSuccess.dart +++ b/lib/pages/BookAppointment/BookSuccess.dart @@ -12,6 +12,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:smart_progress_bar/smart_progress_bar.dart'; import 'QRCode.dart'; @@ -21,6 +22,8 @@ class BookSuccess extends StatefulWidget { DoctorList docObject; MyInAppBrowser browser; + final ChromeSafariBrowser chromeBrowser = + new MyChromeSafariBrowser(new MyInAppBrowser()); String appoDateFormatted; String appoTimeFormatted; @@ -78,12 +81,14 @@ class _BookSuccessState extends State { width: 80.0), ), Container( + width: MediaQuery.of(context).size.width * 0.62, margin: EdgeInsets.fromLTRB(10.0, 5.0, 10.0, 5.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisSize: MainAxisSize.max, children: [ Text(widget.docObject.projectName, + overflow: TextOverflow.clip, style: _getTextStyling()), Container( margin: EdgeInsets.only(top: 5.0), @@ -93,6 +98,7 @@ class _BookSuccessState extends State { Container( margin: EdgeInsets.only(top: 5.0, bottom: 3.0), child: Text(widget.docObject.clinicName, + overflow: TextOverflow.clip, style: _getTextStyling()), ), Container( @@ -101,6 +107,7 @@ class _BookSuccessState extends State { widget.appoDateFormatted + ", " + widget.appoTimeFormatted, + overflow: TextOverflow.clip, style: _getTextStyling()), ), Container( @@ -110,7 +117,7 @@ class _BookSuccessState extends State { widget.docObject.doctorTitle + " " + widget.docObject.name, - overflow: TextOverflow.ellipsis, + overflow: TextOverflow.clip, style: _getTextStyling()), ), ], @@ -295,7 +302,8 @@ class _BookSuccessState extends State { appo.appointmentNo = widget.patientShareResponse.appointmentNo; appo.serviceID = widget.patientShareResponse.serviceID; - appo.isLiveCareAppointment = widget.patientShareResponse.isLiveCareAppointment; + appo.isLiveCareAppointment = + widget.patientShareResponse.isLiveCareAppointment; appo.doctorID = widget.patientShareResponse.doctorID; confirmAppointment(appo); }, @@ -341,8 +349,8 @@ class _BookSuccessState extends State { confirmAppointment(AppoitmentAllHistoryResultList appo) { DoctorsListService service = new DoctorsListService(); service - .confirmAppointment( - appo.appointmentNo, appo.clinicID, appo.projectID, appo.isLiveCareAppointment, context) + .confirmAppointment(appo.appointmentNo, appo.clinicID, appo.projectID, + appo.isLiveCareAppointment, context) .then((res) { if (res['MessageStatus'] == 1) { AppToast.showSuccessToast(message: res['ErrorEndUserMessage']); @@ -542,22 +550,31 @@ class _BookSuccessState extends State { AuthenticatedUser authenticatedUser, double amount, PatientShareResponse patientShareResponse, - AppoitmentAllHistoryResultList appo) { - widget.browser = new MyInAppBrowser( - onExitCallback: onBrowserExit, - appo: appo, - onLoadStartCallback: onBrowserLoadStart); - - widget.browser.openPaymentBrowser( - amount, - "Appointment check in", - Utils.getAppointmentTransID( - appo.projectID, appo.clinicID, appo.appointmentNo), - appo.projectID.toString(), - authenticatedUser.emailAddress, - paymentMethod, - authenticatedUser, - widget.browser); + AppoitmentAllHistoryResultList appo) async { + if (paymentMethod == "ApplePay") { + await widget.chromeBrowser.open( + url: "https://flutter.dev/", + options: ChromeSafariBrowserClassOptions( + android: AndroidChromeCustomTabsOptions( + addDefaultShareMenuItem: false), + ios: IOSSafariOptions(barCollapsingEnabled: true))); + } else { + widget.browser = new MyInAppBrowser( + onExitCallback: onBrowserExit, + appo: appo, + onLoadStartCallback: onBrowserLoadStart); + + widget.browser.openPaymentBrowser( + amount, + "Appointment check in", + Utils.getAppointmentTransID( + appo.projectID, appo.clinicID, appo.appointmentNo), + appo.projectID.toString(), + authenticatedUser.emailAddress, + paymentMethod, + authenticatedUser, + widget.browser); + } } onBrowserLoadStart(String url) { @@ -608,12 +625,34 @@ class _BookSuccessState extends State { text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)); } + getApplePayAPQ(AppoitmentAllHistoryResultList appo) { + DoctorsListService service = new DoctorsListService(); + service + .checkPaymentStatus( + Utils.getAppointmentTransID( + appo.projectID, appo.clinicID, appo.appointmentNo), + context) + .then((res) { + print("Printing Payment Status Reponse!!!!"); + print(res); + String paymentInfo = res['Response_Message']; + if (paymentInfo == 'Success') { + createAdvancePayment(res, appo); + } else { + AppToast.showErrorToast(message: res['Response_Message']); + } + }).catchError((err) { + print(err); + }).showProgressBar( + text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)); + } + createAdvancePayment(res, AppoitmentAllHistoryResultList appo) { DoctorsListService service = new DoctorsListService(); String paymentReference = res['Fort_id'].toString(); service .createAdvancePayment( - appo, res['Amount'], res['Fort_id'], res['PaymentMethod'], context) + appo, appo.projectID.toString(), res['Amount'], res['Fort_id'], res['PaymentMethod'], context) .then((res) { print(res['OnlineCheckInAppointments'][0]['AdvanceNumber']); addAdvancedNumberRequest( diff --git a/lib/pages/BookAppointment/QRCode.dart b/lib/pages/BookAppointment/QRCode.dart index c632a26e..fb60638d 100644 --- a/lib/pages/BookAppointment/QRCode.dart +++ b/lib/pages/BookAppointment/QRCode.dart @@ -252,7 +252,9 @@ class _QRCodeState extends State { ConfirmDialog.closeAlertDialog(context); AppToast.showErrorToast(message: err); print(err); - }).showProgressBar(text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)); + }).showProgressBar( + text: "Loading", + backgroundColor: Colors.blue.withOpacity(0.6)); }, cancelFunction: () => {}); dialog.showAlertDialog(context); @@ -290,9 +292,11 @@ class _QRCodeState extends State { String getDoctorSpeciality(List docSpecial) { String docSpeciality = ""; - docSpecial.forEach((v) { - docSpeciality = docSpeciality + v + "\n"; - }); + if (docSpecial != null && docSpecial.length != 0) { + docSpecial.forEach((v) { + docSpeciality = docSpeciality + v + "\n"; + }); + } return docSpeciality; } } diff --git a/lib/pages/BookAppointment/components/DocAvailableAppointments.dart b/lib/pages/BookAppointment/components/DocAvailableAppointments.dart index 2d857bc9..8d0cc84d 100644 --- a/lib/pages/BookAppointment/components/DocAvailableAppointments.dart +++ b/lib/pages/BookAppointment/components/DocAvailableAppointments.dart @@ -235,7 +235,7 @@ class _DocAvailableAppointmentsState extends State return children; }, ), - onDaySelected: (date, events,holidays) { + onDaySelected: (date, events, holidays) { _onDaySelected(date, events); _animationController.forward(from: 0.0); }, diff --git a/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart b/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart index 8310528d..1e1fc444 100644 --- a/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart +++ b/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart @@ -348,7 +348,7 @@ class _CovidTimeSlotsState extends State return children; }, ), - onDaySelected: (date, event,holidays) { + onDaySelected: (date, event, holidays) { _onDaySelected( date, event, diff --git a/lib/pages/MyAppointments/MyAppointments.dart b/lib/pages/MyAppointments/MyAppointments.dart index 129450ea..454abb4d 100644 --- a/lib/pages/MyAppointments/MyAppointments.dart +++ b/lib/pages/MyAppointments/MyAppointments.dart @@ -1,8 +1,11 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; +import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/pages/MyAppointments/models/AppointmentType.dart'; import 'package:diplomaticquarterapp/pages/MyAppointments/widgets/AppointmentCardView.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; +import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; @@ -33,12 +36,14 @@ class _MyAppointmentsState extends State bool isDataLoaded = false; var sharedPref = new AppSharedPreferences(); + AuthenticatedUserObject authenticatedUserObject = locator(); @override void initState() { _tabController = new TabController(length: 3, vsync: this); - WidgetsBinding.instance - .addPostFrameCallback((_) => getPatientAppointmentHistory()); + WidgetsBinding.instance.addPostFrameCallback((_) { + if (authenticatedUserObject.isLogin) getPatientAppointmentHistory(); + }); super.initState(); } @@ -84,6 +89,11 @@ class _MyAppointmentsState extends State widget.bookedAppoList.clear(); widget.confirmedAppoList.clear(); widget.arrivedAppoList.clear(); + + widget._patientBookedAppointmentListHospital.clear(); + widget._patientConfirmedAppointmentListHospital.clear(); + widget._patientArrivedAppointmentListHospital.clear(); + service.getPatientAppointmentHistory(false, context).then((res) { print(res['AppoimentAllHistoryResultList'].length); if (res['MessageStatus'] == 1) { diff --git a/lib/pages/ToDoList/ToDo.dart b/lib/pages/ToDoList/ToDo.dart index bbaa7260..1e82e3df 100644 --- a/lib/pages/ToDoList/ToDo.dart +++ b/lib/pages/ToDoList/ToDo.dart @@ -1,4 +1,6 @@ import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; +import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; @@ -7,7 +9,6 @@ import 'package:diplomaticquarterapp/pages/MyAppointments/AppointmentDetails.dar import 'package:diplomaticquarterapp/pages/ToDoList/payment_method_select.dart'; import 'package:diplomaticquarterapp/pages/ToDoList/widgets/paymentDialog.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; -import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; @@ -34,13 +35,15 @@ class _ToDoState extends State { AppSharedPreferences sharedPref = AppSharedPreferences(); AuthenticatedUser authUser; - AuthProvider authProvider = new AuthProvider(); + AuthenticatedUserObject authenticatedUserObject = + locator(); @override void initState() { widget.patientShareResponse = new PatientShareResponse(); - WidgetsBinding.instance - .addPostFrameCallback((_) => getPatientAppointmentHistory()); + WidgetsBinding.instance.addPostFrameCallback((_) { + if (authenticatedUserObject.isLogin) getPatientAppointmentHistory(); + }); super.initState(); } @@ -511,6 +514,7 @@ class _ToDoState extends State { openPaymentDialog(appo, widget.patientShareResponse); }).catchError((err) { GifLoaderDialogUtils.hideDialog(context); + AppToast.showErrorToast(message: err); print(err); }); } @@ -660,7 +664,7 @@ class _ToDoState extends State { String paymentReference = res['Fort_id'].toString(); service .createAdvancePayment( - appo, res['Amount'], res['Fort_id'], res['PaymentMethod'], context) + appo, appo.projectID.toString(), res['Amount'], res['Fort_id'], res['PaymentMethod'], context) .then((res) { GifLoaderDialogUtils.hideDialog(context); print(res['OnlineCheckInAppointments'][0]['AdvanceNumber']); diff --git a/lib/pages/ToDoList/payment_method_select.dart b/lib/pages/ToDoList/payment_method_select.dart index a6936083..a189128a 100644 --- a/lib/pages/ToDoList/payment_method_select.dart +++ b/lib/pages/ToDoList/payment_method_select.dart @@ -1,6 +1,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; class PaymentMethod extends StatefulWidget { @override @@ -93,35 +94,6 @@ class _PaymentMethodState extends State { ), ), ), -// Expanded( -// child: Container( -// child: InkWell( -// onTap: () { -// updateSelectedPaymentMethod("SADAD"); -// }, -// child: Card( -// elevation: 3.0, -// margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), -// color: Colors.white, -// shape: RoundedRectangleBorder( -// borderRadius: BorderRadius.circular(10), -// side: selectedPaymentMethod == "SADAD" -// ? BorderSide( -// color: Colors.green, width: 5.0) -// : BorderSide( -// color: Colors.transparent, width: 0.0), -// ), -// child: Container( -// height: 120.0, -// padding: EdgeInsets.all(7.0), -// width: MediaQuery.of(context).size.width * 0.45, -// child: Image.asset( -// "assets/images/new-design/sadad.png"), -// ), -// ), -// ), -// ), -// ), ], ), ), @@ -195,9 +167,44 @@ class _PaymentMethodState extends State { margin: EdgeInsets.only(top: 25.0), child: Flex( direction: Axis.horizontal, - children: [], + children: [ + Expanded( + child: Container( + child: InkWell( + onTap: () { + updateSelectedPaymentMethod("ApplePay"); + }, + child: Card( + elevation: 3.0, + margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0), + color: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + side: selectedPaymentMethod == "ApplePay" + ? BorderSide( + color: Colors.green, width: 5.0) + : BorderSide( + color: Colors.transparent, width: 0.0), + ), + child: Container( + height: 120.0, + padding: EdgeInsets.all(20.0), + child: SvgPicture.asset( + "assets/images/new-design/applepay.svg"), + ), + ), + ), + ), + ), + Expanded( + child: Container(), + ), + ], ), ), + SizedBox( + height: 150.0, + ), ], ), ), diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart index 031ccdc3..609f6b2c 100644 --- a/lib/pages/landing/landing_page.dart +++ b/lib/pages/landing/landing_page.dart @@ -12,27 +12,21 @@ import 'package:diplomaticquarterapp/pages/BookAppointment/BookingOptions.dart'; import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart'; import 'package:diplomaticquarterapp/pages/livecare/incoming_call.dart'; import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart'; -import 'package:diplomaticquarterapp/pages/medical/my_admissions_page.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart'; import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart'; import 'package:diplomaticquarterapp/uitl/LocalNotification.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart'; -import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/floatingActionButton.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/drawer/app_drawer_widget.dart'; -import 'package:diplomaticquarterapp/widgets/transitions/slide_up_page.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; -import 'package:flutter_svg/svg.dart'; import 'package:permission_handler/permission_handler.dart'; -import 'package:provider/provider.dart'; -import 'package:rxdart/rxdart.dart'; import '../../locator.dart'; import 'home_page.dart'; @@ -144,6 +138,7 @@ class _LandingPageState extends State with WidgetsBindingObserver { _firebaseMessaging.getToken().then((String token) { sharedPref.setString(PUSH_TOKEN, token); if (token != null) { + DEVICE_TOKEN = token; checkUserStatus(token); } requestPermissions(); diff --git a/lib/pages/login/confirm-login.dart b/lib/pages/login/confirm-login.dart index 800939bb..2e1ba46b 100644 --- a/lib/pages/login/confirm-login.dart +++ b/lib/pages/login/confirm-login.dart @@ -299,6 +299,7 @@ class _ConfirmLogin extends State { authService .checkPatientAuthentication(request) .then((value) => { + GifLoaderDialogUtils.hideDialog(context), if (value['isSMSSent']) { sharedPref.setString(LOGIN_TOKEN_ID, value['LogInTokenID']), @@ -322,7 +323,6 @@ class _ConfirmLogin extends State { sendActivationCode(type) async { var request = this.getCommonRequest(); - // loading(true); GifLoaderDialogUtils.showMyDialog(context); await this.authService.sendActivationCode(request).then((result) { GifLoaderDialogUtils.hideDialog(context); @@ -332,8 +332,6 @@ class _ConfirmLogin extends State { }).catchError((r) { GifLoaderDialogUtils.hideDialog(context); }); - - // SMSOTP.showLoadingDialog(context, false), } startSMSService(type) { @@ -503,7 +501,6 @@ class _ConfirmLogin extends State { sharedPref.setObject(LOGIN_TOKEN_ID, result.logInTokenID), sharedPref.setString(TOKEN, result.authenticationTokenID), checkIfUserAgreedBefore(result), - } } else diff --git a/lib/pages/medical/balance/confirm_payment_page.dart b/lib/pages/medical/balance/confirm_payment_page.dart index 8847aaa1..dbc2537f 100644 --- a/lib/pages/medical/balance/confirm_payment_page.dart +++ b/lib/pages/medical/balance/confirm_payment_page.dart @@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; +import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; @@ -30,6 +31,7 @@ class ConfirmPaymentPage extends StatelessWidget { MyInAppBrowser browser; AuthenticatedUser authenticatedUser; AppSharedPreferences sharedPref = AppSharedPreferences(); + String transID = ""; ConfirmPaymentPage( {this.advanceModel, @@ -54,7 +56,7 @@ class ConfirmPaymentPage extends StatelessWidget { new AppoitmentAllHistoryResultList(); appo.projectID = patientInfoAndMobileNumber.projectID; openPayment(selectedPaymentMethod, authenticatedUser, - double.parse(advanceModel.amount), appo); + double.parse(advanceModel.amount), null); } }); } @@ -205,13 +207,15 @@ class ConfirmPaymentPage extends StatelessWidget { appo: appo, onLoadStartCallback: onBrowserLoadStart); + transID = Utils.getAdvancePaymentTransID( + advanceModel.hospitalsModel.iD, int.parse(advanceModel.fileNumber)); + browser.openPaymentBrowser( amount, "Advance Payment", - Utils.getAdvancePaymentTransID( - authenticatedUser.projectID, authenticatedUser.patientID), - appo.projectID.toString(), - authenticatedUser.emailAddress, + transID, + advanceModel.hospitalsModel.iD.toString(), + advanceModel.email, paymentMethod, authenticatedUser, browser); @@ -244,59 +248,64 @@ class ConfirmPaymentPage extends StatelessWidget { } checkPaymentStatus(AppoitmentAllHistoryResultList appo) { + GifLoaderDialogUtils.showMyDialog(AppGlobal.context); DoctorsListService service = new DoctorsListService(); - service - .checkPaymentStatus( - Utils.getAdvancePaymentTransID( - appo.projectID, authenticatedUser.patientID), - AppGlobal.context) - .then((res) { + service.checkPaymentStatus(transID, AppGlobal.context).then((res) { print("Printing Payment Status Reponse!!!!"); print(res); String paymentInfo = res['Response_Message']; if (paymentInfo == 'Success') { createAdvancePayment(res, appo); } else { + GifLoaderDialogUtils.hideDialog(AppGlobal.context); AppToast.showErrorToast(message: res['Response_Message']); } }).catchError((err) { + GifLoaderDialogUtils.hideDialog(AppGlobal.context); + AppToast.showErrorToast(message: err); print(err); - }).showProgressBar( - text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)); + }); } createAdvancePayment(res, AppoitmentAllHistoryResultList appo) { DoctorsListService service = new DoctorsListService(); String paymentReference = res['Fort_id'].toString(); - service - .createAdvancePayment(appo, res['Amount'], res['Fort_id'], - res['PaymentMethod'], AppGlobal.context) + service.HIS_createAdvancePayment( + appo, + advanceModel.hospitalsModel.iD.toString(), + res['Amount'], + res['Fort_id'], + res['PaymentMethod'], + AppGlobal.context) .then((res) { print(res['OnlineCheckInAppointments'][0]['AdvanceNumber']); addAdvancedNumberRequest( res['OnlineCheckInAppointments'][0]['AdvanceNumber'].toString(), paymentReference, - appo.appointmentNo.toString(), + 0, appo); }).catchError((err) { + GifLoaderDialogUtils.hideDialog(AppGlobal.context); + AppToast.showErrorToast(message: err); print(err); - }).showProgressBar( - text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)); + }); } addAdvancedNumberRequest(String advanceNumber, String paymentReference, - String appointmentID, AppoitmentAllHistoryResultList appo) { + dynamic appointmentID, AppoitmentAllHistoryResultList appo) { DoctorsListService service = new DoctorsListService(); service .addAdvancedNumberRequest( advanceNumber, paymentReference, appointmentID, AppGlobal.context) .then((res) { print(res); + GifLoaderDialogUtils.hideDialog(AppGlobal.context); navigateToHome(AppGlobal.context); }).catchError((err) { + GifLoaderDialogUtils.hideDialog(AppGlobal.context); + AppToast.showErrorToast(message: err); print(err); - }).showProgressBar( - text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)); + }); } Future navigateToHome(context) async { diff --git a/lib/pages/medical/balance/dialogs/ConfirmSMSDialog.dart b/lib/pages/medical/balance/dialogs/ConfirmSMSDialog.dart index 8dd2b29e..10d61f68 100644 --- a/lib/pages/medical/balance/dialogs/ConfirmSMSDialog.dart +++ b/lib/pages/medical/balance/dialogs/ConfirmSMSDialog.dart @@ -7,12 +7,12 @@ import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; +import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; -import 'package:smart_progress_bar/smart_progress_bar.dart'; class ConfirmSMSDialog extends StatefulWidget { final String phoneNumber; @@ -332,12 +332,11 @@ class _ConfirmSMSDialogState extends State { if (verifyAccountForm.currentState.validate()) { final activationCode = digit1.text + digit2.text + digit3.text + digit4.text; + GifLoaderDialogUtils.showMyDialog(AppGlobal.context); model .checkActivationCodeForAdvancePayment(activationCode: activationCode) - .then((value) {}) - .showProgressBar( - text: "Loading", backgroundColor: Colors.blue.withOpacity(0.6)) .then((value) { + GifLoaderDialogUtils.hideDialog(AppGlobal.context); Navigator.pop(context, true); }); } diff --git a/lib/services/appointment_services/GetDoctorsList.dart b/lib/services/appointment_services/GetDoctorsList.dart index 39117783..bc100df3 100644 --- a/lib/services/appointment_services/GetDoctorsList.dart +++ b/lib/services/appointment_services/GetDoctorsList.dart @@ -6,7 +6,6 @@ import 'package:diplomaticquarterapp/core/service/base_service.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/PatientShareResposne.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; -import 'package:diplomaticquarterapp/models/LiveCare/insertVIDARequest.dart'; import 'package:diplomaticquarterapp/models/Request.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; @@ -813,7 +812,7 @@ class DoctorsListService extends BaseService { Future addAdvancedNumberRequest( String advanceNumber, String paymentReference, - String appointmentID, + dynamic appointmentID, BuildContext context) async { Map request; if (await this.sharedPref.getObject(USER_PROFILE) != null) { @@ -1109,6 +1108,7 @@ class DoctorsListService extends BaseService { Future createAdvancePayment( AppoitmentAllHistoryResultList appo, + String projectID, double payedAmount, String paymentReference, String paymentMethodName, @@ -1122,9 +1122,9 @@ class DoctorsListService extends BaseService { var languageID = await sharedPref.getString(APP_LANGUAGE); Request req = appGlobal.getPublicRequest(); request = { - "ProjectID": appo.projectID.toString(), + "ProjectID": projectID, "OnlineCheckInAppointment": { - "AppointmentNo": appo.appointmentNo.toString(), + "AppointmentNo": appo != null ? appo.appointmentNo.toString() : "0", "PaymentMethodName": paymentMethodName, "PaymentAmount": payedAmount == 0 ? "0" : payedAmount.toString(), "PaymentDate": payedAmount == 0 @@ -1133,9 +1133,9 @@ class DoctorsListService extends BaseService { DateTime.now().millisecondsSinceEpoch.toString() + ")/", "PaymentReferenceNumber": payedAmount == 0 ? "" : paymentReference, - "ProjectID": appo.projectID.toString(), + "ProjectID": appo != null ? appo.projectID.toString() : projectID, "PatientID": authUser.patientID, - "ClinicID": appo.clinicID, + "ClinicID": appo != null ? appo.clinicID : "0", "UserID": authUser.patientID, "Status": authUser.patientType }, @@ -1161,4 +1161,56 @@ class DoctorsListService extends BaseService { }, body: request); return Future.value(localRes); } + + Future HIS_createAdvancePayment( + AppoitmentAllHistoryResultList appo, + String projectID, + double payedAmount, + String paymentReference, + String paymentMethodName, + BuildContext context) async { + Map request; + if (await this.sharedPref.getObject(USER_PROFILE) != null) { + var data = AuthenticatedUser.fromJson( + await this.sharedPref.getObject(USER_PROFILE)); + authUser = data; + } + var languageID = await sharedPref.getString(APP_LANGUAGE); + Request req = appGlobal.getPublicRequest(); + + request = { + "CustName": authUser.firstName + " " + authUser.lastName, + "CustID": authUser.patientID, + "SetupID": "010266", + "ProjectID": projectID, + "PatientID": authUser.patientID, + "AccountID": authUser.patientID, + "PaymentAmount": payedAmount, + "NationalityID": null, + "DepositorName": authUser.firstName + " " + authUser.lastName, + "CreatedBy": 3, + "PaymentMethodName": paymentMethodName, + "PaymentReference": paymentReference, + "PaymentMethod": paymentMethodName, + "VersionID": req.VersionID, + "Channel": req.Channel, + "LanguageID": languageID == 'ar' ? 1 : 2, + "IPAdress": req.IPAdress, + "generalid": req.generalid, + "PatientOutSA": authUser.outSA, + "SessionID": "YckwoXhUmWBsnHKEKig", + "isDentalAllowedBackend": false, + "TokenID": "@dm!n", + "PatientTypeID": authUser.patientType, + "PatientType": authUser.patientType + }; + dynamic localRes; + await baseAppClient.post(HIS_CREATE_ADVANCE_PAYMENT, + onSuccess: (response, statusCode) async { + localRes = response; + }, onFailure: (String error, int statusCode) { + throw error; + }, body: request); + return Future.value(localRes); + } } diff --git a/lib/services/clinic_services/get_clinic_service.dart b/lib/services/clinic_services/get_clinic_service.dart index a508b08b..babef434 100644 --- a/lib/services/clinic_services/get_clinic_service.dart +++ b/lib/services/clinic_services/get_clinic_service.dart @@ -58,6 +58,8 @@ class ClinicListService extends BaseService { "TokenID": "", "IsActiveAppointment": true, "DeviceTypeID": req.DeviceTypeID, + "PatientType": user.patientType, + "PatientTypeID": user.patientType, "SessionID": null }; diff --git a/lib/widgets/bottom_navigation/bottom_navigation_item.dart b/lib/widgets/bottom_navigation/bottom_navigation_item.dart index f491917c..b1c565f6 100644 --- a/lib/widgets/bottom_navigation/bottom_navigation_item.dart +++ b/lib/widgets/bottom_navigation/bottom_navigation_item.dart @@ -1,4 +1,6 @@ import 'package:badges/badges.dart'; +import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; +import 'package:diplomaticquarterapp/locator.dart'; import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; @@ -14,7 +16,7 @@ class BottomNavigationItem extends StatelessWidget { final int currentIndex; final String name; - var authProvider = new AuthProvider(); + AuthenticatedUserObject authenticatedUserObject = locator(); BottomNavigationItem( {this.icon, @@ -64,7 +66,7 @@ class BottomNavigationItem extends StatelessWidget { ), ], ) - : authProvider.isLogin + : authenticatedUserObject.isLogin ? Stack( alignment: AlignmentDirectional.center, children: [ diff --git a/lib/widgets/in_app_browser/InAppBrowser.dart b/lib/widgets/in_app_browser/InAppBrowser.dart index 6722971d..8ca40730 100644 --- a/lib/widgets/in_app_browser/InAppBrowser.dart +++ b/lib/widgets/in_app_browser/InAppBrowser.dart @@ -1,6 +1,8 @@ import 'dart:convert'; +import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; +import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; @@ -38,6 +40,8 @@ class MyInAppBrowser extends InAppBrowser { AuthenticatedUser authUser; AppoitmentAllHistoryResultList appo; + String deviceToken; + static bool isPaymentDone = false; MyInAppBrowser({this.onExitCallback, this.appo, this.onLoadStartCallback}); @@ -83,9 +87,9 @@ class MyInAppBrowser extends InAppBrowser { return await sharedPref.getString(APP_LANGUAGE); } - Future getDeviceToken() async { + getDeviceToken() async { String deviceToken = await sharedPref.getString(PUSH_TOKEN); - return deviceToken; + this.deviceToken = deviceToken; } getPatientData() async { @@ -97,15 +101,15 @@ class MyInAppBrowser extends InAppBrowser { } openPaymentBrowser( - double amount, - String orderDesc, - String transactionID, - String projId, - String emailId, - String paymentMethod, - AuthenticatedUser authenticatedUser, - InAppBrowser browser, - ) { + double amount, + String orderDesc, + String transactionID, + String projId, + String emailId, + String paymentMethod, + AuthenticatedUser authenticatedUser, + InAppBrowser browser) { + getDeviceToken(); this.browser = browser; this.browser.openUrl( url: generateURL(amount, orderDesc, transactionID, projId, emailId, @@ -131,12 +135,6 @@ class MyInAppBrowser extends InAppBrowser { getPatientData(); String currentLanguageID = getLanguageID() == 'ar' ? 'AR' : 'EN'; String form = getForm(); - String deviceToken; - - getDeviceToken().then((value) { - print(value); - deviceToken = value; - }); if (authUser != null) { form = form.replaceFirst("EMAIL_VALUE", authUser.emailAddress); @@ -153,21 +151,13 @@ class MyInAppBrowser extends InAppBrowser { form = form.replaceFirst('LANG_VALUE', currentLanguageID); form = form.replaceFirst('PATIENT_OUT_SA', authUser.outSA == 0 ? false.toString() : true.toString()); - form = form.replaceFirst( - 'PATIENT_TYPE_ID', - patientData == null - ? authUser.patientType.toString() - : patientData.PatientType); + form = form.replaceFirst('PATIENT_TYPE_ID', + patientData == null ? authUser.patientType.toString() : "1"); // form = form.replaceFirst('DEVICE_TOKEN', this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false) + "," + this.cs.sharedService.getSharedData(AuthenticationService.APNS_TOKEN, false)); // form = form.replaceFirst('LATITUDE_VALUE', this.cs.sharedService.getSharedData('userLat', false)); // form = form.replaceFirst('LONGITUDE_VALUE', this.cs.sharedService.getSharedData('userLong', false)); - form = form.replaceFirst('LATITUDE_VALUE', "24.708488"); - form = form.replaceFirst('LONGITUDE_VALUE', "46.665925"); - form = form.replaceFirst('DEVICE_TOKEN', - "e8wKxa4EGK8:APA91bGtygxh5E22pSARVKlngyi0iQbyRUvvUWiCIsaAcbE0hiffhUR094WVx22O5bsvwc706LspzIuJthUyK_748jzuaedD-ZwDm9BX_yyYV2K2YnuFBlHQ9pOKy65RfoprtvqyTN1O"); - if (servID == "4") form = form.replaceFirst( 'SERVICE_URL_VALUE', MyInAppBrowser.PREAUTH_SERVICE_URL); @@ -186,10 +176,14 @@ class MyInAppBrowser extends InAppBrowser { form = form.replaceFirst('CUSTNAME_VALUE', authUser.firstName); form = form.replaceFirst('CUSTID_VALUE', authUser.patientID.toString()); } else { - form = form.replaceFirst('CUSTNAME_VALUE', patientData.FirstName); - form = form.replaceFirst('CUSTID_VALUE', patientData.PatientID); + form = form.replaceFirst('CUSTNAME_VALUE', patientData.depositorName); + form = form.replaceFirst('CUSTID_VALUE', patientData.fileNumber); } + form = form.replaceFirst('LATITUDE_VALUE', "24.708488"); + form = form.replaceFirst('LONGITUDE_VALUE', "46.665925"); + form = form.replaceFirst('DEVICE_TOKEN', DEVICE_TOKEN); + var bytes = utf8.encode(form); var base64Str = base64.encode(bytes); print(form); @@ -229,3 +223,22 @@ class MyInAppBrowser extends InAppBrowser { ''; } } + +class MyChromeSafariBrowser extends ChromeSafariBrowser { + MyChromeSafariBrowser(browserFallback) : super(bFallback: browserFallback); + + @override + void onOpened() { + print("ChromeSafari browser opened"); + } + + @override + void onCompletedInitialLoad() { + print("ChromeSafari browser initial load completed"); + } + + @override + void onClosed() { + print("ChromeSafari browser closed"); + } +}