diff --git a/lib/config/config.dart b/lib/config/config.dart index 60336685..a97ba792 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -405,7 +405,7 @@ var UPDATE_COVID_QUESTIONNAIRE = 'Services/Doctors.svc/REST/COVID19_Questionnar var CHANNEL = 3; var GENERAL_ID = 'Cs2020@2016\$2958'; var IP_ADDRESS = '10.20.10.20'; -var VERSION_ID = 8.6; +var VERSION_ID = 8.7; var SETUP_ID = '91877'; var LANGUAGE = 2; var PATIENT_OUT_SA = 0; diff --git a/lib/core/service/medical/labs_service.dart b/lib/core/service/medical/labs_service.dart index 1ea29264..3ee02017 100644 --- a/lib/core/service/medical/labs_service.dart +++ b/lib/core/service/medical/labs_service.dart @@ -6,6 +6,7 @@ import 'package:diplomaticquarterapp/core/model/labs/patient_lab_special_result. import 'package:diplomaticquarterapp/core/model/labs/request_patient_lab_special_result.dart'; import 'package:diplomaticquarterapp/core/model/labs/request_send_lab_report_email.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart'; +import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; class LabsService extends BaseService { List patientLabOrdersList = List(); @@ -152,19 +153,19 @@ class LabsService extends BaseService { RequestSendLabReportEmail _requestSendLabReportEmail = RequestSendLabReportEmail(); - Future sendLabReportEmail({PatientLabOrders patientLabOrder}) async { + Future sendLabReportEmail({PatientLabOrders patientLabOrder, AuthenticatedUser userObj}) async { _requestSendLabReportEmail.projectID = patientLabOrder.projectID; _requestSendLabReportEmail.invoiceNo = patientLabOrder.invoiceNo; _requestSendLabReportEmail.doctorName = patientLabOrder.doctorName; _requestSendLabReportEmail.clinicName = patientLabOrder.clinicDescription; - _requestSendLabReportEmail.patientName = user.firstName + " " + user.lastName; - _requestSendLabReportEmail.patientIditificationNum = user.patientIdentificationNo; - _requestSendLabReportEmail.dateofBirth = user.dateofBirth; - _requestSendLabReportEmail.to = user.emailAddress; + _requestSendLabReportEmail.patientName = userObj.firstName + " " + userObj.lastName; + _requestSendLabReportEmail.patientIditificationNum = userObj.patientIdentificationNo; + _requestSendLabReportEmail.dateofBirth = userObj.dateofBirth; + _requestSendLabReportEmail.to = userObj.emailAddress; _requestSendLabReportEmail.orderDate = '${patientLabOrder.orderDate.year}-${patientLabOrder.orderDate.month}-${patientLabOrder.orderDate.day}'; - _requestSendLabReportEmail.patientMobileNumber = user.mobileNumber; + _requestSendLabReportEmail.patientMobileNumber = userObj.mobileNumber; _requestSendLabReportEmail.projectName = patientLabOrder.projectName; - _requestSendLabReportEmail.setupID = user.setupID; + _requestSendLabReportEmail.setupID = patientLabOrder.setupID; await baseAppClient.post(SEND_LAB_RESULT_EMAIL, onSuccess: (dynamic response, int statusCode) {}, onFailure: (String error, int statusCode) { hasError = true; diff --git a/lib/core/service/medical/radiology_service.dart b/lib/core/service/medical/radiology_service.dart index 2147f31d..df3f0e19 100644 --- a/lib/core/service/medical/radiology_service.dart +++ b/lib/core/service/medical/radiology_service.dart @@ -1,7 +1,9 @@ import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart'; import 'package:diplomaticquarterapp/core/model/radiology/request_send_rad_report_email.dart'; +import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart'; +import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; class RadiologyService extends BaseService { List finalRadiologyList = List(); @@ -14,8 +16,7 @@ class RadiologyService extends BaseService { body['LineItemNo'] = lineItem; body['ProjectID'] = projectId; - await baseAppClient.post(GET_RAD_IMAGE_URL, isAllowAny: true, - onSuccess: (dynamic response, int statusCode) { + await baseAppClient.post(GET_RAD_IMAGE_URL, isAllowAny: true, onSuccess: (dynamic response, int statusCode) { url = response['Data']; }, onFailure: (String error, int statusCode) { hasError = true; @@ -25,8 +26,7 @@ class RadiologyService extends BaseService { Future getPatientRadOrders() async { hasError = false; - await baseAppClient.post(GET_PATIENT_ORDERS, - onSuccess: (dynamic response, int statusCode) { + await baseAppClient.post(GET_PATIENT_ORDERS, onSuccess: (dynamic response, int statusCode) { finalRadiologyList.clear(); response['FinalRadiologyList'].forEach((radiology) { finalRadiologyList.add(FinalRadiology.fromJson(radiology)); @@ -39,8 +39,7 @@ class RadiologyService extends BaseService { Future getPatientRadOrdersDetails() async { hasError = false; - await baseAppClient.post(GET_PATIENT_ORDERS, - onSuccess: (dynamic response, int statusCode) { + await baseAppClient.post(GET_PATIENT_ORDERS, onSuccess: (dynamic response, int statusCode) { finalRadiologyList.clear(); response['FinalRadiologyList'].forEach((radiology) { finalRadiologyList.add(FinalRadiology.fromJson(radiology)); @@ -51,34 +50,26 @@ class RadiologyService extends BaseService { }, body: Map()); } - RequestSendRadReportEmail _requestSendRadReportEmail = - RequestSendRadReportEmail(); + RequestSendRadReportEmail _requestSendRadReportEmail = RequestSendRadReportEmail(); - Future sendRadReportEmail({FinalRadiology finalRadiology}) async { + Future sendRadReportEmail({FinalRadiology finalRadiology, AuthenticatedUser userObj}) async { _requestSendRadReportEmail.projectID = finalRadiology.projectID; _requestSendRadReportEmail.clinicName = finalRadiology.clinicDescription; _requestSendRadReportEmail.invoiceNo = finalRadiology.invoiceNo; _requestSendRadReportEmail.invoiceLineItemNo = finalRadiology.invoiceLineItemNo; _requestSendRadReportEmail.setupID = finalRadiology.setupID; _requestSendRadReportEmail.doctorName = finalRadiology.doctorName; - _requestSendRadReportEmail.orderDate = - '${finalRadiology.orderDate.year}-${finalRadiology.orderDate.month}-${finalRadiology.orderDate.day}'; - _requestSendRadReportEmail.patientIditificationNum = - user.patientIdentificationNo; - _requestSendRadReportEmail.patientMobileNumber = user.mobileNumber; - _requestSendRadReportEmail.patientName = - user.firstName + " " + user.lastName; - _requestSendRadReportEmail.patientIditificationNum = - user.patientIdentificationNo; + _requestSendRadReportEmail.orderDate = '${finalRadiology.orderDate.year}-${finalRadiology.orderDate.month}-${finalRadiology.orderDate.day}'; + _requestSendRadReportEmail.patientIditificationNum = userObj.patientIdentificationNo; + _requestSendRadReportEmail.patientMobileNumber = userObj.mobileNumber; + _requestSendRadReportEmail.patientName = userObj.firstName + " " + userObj.lastName; _requestSendRadReportEmail.projectName = finalRadiology.projectName; _requestSendRadReportEmail.radResult = finalRadiology.reportData; - _requestSendRadReportEmail.to = user.emailAddress; - _requestSendRadReportEmail.dateofBirth = user.dateofBirth; + _requestSendRadReportEmail.to = userObj.emailAddress; + _requestSendRadReportEmail.dateofBirth = userObj.dateofBirth; hasError = false; - await baseAppClient.post(SEND_RAD_REPORT_EMAIL, - isAllowAny: true, onSuccess: (dynamic response, int statusCode) {}, - onFailure: (String error, int statusCode) { + await baseAppClient.post(SEND_RAD_REPORT_EMAIL, isAllowAny: true, onSuccess: (dynamic response, int statusCode) {}, onFailure: (String error, int statusCode) { hasError = true; super.error = error; }, body: _requestSendRadReportEmail.toJson()); diff --git a/lib/core/viewModels/medical/labs_view_model.dart b/lib/core/viewModels/medical/labs_view_model.dart index 92f79436..e42dbbb4 100644 --- a/lib/core/viewModels/medical/labs_view_model.dart +++ b/lib/core/viewModels/medical/labs_view_model.dart @@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/core/model/labs/lab_result.dart'; import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart'; import 'package:diplomaticquarterapp/core/model/labs/patient_lab_special_result.dart'; import 'package:diplomaticquarterapp/core/service/medical/labs_service.dart'; +import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/widgets/charts/app_time_series_chart.dart'; @@ -134,8 +135,8 @@ class LabsViewModel extends BaseViewModel { } } - sendLabReportEmail({PatientLabOrders patientLabOrder, String mes}) async { - await _labsService.sendLabReportEmail(patientLabOrder: patientLabOrder); + sendLabReportEmail({PatientLabOrders patientLabOrder, String mes, AuthenticatedUser userObj}) async { + await _labsService.sendLabReportEmail(patientLabOrder: patientLabOrder, userObj: userObj); if (_labsService.hasError) { error = _labsService.error; } else diff --git a/lib/core/viewModels/medical/radiology_view_model.dart b/lib/core/viewModels/medical/radiology_view_model.dart index 076707dc..f78341f5 100644 --- a/lib/core/viewModels/medical/radiology_view_model.dart +++ b/lib/core/viewModels/medical/radiology_view_model.dart @@ -1,7 +1,9 @@ import 'package:diplomaticquarterapp/core/enum/filter_type.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart'; +import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/service/medical/radiology_service.dart'; +import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import '../../../locator.dart'; @@ -14,10 +16,7 @@ class RadiologyViewModel extends BaseViewModel { List _finalRadiologyListClinic = List(); List _finalRadiologyListHospital = List(); - List get finalRadiologyList => - filterType == FilterType.Clinic - ? _finalRadiologyListClinic - : _finalRadiologyListHospital; + List get finalRadiologyList => filterType == FilterType.Clinic ? _finalRadiologyListClinic : _finalRadiologyListHospital; void getPatientRadOrders() async { setState(ViewState.Busy); @@ -27,39 +26,25 @@ class RadiologyViewModel extends BaseViewModel { setState(ViewState.Error); } else { _radiologyService.finalRadiologyList.forEach((element) { - List finalRadiologyListClinic = - _finalRadiologyListClinic - .where((elementClinic) => - elementClinic.filterName == element.clinicDescription) - .toList(); + List finalRadiologyListClinic = _finalRadiologyListClinic.where((elementClinic) => elementClinic.filterName == element.clinicDescription).toList(); if (finalRadiologyListClinic.length != 0) { - _finalRadiologyListClinic[ - finalRadiologyListClinic.indexOf(finalRadiologyListClinic[0])] - .finalRadiologyList - .add(element); + _finalRadiologyListClinic[finalRadiologyListClinic.indexOf(finalRadiologyListClinic[0])].finalRadiologyList.add(element); } else { - _finalRadiologyListClinic.add(FinalRadiologyList( - filterName: element.clinicDescription, finalRadiology: element)); + _finalRadiologyListClinic.add(FinalRadiologyList(filterName: element.clinicDescription, finalRadiology: element)); } // FinalRadiologyList list sort via project - List finalRadiologyListHospital = - _finalRadiologyListHospital - .where( - (elementClinic) => - elementClinic.filterName == element.projectName, - ) - .toList(); + List finalRadiologyListHospital = _finalRadiologyListHospital + .where( + (elementClinic) => elementClinic.filterName == element.projectName, + ) + .toList(); if (finalRadiologyListHospital.length != 0) { - _finalRadiologyListHospital[finalRadiologyListHospital - .indexOf(finalRadiologyListHospital[0])] - .finalRadiologyList - .add(element); + _finalRadiologyListHospital[finalRadiologyListHospital.indexOf(finalRadiologyListHospital[0])].finalRadiologyList.add(element); } else { - _finalRadiologyListHospital.add(FinalRadiologyList( - filterName: element.projectName, finalRadiology: element)); + _finalRadiologyListHospital.add(FinalRadiologyList(filterName: element.projectName, finalRadiology: element)); } }); @@ -69,9 +54,9 @@ class RadiologyViewModel extends BaseViewModel { String get radImageURL => _radiologyService.url; - getRadImageURL({int invoiceNo, int lineItem,int projectId}) async { + getRadImageURL({int invoiceNo, int lineItem, int projectId}) async { setState(ViewState.Busy); - await _radiologyService.getRadImageURL(invoiceNo: invoiceNo,lineItem: lineItem,projectId: projectId); + await _radiologyService.getRadImageURL(invoiceNo: invoiceNo, lineItem: lineItem, projectId: projectId); if (_radiologyService.hasError) { error = _radiologyService.error; setState(ViewState.Error); @@ -79,12 +64,9 @@ class RadiologyViewModel extends BaseViewModel { setState(ViewState.Idle); } - sendRadReportEmail( - {FinalRadiology finalRadiology,String mes}) async { + sendRadReportEmail({FinalRadiology finalRadiology, String mes, AuthenticatedUser userObj}) async { setState(ViewState.BusyLocal); - await _radiologyService.sendRadReportEmail( - finalRadiology: finalRadiology - ); + await _radiologyService.sendRadReportEmail(finalRadiology: finalRadiology, userObj: userObj); if (_radiologyService.hasError) { error = _radiologyService.error; AppToast.showErrorToast(message: error); diff --git a/lib/pages/medical/labs/laboratory_result_page.dart b/lib/pages/medical/labs/laboratory_result_page.dart index 20d09668..4bd29c19 100644 --- a/lib/pages/medical/labs/laboratory_result_page.dart +++ b/lib/pages/medical/labs/laboratory_result_page.dart @@ -1,5 +1,6 @@ import 'package:diplomaticquarterapp/core/model/labs/patient_lab_orders.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/labs_view_model.dart'; +import 'package:diplomaticquarterapp/core/viewModels/project_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'; @@ -7,6 +8,7 @@ import 'package:diplomaticquarterapp/widgets/data_display/medical/LabResult/labo import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; class LaboratoryResultPage extends StatefulWidget { final PatientLabOrders patientLabOrders; @@ -20,6 +22,7 @@ class LaboratoryResultPage extends StatefulWidget { class _LaboratoryResultPageState extends State { @override Widget build(BuildContext context) { + ProjectViewModel projectViewModel = Provider.of(context); return BaseView( onModelReady: (model) => model.getLaboratoryResult( invoiceNo: widget.patientLabOrders.invoiceNo, @@ -40,7 +43,7 @@ class _LaboratoryResultPageState extends State { itemBuilder: (context, index) => LaboratoryResultWidget( onTap: () async { GifLoaderDialogUtils.showMyDialog(context); - await model.sendLabReportEmail(patientLabOrder: widget.patientLabOrders, mes: TranslationBase.of(context).sendSuc); + await model.sendLabReportEmail(patientLabOrder: widget.patientLabOrders, mes: TranslationBase.of(context).sendSuc, userObj: projectViewModel.user); GifLoaderDialogUtils.hideDialog(context); }, billNo: widget.patientLabOrders.invoiceNo, diff --git a/lib/pages/medical/radiology/radiology_details_page.dart b/lib/pages/medical/radiology/radiology_details_page.dart index 8a13d860..48503bc9 100644 --- a/lib/pages/medical/radiology/radiology_details_page.dart +++ b/lib/pages/medical/radiology/radiology_details_page.dart @@ -1,7 +1,9 @@ import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/core/model/radiology/final_radiology.dart'; +import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/radiology_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; +import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/header_model.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; @@ -54,7 +56,7 @@ class RadiologyDetailsPage extends StatelessWidget { model.user.emailAddress, ), onTap: () { - showConfirmMessage(finalRadiology: finalRadiology, model: model); + showConfirmMessage(finalRadiology: finalRadiology, model: model, userObj: projectViewModel.user); }, buttonTitle: TranslationBase.of(context).sendCopyRad, isNeedToShowButton: projectViewModel.havePrivilege(8), @@ -107,13 +109,13 @@ class RadiologyDetailsPage extends StatelessWidget { ); } - void showConfirmMessage({FinalRadiology finalRadiology, RadiologyViewModel model}) { + void showConfirmMessage({FinalRadiology finalRadiology, RadiologyViewModel model, AuthenticatedUser userObj}) { showDialog( context: AppGlobal.context, builder: (cxt) => ConfirmSendEmailDialog( email: model.user.emailAddress, onTapSendEmail: () { - model.sendRadReportEmail(mes: TranslationBase.of(AppGlobal.context).sendSuc, finalRadiology: finalRadiology); + model.sendRadReportEmail(mes: TranslationBase.of(AppGlobal.context).sendSuc, finalRadiology: finalRadiology, userObj: userObj); }, ), ); diff --git a/lib/services/livecare_services/livecare_provider.dart b/lib/services/livecare_services/livecare_provider.dart index dee399ed..8865fbae 100644 --- a/lib/services/livecare_services/livecare_provider.dart +++ b/lib/services/livecare_services/livecare_provider.dart @@ -318,7 +318,7 @@ class LiveCareService extends BaseService { Map request; // request = {"app_id": "eb8e49e5-dec7-4ed2-8d6a-4df8cb301406", "identifier": voipToken, "device_type": 0, "test_type": 1}; - request = { "app_id": "eb8e49e5-dec7-4ed2-8d6a-4df8cb301406", "identifier": voipToken, "device_type": 0 }; + request = { "app_id": "b87a754b-9a2a-437c-960b-39a079c57586", "identifier": voipToken, "device_type": 0 }; dynamic localRes;