From e780df90e1bea58a3a8c24d10d8dcae60f200b30 Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Thu, 28 Sep 2023 12:25:45 +0300 Subject: [PATCH] updates --- lib/config/localized_values.dart | 3 ++ .../InPatientServices/inpatient_home.dart | 2 +- lib/pages/paymentService/payment_service.dart | 53 +++++++++++++++++++ lib/uitl/translations_delegate_base.dart | 1 + 4 files changed, 58 insertions(+), 1 deletion(-) diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart index 22ac086b..2b823e98 100644 --- a/lib/config/localized_values.dart +++ b/lib/config/localized_values.dart @@ -1934,4 +1934,7 @@ const Map localizedValues = { "admissionReqNo": {"en": "Admission Request No", "ar": "رقم طلب القبول:"}, "dischargeDate": {"en": "Discharge Date", "ar": "تاريخ التفريغ"}, "selectAdmissionText": {"en": "Please select one of the admissions from below to view medical reports:", "ar": "يرجى تحديد أحد حالات القبول من الأسفل لعرض التقارير الطبية:"}, + + "onlyAdmitted": {"en": "This service is only available for admitted patients", "ar": "هذه الخدمة متاحة فقط للمرضى المقبولين"}, + }; \ No newline at end of file diff --git a/lib/pages/InPatientServices/inpatient_home.dart b/lib/pages/InPatientServices/inpatient_home.dart index 2e0f4302..2dafde6e 100644 --- a/lib/pages/InPatientServices/inpatient_home.dart +++ b/lib/pages/InPatientServices/inpatient_home.dart @@ -338,7 +338,7 @@ class _InPatientServicesHomeState extends State { inPatientAdvanceResponseModel = InPatientAdvanceResponseModel.fromJson(res["responseInpatient"]); Navigator.push(context, FadePage(page: InPatientAdvancePayment(inPatientAdvanceResponseModel: inPatientAdvanceResponseModel))); } else { - AppToast.showErrorToast(message: "No record found."); + AppToast.showErrorToast(message: TranslationBase.of(context).noData); } } else { AppToast.showErrorToast(message: res["endUserMessage"]); diff --git a/lib/pages/paymentService/payment_service.dart b/lib/pages/paymentService/payment_service.dart index c38ac9e0..7e89787d 100644 --- a/lib/pages/paymentService/payment_service.dart +++ b/lib/pages/paymentService/payment_service.dart @@ -2,9 +2,14 @@ import 'package:badges/badges.dart' as badge_import; import 'package:diplomaticquarterapp/Constants.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart'; +import 'package:diplomaticquarterapp/models/InPatientServices/get_inpatient_advance_requests_response_model.dart'; +import 'package:diplomaticquarterapp/pages/InPatientServices/inpatient_advance_payment.dart'; import 'package:diplomaticquarterapp/pages/ToDoList/ToDo.dart'; import 'package:diplomaticquarterapp/pages/medical/balance/advance_payment_page.dart'; import 'package:diplomaticquarterapp/pages/medical/balance/my_balance_page.dart'; +import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.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/widgets/data_display/medical/medical_profile_item.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; @@ -17,6 +22,8 @@ class PaymentService extends StatelessWidget { ToDoCountProviderModel model; ProjectViewModel projectViewModel; + InPatientAdvanceResponseModel inPatientAdvanceResponseModel; + @override Widget build(BuildContext context) { projectViewModel = Provider.of(context); @@ -144,9 +151,55 @@ class PaymentService extends StatelessWidget { ), ), ); + + medical.add( + InkWell( + onTap: () { + if(projectViewModel.isPatientAdmitted) { + getInPatientAdvancePaymentRequests(context); + projectViewModel.analytics.advancePayments.payment_services(service_type: 'inpatient advance payment'); + } else { + AppToast.showErrorToast(message: TranslationBase.of(context).onlyAdmitted); + } + }, + child: MedicalProfileItem( + title: "InPatient", + imagePath: 'assets/images/inpatient_advance.png', + subTitle: "Advance Payment", + isPngImage: true, + width: 45.0, + height: 45.0, + ), + ), + ); + return medical; } + void getInPatientAdvancePaymentRequests(BuildContext context) { + ClinicListService service = new ClinicListService(); + GifLoaderDialogUtils.showMyDialog(context); + service + .getInPatientAdvancePaymentRequests(projectViewModel.inPatientProjectID, projectViewModel.isPatientAdmitted ? projectViewModel.getAdmissionInfoResponseModel.admissionNo : 0, + projectViewModel.isPatientAdmitted ? projectViewModel.getAdmissionInfoResponseModel.admissionRequestNo : projectViewModel.getAdmissionRequestInfoResponseModel.admissionRequestNo, context) + .then((res) { + GifLoaderDialogUtils.hideDialog(context); + if (res["MessageStatus"] == 1) { + if (res['responseInpatient'] != null) { + inPatientAdvanceResponseModel = InPatientAdvanceResponseModel.fromJson(res["responseInpatient"]); + Navigator.push(context, FadePage(page: InPatientAdvancePayment(inPatientAdvanceResponseModel: inPatientAdvanceResponseModel))); + } else { + AppToast.showErrorToast(message: TranslationBase.of(context).noData); + } + } else { + AppToast.showErrorToast(message: res["endUserMessage"]); + } + }).catchError((err) { + GifLoaderDialogUtils.hideDialog(context); + print(err); + }); + } + navigateToToDoPage(BuildContext context) { if (projectViewModel.isLogin) { // if (model.count != 0) { diff --git a/lib/uitl/translations_delegate_base.dart b/lib/uitl/translations_delegate_base.dart index 6170873b..6cb48058 100644 --- a/lib/uitl/translations_delegate_base.dart +++ b/lib/uitl/translations_delegate_base.dart @@ -2940,6 +2940,7 @@ class TranslationBase { String get admissionReqNo => localizedValues["admissionReqNo"][locale.languageCode]; String get dischargeDate => localizedValues["dischargeDate"][locale.languageCode]; String get selectAdmissionText => localizedValues["selectAdmissionText"][locale.languageCode]; + String get onlyAdmitted => localizedValues["onlyAdmitted"][locale.languageCode]; }