From 9a7d0af6ead10ab0a4de569f2c50b3ce2ac6fbe9 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 1 May 2023 15:47:39 +0300 Subject: [PATCH] InPatient API implemented --- lib/core/viewModels/project_view_model.dart | 6 +++++ .../fragments/home_page_fragment2.dart | 6 ++--- lib/pages/login/confirm-login.dart | 18 +++++++++++++ .../clinic_services/get_clinic_service.dart | 26 ++++++++++++------- 4 files changed, 43 insertions(+), 13 deletions(-) diff --git a/lib/core/viewModels/project_view_model.dart b/lib/core/viewModels/project_view_model.dart index a536d527..410a862a 100644 --- a/lib/core/viewModels/project_view_model.dart +++ b/lib/core/viewModels/project_view_model.dart @@ -34,6 +34,7 @@ class ProjectViewModel extends BaseViewModel { dynamic searchvalue; bool isLogin = false; int laserSelectionDuration; + bool isPatientAdmitted = false; double _latitude; double _longitude; @@ -110,6 +111,11 @@ class ProjectViewModel extends BaseViewModel { notifyListeners(); } + setIsPatientAdmitted(bool isAdmitted) { + this.isPatientAdmitted = isAdmitted; + notifyListeners(); + } + setPrivilegeModelList({List privilege}) { this.isLoginChild = isLoginChild; privilegeRootUser = privilege; diff --git a/lib/pages/landing/fragments/home_page_fragment2.dart b/lib/pages/landing/fragments/home_page_fragment2.dart index 535bd38e..41bd0f9b 100644 --- a/lib/pages/landing/fragments/home_page_fragment2.dart +++ b/lib/pages/landing/fragments/home_page_fragment2.dart @@ -41,7 +41,7 @@ class _HomePageFragment2State extends State { List appoList = []; ApplePayResponse applePayResponse; - bool isPatientAdmitted = true; + // bool isPatientAdmitted = true; @override void initState() { @@ -79,7 +79,7 @@ class _HomePageFragment2State extends State { Widget build(BuildContext context) { projectViewModel = Provider.of(context); - if (isPatientAdmitted) { + if (projectViewModel.isPatientAdmitted) { initialiseInPatientHmgServices(false); } else { initialiseHmgServices(false); @@ -275,7 +275,7 @@ class _HomePageFragment2State extends State { ], ), ), - isPatientAdmitted + projectViewModel.isPatientAdmitted ? Column( children: [ Padding( diff --git a/lib/pages/login/confirm-login.dart b/lib/pages/login/confirm-login.dart index 1fd3bbda..7d2632e7 100644 --- a/lib/pages/login/confirm-login.dart +++ b/lib/pages/login/confirm-login.dart @@ -660,10 +660,28 @@ class _ConfirmLogin extends State { if (result.isNeedUserAgreement == true) { //move to agreement page. } else { + checkIfIsInPatient(); goToHome(); } } + checkIfIsInPatient() { + ClinicListService service = new ClinicListService(); + service.checkIfInPatientAPI(context).then((res) { + if (res['MessageStatus'] == 1) { + if (res['List_PatientAdmissionInfo'].length != 0) { + print("INPATIENT!!!"); + projectViewModel.setIsPatientAdmitted(true); + } else { + print("OUTPATIENT!!!"); + projectViewModel.setIsPatientAdmitted(false); + } + } else {} + }).catchError((err) { + print(err); + }); + } + insertIMEI() { authService.insertDeviceImei(selectedOption).then((value) => {}).catchError((err) { print(err); diff --git a/lib/services/clinic_services/get_clinic_service.dart b/lib/services/clinic_services/get_clinic_service.dart index 5079fc9b..b7ed77bd 100644 --- a/lib/services/clinic_services/get_clinic_service.dart +++ b/lib/services/clinic_services/get_clinic_service.dart @@ -48,17 +48,7 @@ class ClinicListService extends BaseService { var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); Request req = appGlobal.getPublicRequest(); request = { - // "LanguageID": languageID == 'ar' ? 1 : 2, - // "IPAdress": "10.20.10.20", - // "VersionID": req.VersionID, - // "Channel": req.Channel, - // "generalid": 'Cs2020@2016\$2958', - // "PatientOutSA": user.outSA, "IsActiveAppointment": true, - // "DeviceTypeID": req.DeviceTypeID, - // "PatientType": user.patientType, - // "PatientTypeID": user.patientType, - // "SessionID": null }; dynamic localRes; @@ -71,6 +61,22 @@ class ClinicListService extends BaseService { return Future.value(localRes); } + Future checkIfInPatientAPI(context) async { + Map request; + request = { + "IsActiveAppointment": true, + }; + + dynamic localRes; + + await baseAppClient.post(CHECK_IF_INPATIENT, onSuccess: (response, statusCode) async { + localRes = response; + }, onFailure: (String error, int statusCode) { + throw error; + }, body: request); + return Future.value(localRes); + } + Future getProjectsList(context) async { Map request; var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');