From a20d6c7c28edcb9595e7abd43356d9a3d2a39a9a Mon Sep 17 00:00:00 2001 From: haroon amjad Date: Mon, 27 Feb 2023 12:25:43 +0300 Subject: [PATCH] Livecare updates --- lib/config/config.dart | 6 ++-- .../notification_details_page.dart | 29 ++++++++++--------- .../livecare/live_care_payment_page.dart | 13 ++++++++- lib/pages/livecare/widgets/clinic_list.dart | 4 +-- .../livecare_services/livecare_provider.dart | 23 +++++++++++---- lib/widgets/in_app_browser/InAppBrowser.dart | 4 +-- 6 files changed, 53 insertions(+), 26 deletions(-) diff --git a/lib/config/config.dart b/lib/config/config.dart index eb728041..3766b129 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -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:3334/'; - 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/'; // Pharmacy UAT URLs // var BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/'; @@ -585,6 +585,8 @@ var AUTO_GENERATE_INVOICE_TAMARA = 'Services/PayFort_Serv.svc/REST/Tamara_Getinf var GET_ONESIGNAL_VOIP_TOKEN = 'https://onesignal.com/api/v1/players'; +var CANCEL_PHARMA_LIVECARE_REQUEST = 'https://vcallapi.hmg.com/api/PharmaLiveCare/SendPaymentStatus'; + class AppGlobal { static var context; diff --git a/lib/pages/DrawerPages/notifications/notification_details_page.dart b/lib/pages/DrawerPages/notifications/notification_details_page.dart index ad4815d9..65547b39 100644 --- a/lib/pages/DrawerPages/notifications/notification_details_page.dart +++ b/lib/pages/DrawerPages/notifications/notification_details_page.dart @@ -87,20 +87,21 @@ class _NotificationsDetailsPageState extends State { showVideoProgressIndicator: true, ), ), - if (widget.notification.messageTypeData.length != 0 && widget.notification.notificationType != "2") - Padding( - padding: const EdgeInsets.only(top: 18), - child: Image.network(widget.notification.messageTypeData, loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent loadingProgress) { - if (loadingProgress == null) return child; - return Center( - child: SizedBox( - width: 40.0, - height: 40.0, - child: AppCircularProgressIndicator(), - ), - ); - }, fit: BoxFit.fill), - ), + if (widget.notification.messageTypeData != null) + if (widget.notification.messageTypeData.length != 0 && widget.notification.notificationType != "2") + Padding( + padding: const EdgeInsets.only(top: 18), + child: Image.network(widget.notification.messageTypeData, loadingBuilder: (BuildContext context, Widget child, ImageChunkEvent loadingProgress) { + if (loadingProgress == null) return child; + return Center( + child: SizedBox( + width: 40.0, + height: 40.0, + child: AppCircularProgressIndicator(), + ), + ); + }, fit: BoxFit.fill), + ), SizedBox(height: 18), Text( widget.notification.message.trim(), diff --git a/lib/pages/livecare/live_care_payment_page.dart b/lib/pages/livecare/live_care_payment_page.dart index 3b0dab9b..b1711f94 100644 --- a/lib/pages/livecare/live_care_payment_page.dart +++ b/lib/pages/livecare/live_care_payment_page.dart @@ -2,6 +2,7 @@ import 'dart:io'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/models/LiveCare/ERAppointmentFeesResponse.dart'; +import 'package:diplomaticquarterapp/services/livecare_services/livecare_provider.dart'; import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/uitl/PlatformBridge.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; @@ -22,8 +23,10 @@ class LiveCarePatmentPage extends StatefulWidget { GetERAppointmentFeesList getERAppointmentFeesList; int waitingTime; String clinicName; + bool isPharmaLiveCare; + String pharmaLiveCareClientID; - LiveCarePatmentPage({@required this.getERAppointmentFeesList, @required this.waitingTime, @required this.clinicName}); + LiveCarePatmentPage({@required this.getERAppointmentFeesList, @required this.waitingTime, @required this.clinicName, this.isPharmaLiveCare = false, this.pharmaLiveCareClientID = ""}); @override _LiveCarePatmentPageState createState() => _LiveCarePatmentPageState(); @@ -278,6 +281,7 @@ class _LiveCarePatmentPageState extends State { child: DefaultButton( TranslationBase.of(context).cancel, () { + if (widget.isPharmaLiveCare) cancelAPI(); Navigator.pop(context, false); }, ), @@ -387,6 +391,13 @@ class _LiveCarePatmentPageState extends State { dialog.showAlertDialog(context); } + void cancelAPI() { + LiveCareService service = new LiveCareService(); + service.cancelPharmaLiveCareRequest(widget.pharmaLiveCareClientID, context).then((res) {}).catchError((err) { + print(err); + }); + } + void onRadioChanged(int value) { setState(() { _selected = value; diff --git a/lib/pages/livecare/widgets/clinic_list.dart b/lib/pages/livecare/widgets/clinic_list.dart index e67e19ea..987955c7 100644 --- a/lib/pages/livecare/widgets/clinic_list.dart +++ b/lib/pages/livecare/widgets/clinic_list.dart @@ -195,7 +195,7 @@ class _clinic_listState extends State { } showLiveCarePaymentDialog(GetERAppointmentFeesList getERAppointmentFeesList, int waitingTime) { - navigateTo(context, LiveCarePatmentPage(getERAppointmentFeesList: getERAppointmentFeesList, waitingTime: waitingTime, clinicName: selectedClinicName)).then( + navigateTo(context, LiveCarePatmentPage(getERAppointmentFeesList: getERAppointmentFeesList, waitingTime: waitingTime, clinicName: selectedClinicName, isPharmaLiveCare: widget.isPharmacyLiveCare, pharmaLiveCareClientID: widget.pharmacyLiveCareQRCode)).then( (value) { if (value) { if (getERAppointmentFeesList.total == "0" || getERAppointmentFeesList.total == "0.0") { @@ -581,7 +581,7 @@ class _clinic_listState extends State { widget.isPharmacyLiveCare = true; widget.pharmacyLiveCareQRCode = value.split("/")[1]; liveCareClinicIDs = await sharedPref.getString(LIVECARE_CLINIC_DATA); - selectedClinicID = 7; + selectedClinicID = 1; selectedClinicName = TranslationBase.of(context).pharmaLiveCare; sharedPref.remove(LIVECARE_CLINIC_DATA); startLiveCare(); diff --git a/lib/services/livecare_services/livecare_provider.dart b/lib/services/livecare_services/livecare_provider.dart index 703ff4cb..86baa552 100644 --- a/lib/services/livecare_services/livecare_provider.dart +++ b/lib/services/livecare_services/livecare_provider.dart @@ -156,7 +156,7 @@ class LiveCareService extends BaseService { request = { "ServiceID": serviceID, - "ProjectID": 15, + "ProjectID": 12, "PatientID": authUser.patientID != null ? authUser.patientID : 0, "Age": authUser.age != null ? authUser.age : 0, "Gender": authUser.gender != null ? authUser.gender : 0 @@ -182,7 +182,7 @@ class LiveCareService extends BaseService { request = { "ServiceID": serviceID, - "ProjectID": 15, + "ProjectID": 12, "Age": authUser.age != null ? authUser.age : 0, "PatientID": authUser.patientID != null ? authUser.patientID : 0, "Gender": authUser.gender != null ? authUser.gender : 0 @@ -326,9 +326,7 @@ class LiveCareService extends BaseService { Future getOneSignalVOIPToken(String voipToken, BuildContext context) async { Map request; - - // request = {"app_id": "b87a754b-9a2a-437c-960b-39a079c57586", "identifier": voipToken, "device_type": 0, "test_type": 1}; - request = { "app_id": "b87a754b-9a2a-437c-960b-39a079c57586", "identifier": voipToken, "device_type": 0 }; + request = {"app_id": "b87a754b-9a2a-437c-960b-39a079c57586", "identifier": voipToken, "device_type": 0}; dynamic localRes; @@ -339,4 +337,19 @@ class LiveCareService extends BaseService { }, body: request); return Future.value(localRes); } + + Future cancelPharmaLiveCareRequest(String pharmaClientRequestID, BuildContext context) async { + Map request; + request = {"clientid": pharmaClientRequestID, "status": "Cancel"}; + + dynamic localRes; + + await baseAppClient.post(CANCEL_PHARMA_LIVECARE_REQUEST, isExternal: true, isAllowAny: true, onSuccess: (response, statusCode) async { + localRes = response; + }, onFailure: (String error, int statusCode) { + throw error; + }, body: request); + return Future.value(localRes); + } + } diff --git a/lib/widgets/in_app_browser/InAppBrowser.dart b/lib/widgets/in_app_browser/InAppBrowser.dart index 4fbc41cc..96eb99cb 100644 --- a/lib/widgets/in_app_browser/InAppBrowser.dart +++ b/lib/widgets/in_app_browser/InAppBrowser.dart @@ -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 PRESCRIPTION_PAYMENT_WITH_ORDERID = // 'https://uat.hmgwebservices.com/epharmacy/checkout/OpcCompleteRedirectionPaymentClientbyOrder?orderID=';