diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index c3e46b58..db84daa7 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -540,7 +540,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
- MARKETING_VERSION = 4.5.75;
+ MARKETING_VERSION = 4.5.77;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -684,7 +684,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
- MARKETING_VERSION = 4.5.75;
+ MARKETING_VERSION = 4.5.77;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -722,7 +722,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
- MARKETING_VERSION = 4.5.75;
+ MARKETING_VERSION = 4.5.77;
PRODUCT_BUNDLE_IDENTIFIER = "com.HMG.HMG-Smartphone";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
diff --git a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
deleted file mode 100644
index ea96fe5f..00000000
--- a/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/lib/config/config.dart b/lib/config/config.dart
index 1186bfbd..f63eb699 100644
--- a/lib/config/config.dart
+++ b/lib/config/config.dart
@@ -20,9 +20,12 @@ var PACKAGES_SHOPPING_CART = '/api/shopping_cart_items';
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.20.200.111:1010/';
+// var BASE_URL = 'http://10.50.100.198:4422/';
+var BASE_URL = 'https://uat.hmgwebservices.com/';
+// var BASE_URL = 'https://hmgwebservices.com/';
+// var BASE_URL = 'http://10.20.200.111:1010/';
// var BASE_URL = 'https://uat.hmgwebservices.com/';
-var BASE_URL = 'https://hmgwebservices.com/';
+// var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'https://orash.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/';
diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart
index ba17f2ec..cc45dfeb 100644
--- a/lib/config/localized_values.dart
+++ b/lib/config/localized_values.dart
@@ -1903,4 +1903,6 @@ const Map localizedValues = {
"validInsurance": {"en": "Do you have a valid insurance?", "ar": "هل لديك تأمين صالح؟"},
"checkInViaLocation": {"en": "Check-In Via Location", "ar": "تسجيل الوصول عبر الموقع"},
"locationCheckInError": {"en": "Please make sure that you're within the hospital location to perform online check-in.", "ar": "يرجى التأكد من تواجدك داخل موقع المستشفى لإجراء تسجيل الوصول عبر الإنترنت."},
+ "upcoming": {"en": "Upcoming", "ar": "المواعيد القادمة"},
+ "noUpcomingAppointment": {"en": "No upcoming appointments", "ar": "لا توجد مواعيد القادمة"},
};
\ No newline at end of file
diff --git a/lib/core/model/reports/Reports.dart b/lib/core/model/reports/Reports.dart
index 6791a3d4..0d409f04 100644
--- a/lib/core/model/reports/Reports.dart
+++ b/lib/core/model/reports/Reports.dart
@@ -5,6 +5,7 @@ class Reports {
DateTime encounterDate;
int projectID;
int invoiceNo;
+ int invoiceNo_VP;
int encounterNo;
String procedureId;
int requestType;
@@ -35,6 +36,7 @@ class Reports {
this.encounterDate,
this.projectID,
this.invoiceNo,
+ this.invoiceNo_VP,
this.encounterNo,
this.procedureId,
this.requestType,
@@ -67,6 +69,7 @@ class Reports {
json['EncounterDate']); //json['EncounterDate'];
projectID = json['ProjectID'];
invoiceNo = json['InvoiceNo'];
+ invoiceNo_VP = json['InvoiceNo_VP'];
encounterNo = json['EncounterNo'];
procedureId = json['ProcedureId'];
requestType = json['RequestType'];
@@ -104,6 +107,7 @@ class Reports {
data['EncounterDate'] = this.encounterDate;
data['ProjectID'] = this.projectID;
data['InvoiceNo'] = this.invoiceNo;
+ data['InvoiceNo_VP'] = this.invoiceNo_VP;
data['EncounterNo'] = this.encounterNo;
data['ProcedureId'] = this.procedureId;
data['RequestType'] = this.requestType;
diff --git a/lib/core/service/appointment_rate_service.dart b/lib/core/service/appointment_rate_service.dart
index 848aeb48..446b5d6b 100644
--- a/lib/core/service/appointment_rate_service.dart
+++ b/lib/core/service/appointment_rate_service.dart
@@ -36,7 +36,7 @@ class AppointmentRateService extends BaseService {
}, body: bodyData);
}
- Future sendAppointmentRate(int rate, int appointmentNo, int projectID, int doctorID, int clinicID, String note) async {
+ Future sendAppointmentRate(int rate, int appointmentNo, int projectID, int doctorID, int clinicID, String note, int languageID) async {
hasError = false;
AppointmentRate appointmentRate = AppointmentRate();
appointmentRate.rate = rate;
@@ -47,6 +47,7 @@ class AppointmentRateService extends BaseService {
appointmentRate.note = note;
appointmentRate.createdBy = 2;
appointmentRate.editedBy = 2;
+ appointmentRate.languageID = languageID;
await baseAppClient.post(NEW_RATE_APPOINTMENT_URL, onSuccess: (dynamic response, int statusCode) {}, onFailure: (String error, int statusCode) {
hasError = true;
diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart
index 8921d5f9..f756ba8e 100644
--- a/lib/core/service/client/base_app_client.dart
+++ b/lib/core/service/client/base_app_client.dart
@@ -75,8 +75,13 @@ class BaseAppClient {
body['Channel'] = CHANNEL;
if (body.containsKey('LanguageID')) {
- if(body['LanguageID'] != null) {
- body['LanguageID'] = body['LanguageID'];
+ if (body['LanguageID'] != null) {
+ //change this line because language issue happened on dental
+ body['LanguageID'] = body['LanguageID'] == 'ar'
+ ? 1
+ : body['LanguageID'] == 'en'
+ ? 2
+ : body['LanguageID'];
} else {
body['LanguageID'] = Provider.of(AppGlobal.context, listen: false).isArabic ? 1 : 2;
}
@@ -153,7 +158,8 @@ class BaseAppClient {
? body['PatientOutSA']
: user['OutSA']
: user['OutSA'];
- body['SessionID'] = getSessionId(body['TokenID']); //getSe
+ body['SessionID'] = getSessionId(body['TokenID'] != null ? body['TokenID'] : ""); //getSe
+ // body['SessionID'] = body['TokenID']; //getSe
headers = {
'Content-Type': 'application/json',
@@ -169,7 +175,7 @@ class BaseAppClient {
// body['IdentificationNo'] = 1023854217;
// body['MobileNo'] = "531940021";
- // body['PatientID'] = 1231755; //3844083
+ // body['PatientID'] = 1400563; //3844083
// body['TokenID'] = "@dm!n";
// Patient ID: 3027574
@@ -709,12 +715,13 @@ class BaseAppClient {
var model = Provider.of(AppGlobal.context, listen: false);
_vitalSignService.weightKg = "";
_vitalSignService.heightCm = "";
- model.setState(0, false, null);
+ model.setState(0, 0, false, null);
Navigator.of(AppGlobal.context).pushReplacementNamed(HOME);
}
String getSessionId(String id) {
///return id.replaceAll(RegExp('/[^\w\s]/'), '');
+ // if (id != null) return id.replaceAll(RegExp('/[^a-zA-Z]'), '');
return id.replaceAll(RegExp('/[^a-zA-Z]'), '');
}
diff --git a/lib/core/service/er/er_service.dart b/lib/core/service/er/er_service.dart
index 5b7552bb..445fa6c1 100644
--- a/lib/core/service/er/er_service.dart
+++ b/lib/core/service/er/er_service.dart
@@ -20,6 +20,7 @@ class ErService extends BaseService {
var long = await sharedPref.getDouble(USER_LONG);
body['Latitude'] = lat ?? 0;
body['Longitude'] = long ?? 0;
+ body['IsForER'] = true;
dynamic localRes;
diff --git a/lib/core/service/hospital_service.dart b/lib/core/service/hospital_service.dart
index be0024ab..f07880fe 100644
--- a/lib/core/service/hospital_service.dart
+++ b/lib/core/service/hospital_service.dart
@@ -51,13 +51,15 @@ class HospitalService extends BaseService {
}
}
- Future getHospitals({bool isResBasedOnLoc = true, bool isAdvancePayment = false}) async {
+ Future getHospitals(int languageID, {bool isResBasedOnLoc = true, bool isAdvancePayment = false}) async {
if (isResBasedOnLoc) await _getCurrentLocation();
Map body = Map();
body['Latitude'] = await this.sharedPref.getDouble(USER_LAT);
body['Longitude'] = await this.sharedPref.getDouble(USER_LONG);
body['IsOnlineCheckIn'] = isResBasedOnLoc;
body['IsAdvancePayment'] = isAdvancePayment;
+ body['LanguageID'] = languageID;
+ body['IsForER'] = true;
await baseAppClient.post(GET_PROJECT, onSuccess: (dynamic response, int statusCode) {
_hospitals.clear();
diff --git a/lib/core/service/medical/labs_service.dart b/lib/core/service/medical/labs_service.dart
index 1d635c69..8e5ac3b4 100644
--- a/lib/core/service/medical/labs_service.dart
+++ b/lib/core/service/medical/labs_service.dart
@@ -191,6 +191,8 @@ class LabsService extends BaseService {
body['ProjectID'] = patientLabOrder.projectID;
body['ClinicID'] = patientLabOrder.clinicID;
body['Procedure'] = procedure;
+ body['Procedure'] = procedure;
+ body['LanguageID'] = 1;
await baseAppClient.post(GET_Patient_LAB_ORDERS_RESULT, onSuccess: (dynamic response, int statusCode) {
labOrdersResultsList.clear();
response['ListPLR'].forEach((lab) {
@@ -223,6 +225,7 @@ class LabsService extends BaseService {
_requestSendLabReportEmail.orderNo = patientLabOrder.orderNo;
_requestSendLabReportEmail.isDownload = isDownload;
_requestSendLabReportEmail.doctorID = patientLabOrder.doctorID;
+ _requestSendLabReportEmail.languageID = 1;
await baseAppClient.post(SEND_LAB_RESULT_EMAIL, onSuccess: (dynamic response, int statusCode) {
if (isDownload) {
diff --git a/lib/core/service/medical/reports_service.dart b/lib/core/service/medical/reports_service.dart
index d80c80e4..a79f8f3e 100644
--- a/lib/core/service/medical/reports_service.dart
+++ b/lib/core/service/medical/reports_service.dart
@@ -42,9 +42,10 @@ class ReportsService extends BaseService {
}, body: _requestReportsInpatient.toJson());
}
- Future getInpatientAdmissionsList() async {
+ Future getInpatientAdmissionsList(int languageID) async {
Map body = new Map();
body['IsForMedicalReport'] = true;
+ body['LanguageID'] = languageID;
hasError = false;
await baseAppClient.post(GET_INPATIENT_ADMISSIONS, onSuccess: (dynamic response, int statusCode) {
admissionsMedicalReport.clear();
diff --git a/lib/core/viewModels/appointment_rate_view_model.dart b/lib/core/viewModels/appointment_rate_view_model.dart
index 9396c2f5..1817c23d 100644
--- a/lib/core/viewModels/appointment_rate_view_model.dart
+++ b/lib/core/viewModels/appointment_rate_view_model.dart
@@ -35,9 +35,9 @@ class AppointmentRateViewModel extends BaseViewModel {
}
}
- Future sendAppointmentRate(int rate, int appointmentNo, int projectID, int doctorID, int clinicID, String note) async {
+ Future sendAppointmentRate(int rate, int appointmentNo, int projectID, int doctorID, int clinicID, String note, int languageID) async {
setState(ViewState.Busy);
- await _appointmentRateService.sendAppointmentRate(rate, appointmentNo, projectID, doctorID, clinicID, note);
+ await _appointmentRateService.sendAppointmentRate(rate, appointmentNo, projectID, doctorID, clinicID, note, languageID);
if (_appointmentRateService.hasError) {
error = _appointmentRateService.error;
setState(ViewState.ErrorLocal);
diff --git a/lib/core/viewModels/er/EdOnlineViewModel.dart b/lib/core/viewModels/er/EdOnlineViewModel.dart
index 1970a965..00be41b2 100644
--- a/lib/core/viewModels/er/EdOnlineViewModel.dart
+++ b/lib/core/viewModels/er/EdOnlineViewModel.dart
@@ -20,10 +20,10 @@ class EdOnlineViewModel extends BaseViewModel {
ErPatientShareModel get erPatientShareModel => _edOnlineServices.erPatientShareModel;
- Future getHospitals() async {
+ Future getHospitals(int languageID) async {
if(_hospitalService.hospitals.isEmpty){
setState(ViewState.Busy);
- await _hospitalService.getHospitals();
+ await _hospitalService.getHospitals(languageID);
if (_hospitalService.hasError) {
error = _hospitalService.error;
setState(ViewState.Error);
diff --git a/lib/core/viewModels/er/am_request_view_model.dart b/lib/core/viewModels/er/am_request_view_model.dart
index aff532d7..53eb477a 100644
--- a/lib/core/viewModels/er/am_request_view_model.dart
+++ b/lib/core/viewModels/er/am_request_view_model.dart
@@ -50,19 +50,19 @@ class AmRequestViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
- Future getAmRequestOrders() async {
+ Future getAmRequestOrders(int languageID) async {
setState(ViewState.Busy);
await _amService.getAllTransportationOrders();
if (_amService.hasError) {
error = _amService.error;
setState(ViewState.Error);
} else
- getHospitals();
+ getHospitals(languageID);
}
- Future getHospitals() async {
+ Future getHospitals(int languageID) async {
setState(ViewState.Busy);
- await _hospitalService.getHospitals(isResBasedOnLoc: false);
+ await _hospitalService.getHospitals(languageID, isResBasedOnLoc: false);
if (_hospitalService.hasError) {
error = _hospitalService.error;
setState(ViewState.Error);
diff --git a/lib/core/viewModels/er/rrt-view-model.dart b/lib/core/viewModels/er/rrt-view-model.dart
index d615ef98..0ed0cf55 100644
--- a/lib/core/viewModels/er/rrt-view-model.dart
+++ b/lib/core/viewModels/er/rrt-view-model.dart
@@ -38,10 +38,10 @@ class RRTViewModel extends BaseViewModel {
_RRTServiceData rrtServiceData = _RRTServiceData();
- Future<_RRTServiceData> loadRequiredData() async {
+ Future<_RRTServiceData> loadRequiredData(int languageID) async {
// await getServicePrice();
// await getAllOrders();
- await getProcedureDetails();
+ await getProcedureDetails(languageID);
await getAllOrdersRC();
// getProcedureDetails();
return rrtServiceData;
@@ -120,9 +120,9 @@ class RRTViewModel extends BaseViewModel {
return rrtServiceData;
}
- Future<_RRTServiceData> getProcedureDetails() async {
+ Future<_RRTServiceData> getProcedureDetails(int languageID) async {
DoctorsListService service = new DoctorsListService();
- await service.getRRTProcedures(15).then((res) {
+ await service.getRRTProcedures(15, languageID).then((res) {
rrtProcedureList.clear();
var data = res["Vida_ProcedureList"];
data.forEach((json) {
diff --git a/lib/core/viewModels/hospital_view_model.dart b/lib/core/viewModels/hospital_view_model.dart
index 66ad4b01..c406c3dc 100644
--- a/lib/core/viewModels/hospital_view_model.dart
+++ b/lib/core/viewModels/hospital_view_model.dart
@@ -10,9 +10,9 @@ class HospitalViewModel extends BaseViewModel {
List get hospitals => _hospitalService.hospitals;
- Future getHospitals() async {
+ Future getHospitals(int languageID) async {
setState(ViewState.Busy);
- await _hospitalService.getHospitals();
+ await _hospitalService.getHospitals(languageID);
if (_hospitalService.hasError) {
error = _hospitalService.error;
setState(ViewState.Error);
diff --git a/lib/core/viewModels/medical/ask_doctor_view_model.dart b/lib/core/viewModels/medical/ask_doctor_view_model.dart
index abe2220c..9f8d9862 100644
--- a/lib/core/viewModels/medical/ask_doctor_view_model.dart
+++ b/lib/core/viewModels/medical/ask_doctor_view_model.dart
@@ -28,12 +28,14 @@ class AskDoctorViewModel extends BaseViewModel {
setState(ViewState.Error);
} else if (_myDoctorService.patientDoctorAppointmentList.length != 0) {
_myDoctorService.patientDoctorAppointmentList.forEach((element) {
- List doctorByClinic = patientDoctorAppointmentListHospital.where((elementClinic) => elementClinic.filterName == element.projectName).toList();
+ if (!element.isLiveCareClinic) {
+ List doctorByClinic = patientDoctorAppointmentListHospital.where((elementClinic) => elementClinic.filterName == element.projectName).toList();
- if (doctorByClinic.length != 0) {
- patientDoctorAppointmentListHospital[patientDoctorAppointmentListHospital.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
- } else {
- patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
+ if (doctorByClinic.length != 0) {
+ patientDoctorAppointmentListHospital[patientDoctorAppointmentListHospital.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
+ } else {
+ patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
+ }
}
setState(ViewState.Idle);
});
diff --git a/lib/core/viewModels/medical/my_balance_view_model.dart b/lib/core/viewModels/medical/my_balance_view_model.dart
index 4166a4b3..47289b81 100644
--- a/lib/core/viewModels/medical/my_balance_view_model.dart
+++ b/lib/core/viewModels/medical/my_balance_view_model.dart
@@ -70,9 +70,9 @@ class MyBalanceViewModel extends BaseViewModel {
}
}
- Future getHospitals({bool isAdvancePayment = false}) async {
+ Future getHospitals(int languageID, {bool isAdvancePayment = false}) async {
setState(ViewState.Busy);
- await _hospitalService.getHospitals(isAdvancePayment: isAdvancePayment);
+ await _hospitalService.getHospitals(languageID, isAdvancePayment: isAdvancePayment);
if (_hospitalService.hasError) {
error = _hospitalService.error;
setState(ViewState.Error);
diff --git a/lib/core/viewModels/medical/reports_view_model.dart b/lib/core/viewModels/medical/reports_view_model.dart
index 8f55b3b7..9e977dfe 100644
--- a/lib/core/viewModels/medical/reports_view_model.dart
+++ b/lib/core/viewModels/medical/reports_view_model.dart
@@ -26,7 +26,7 @@ class ReportsViewModel extends BaseViewModel {
List get admissionsMedicalReportList => _reportsService.admissionsMedicalReport;
- getReports() async {
+ getReports(int languageID) async {
setState(ViewState.Busy);
reportsOrderRequestList.clear();
reportsOrderReadyList.clear();
@@ -37,7 +37,7 @@ class ReportsViewModel extends BaseViewModel {
setState(ViewState.Error);
} else {
_filterList();
- await _reportsService.getInpatientAdmissionsList();
+ await _reportsService.getInpatientAdmissionsList(languageID);
setState(ViewState.Idle);
}
}
diff --git a/lib/core/viewModels/notifications_view_model.dart b/lib/core/viewModels/notifications_view_model.dart
index 80e89edb..a520f36e 100644
--- a/lib/core/viewModels/notifications_view_model.dart
+++ b/lib/core/viewModels/notifications_view_model.dart
@@ -39,7 +39,7 @@ class NotificationViewModel extends BaseViewModel {
await authService.getDashboard().then((value) {
var notificationCount = '';
notificationCount = value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'] > 99 ? '99+' : value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'].toString();
- model.setState(model.count, true, notificationCount);
+ model.setState(model.count, 0, true, notificationCount);
sharedPref.setString(NOTIFICATION_COUNT, notificationCount);
});
diff --git a/lib/models/Appointments/toDoCountProviderModel.dart b/lib/models/Appointments/toDoCountProviderModel.dart
index 3363471f..cf2c0ca4 100644
--- a/lib/models/Appointments/toDoCountProviderModel.dart
+++ b/lib/models/Appointments/toDoCountProviderModel.dart
@@ -2,19 +2,23 @@ import 'package:flutter/cupertino.dart';
class ToDoCountProviderModel with ChangeNotifier {
int _count;
+ int _ancillaryCount;
String _notificationsCount;
bool _isShowBadge = false;
int get count => _count == null ? 0 : _count;
+ int get ancillaryCount => _ancillaryCount == null ? 0 : _ancillaryCount;
+
String get notificationsCount => _notificationsCount == null ? "0" : _notificationsCount;
bool get isShowBadge => _isShowBadge;
- void setState(int count, bool isShowBadge, String notifCount) {
+ void setState(int count, int ancillaryCount, bool isShowBadge, String notifCount) {
_count = count;
_isShowBadge = isShowBadge;
_notificationsCount = notifCount;
+ _ancillaryCount = ancillaryCount;
notifyListeners();
}
}
\ No newline at end of file
diff --git a/lib/models/Authentication/send_activation_request.dart b/lib/models/Authentication/send_activation_request.dart
index 9c9c7804..fbaa744c 100644
--- a/lib/models/Authentication/send_activation_request.dart
+++ b/lib/models/Authentication/send_activation_request.dart
@@ -28,7 +28,7 @@ class SendActivationRequest {
int responseID;
int status;
int familyRegionID;
-
+ bool isPatientExcluded;
SendActivationRequest(
{this.patientMobileNumber,
this.mobileNo,
@@ -58,7 +58,9 @@ class SendActivationRequest {
this.healthId,
this.responseID,
this.status,
- this.familyRegionID});
+ this.familyRegionID,
+ this.isPatientExcluded
+ });
SendActivationRequest.fromJson(Map json) {
patientMobileNumber = json['PatientMobileNumber'];
@@ -90,6 +92,7 @@ class SendActivationRequest {
responseID = json['ReponseID'];
status = json['Status'];
familyRegionID = json['FamilyRegionID'];
+ isPatientExcluded = json['IsPatientExcluded'];
}
Map toJson() {
@@ -123,6 +126,7 @@ class SendActivationRequest {
data['ResponseID'] = responseID;
data['Status'] = status;
data['FamilyRegionID'] = familyRegionID;
+ data['IsPatientExcluded'] = isPatientExcluded;
return data;
}
}
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart
index ec020f49..154dbe19 100644
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart
@@ -41,6 +41,7 @@ class _NewCMCStepThreePageState extends State {
HospitalsModel selectedHospital;
final GlobalKey projectDropdownKey = GlobalKey();
bool isLocationSelected = false;
+ ProjectViewModel projectViewModel;
static CameraPosition _kGooglePlex = CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
@@ -74,7 +75,7 @@ class _NewCMCStepThreePageState extends State {
@override
Widget build(BuildContext context) {
- ProjectViewModel projectViewModel = Provider.of(context);
+ projectViewModel = Provider.of(context);
return AppScaffold(
isShowAppBar: true,
description: TranslationBase.of(context).infoCMC,
@@ -360,10 +361,11 @@ class _NewCMCStepThreePageState extends State {
}
getProjectsList() {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
ClinicListService service = new ClinicListService();
GifLoaderDialogUtils.showMyDialog(context);
List projectsListLocal = [];
- service.getProjectsList(context).then((res) {
+ service.getProjectsList(languageID, context).then((res) {
if (res['MessageStatus'] == 1) {
setState(() {
res['ListProject'].forEach((v) {
diff --git a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart
index 7bacad65..e5ed6ff4 100644
--- a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart
+++ b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart
@@ -5,6 +5,7 @@ import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_cities_response_model.dart';
import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/all_habib_medical_services/e_referral_view_model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart';
@@ -22,6 +23,7 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
import '../dialogs/select_city_dialog.dart';
@@ -436,9 +438,10 @@ class _NewEReferralStepThreePageState extends State {
}
void getAllProjects() {
+ int languageID = Provider.of(context, listen: false).isArabic ? 1 : 2;
ClinicListService service = new ClinicListService();
List projectsListLocal = [];
- service.getProjectsList(context).then((res) {
+ service.getProjectsList(languageID, context).then((res) {
if (res['MessageStatus'] == 1) {
setState(() {
res['ListProject'].forEach((v) {
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart b/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart
index 13de0140..48ef57ff 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart
@@ -32,10 +32,11 @@ class BariatricsPage extends StatefulWidget {
class _BariatricsPageState extends State {
DiseasesByClinic _selectedDisease;
+ ProjectViewModel projectProvider;
@override
Widget build(BuildContext context) {
- ProjectViewModel projectProvider = Provider.of(context);
+ projectProvider = Provider.of(context);
return BaseView(
onModelReady: (model) => model.getClinicCategory(),
@@ -139,6 +140,7 @@ class _BariatricsPageState extends State {
}
callDoctorsSearchAPI() {
+ int languageID = projectProvider.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
List doctorsList = [];
List arr = [];
@@ -148,7 +150,7 @@ class _BariatricsPageState extends State {
List _patientDoctorAppointmentListHospital = List();
DoctorsListService service = new DoctorsListService();
- service.getDoctorsList(108, 0, false, context).then((res) {
+ service.getDoctorsList(108, 0, false, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/result_page.dart b/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/result_page.dart
index fa12a9fe..d4a4f5fc 100644
--- a/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/result_page.dart
+++ b/lib/pages/AlHabibMedicalService/health_calculator/bmi_calculator/result_page.dart
@@ -1,8 +1,8 @@
import 'dart:collection';
import 'package:auto_size_text/auto_size_text.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/health_calculator/bmi_calculator/bariatrics-screen.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
@@ -15,6 +15,7 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
+import 'package:provider/provider.dart';
class ResultPage extends StatefulWidget {
final double finalResult;
@@ -137,6 +138,7 @@ class _ResultPageState extends State {
}
callDoctorsSearchAPI() {
+ int languageID = Provider.of(context, listen: false).isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
List doctorsList = [];
List arr = [];
@@ -146,7 +148,7 @@ class _ResultPageState extends State {
List _patientDoctorAppointmentListHospital = List();
DoctorsListService service = new DoctorsListService();
- service.getDoctorsList(108, 0, false, context).then((res) {
+ service.getDoctorsList(108, 0, false, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/BookAppointment/BookConfirm.dart b/lib/pages/BookAppointment/BookConfirm.dart
index bb4d153a..63f58910 100644
--- a/lib/pages/BookAppointment/BookConfirm.dart
+++ b/lib/pages/BookAppointment/BookConfirm.dart
@@ -329,7 +329,7 @@ class _BookConfirmState extends State {
GifLoaderDialogUtils.showMyDialog(context);
AppoitmentAllHistoryResultList appo;
widget.service
- .insertAppointment(docObject.doctorID, docObject.clinicID, docObject.projectID, widget.selectedTime, widget.selectedDate, initialSlotDuration, context, null, null, null, projectViewModel)
+ .insertAppointment(docObject.doctorID, docObject.clinicID, docObject.projectID, widget.selectedTime, widget.selectedDate, initialSlotDuration, projectViewModel.isArabic ? 1 : 2, context, null, null, null, projectViewModel)
.then((res) {
if (res['MessageStatus'] == 1) {
AppToast.showSuccessToast(message: TranslationBase.of(context).bookedSuccess);
@@ -385,7 +385,7 @@ class _BookConfirmState extends State {
widget.selectedTime = timeSlot.toUtc().add(Duration(hours: 3)).toString().split(" ")[1].substring(0, 5);
GifLoaderDialogUtils.showMyDialog(context);
AppoitmentAllHistoryResultList appo;
- widget.service.insertLiveCareScheduleAppointment(docObject.doctorID, docObject.clinicID, docObject.projectID, docObject.serviceID, widget.selectedTime, widget.selectedDate, context).then((res) {
+ widget.service.insertLiveCareScheduleAppointment(docObject.doctorID, docObject.clinicID, docObject.projectID, docObject.serviceID, widget.selectedTime, widget.selectedDate, projectViewModel.isArabic ? 1 : 2, context).then((res) {
if (res['MessageStatus'] == 1) {
AppToast.showSuccessToast(message: TranslationBase.of(context).bookedSuccess);
print(res['AppointmentNo']);
@@ -428,12 +428,13 @@ class _BookConfirmState extends State {
}
getToDoCount() {
- toDoProvider.setState(0, true, toDoProvider.notificationsCount);
+ toDoProvider.setState(0, 0, true, toDoProvider.notificationsCount);
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
print(res['AppointmentActiveNumber']);
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount);
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
} else {}
}).catchError((err) {
print(err);
@@ -441,9 +442,10 @@ class _BookConfirmState extends State {
}
getPatientShare(context, String appointmentNo, int clinicID, int projectID, DoctorList docObject) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
String errorMsg = "";
GifLoaderDialogUtils.showMyDialog(context);
- widget.service.getPatientShare(appointmentNo, clinicID, projectID, context).then((res) {
+ widget.service.getPatientShare(appointmentNo, clinicID, projectID, languageID, context).then((res) {
projectViewModel.selectedBodyPartList.clear();
projectViewModel.laserSelectionDuration = 0;
if(res['OnlineCheckInAppointments'].length != 0) {
@@ -487,7 +489,7 @@ class _BookConfirmState extends State {
}
getLiveCareAppointmentPatientShare(context, String appointmentNo, int clinicID, int projectID, DoctorList docObject) {
- widget.service.getLiveCareAppointmentPatientShare(appointmentNo, clinicID, projectID, context).then((res) {
+ widget.service.getLiveCareAppointmentPatientShare(appointmentNo, clinicID, projectID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
widget.patientShareResponse = new PatientShareResponse.fromJson(res);
GifLoaderDialogUtils.hideDialog(context);
navigateToBookSuccess(context, docObject, widget.patientShareResponse, false);
diff --git a/lib/pages/BookAppointment/BookSuccess.dart b/lib/pages/BookAppointment/BookSuccess.dart
index f41d5a84..7cce4fcf 100644
--- a/lib/pages/BookAppointment/BookSuccess.dart
+++ b/lib/pages/BookAppointment/BookSuccess.dart
@@ -500,7 +500,7 @@ class _BookSuccessState extends State {
setOnlineCheckInForAppointment() {
DoctorsListService service = new DoctorsListService();
GifLoaderDialogUtils.showMyDialog(context);
- service.setOnlineCheckInForAppointment(widget.patientShareResponse.appointmentNo.toString(), widget.patientShareResponse.projectID, context).then((res) {
+ service.setOnlineCheckInForAppointment(widget.patientShareResponse.appointmentNo.toString(), widget.patientShareResponse.projectID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
AppoitmentAllHistoryResultList appo = new AppoitmentAllHistoryResultList();
appo.clinicID = widget.docObject.clinicID;
appo.projectID = widget.docObject.projectID;
@@ -545,7 +545,7 @@ class _BookSuccessState extends State {
GifLoaderDialogUtils.showMyDialog(context);
service
.insertVIDARequest(appo.appointmentNo, appo.clinicID, appo.projectID, appo.serviceID, appo.doctorID, appo.appointmentDate,
- Utils.getAppointmentTransID(appo.projectID, appo.clinicID, appo.appointmentNo), context)
+ Utils.getAppointmentTransID(appo.projectID, appo.clinicID, appo.appointmentNo), projectViewModel.isArabic ? 1 : 2, context)
.then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
diff --git a/lib/pages/BookAppointment/DentalComplaints.dart b/lib/pages/BookAppointment/DentalComplaints.dart
index 27cb951e..487fbab4 100644
--- a/lib/pages/BookAppointment/DentalComplaints.dart
+++ b/lib/pages/BookAppointment/DentalComplaints.dart
@@ -75,10 +75,12 @@ class _DentalComplaintsState extends State {
languageID: languageID,
isDoctorNameSearch: widget.isDoctorNameSearch,
onSelectedMethod: widget.onSelectedMethod,
- )..logAnalytics = (){
- final info = widget.searchInfo;
- locator().appointment.book_appointment_chief_complaints(appointment_type: 'regular', hospital: info.hospital, clinic: info.clinic, treatment: complaintsList[index]);
- },
+ )..logAnalytics = () {
+ final info = widget.searchInfo;
+ locator()
+ .appointment
+ .book_appointment_chief_complaints(appointment_type: 'regular', hospital: info.hospital, clinic: info.clinic, treatment: complaintsList[index]);
+ },
);
},
separatorBuilder: (BuildContext context, int index) {
@@ -207,11 +209,12 @@ class _DentalComplaintsState extends State {
}
continueDentalPlan() {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
DoctorsListService service = new DoctorsListService();
GifLoaderDialogUtils.showMyDialog(context);
int appoTime = 0;
- service.getDoctorsList(int.parse("17"), widget.searchInfo.ProjectID, false, context, isContinueDentalPlan: true).then((res) {
+ service.getDoctorsList(int.parse("17"), widget.searchInfo.ProjectID, false, languageID, context, isContinueDentalPlan: true).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
dentalProceduresModel = DentalProceduresModel.fromJson(res);
@@ -254,10 +257,11 @@ class _DentalComplaintsState extends State {
}
getChiefComplaintsList() {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
getLanguageID();
ClinicListService service = new ClinicListService();
- service.getChiefComplaintsList(widget.searchInfo.ClinicID, widget.searchInfo.ProjectID, context).then((res) {
+ service.getChiefComplaintsList(widget.searchInfo.ClinicID, widget.searchInfo.ProjectID, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/BookAppointment/DoctorProfile.dart b/lib/pages/BookAppointment/DoctorProfile.dart
index 426df212..1ad0bf67 100644
--- a/lib/pages/BookAppointment/DoctorProfile.dart
+++ b/lib/pages/BookAppointment/DoctorProfile.dart
@@ -234,7 +234,7 @@ class _DoctorProfileState extends State with TickerProviderStateM
getDoctorRatings() {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- service.getDoctorsRating(widget.doctor.doctorID, context).then((res) {
+ service.getDoctorsRating(widget.doctor.doctorID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
print(res['NotesDoctorRatingList']);
@@ -251,7 +251,7 @@ class _DoctorProfileState extends State with TickerProviderStateM
getDoctorRatingsDetails() {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- service.getDoctorsRatingDetails(widget.doctor.doctorID, context).then((res) {
+ service.getDoctorsRatingDetails(widget.doctor.doctorID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
doctorDetailsList.clear();
diff --git a/lib/pages/BookAppointment/QRCode.dart b/lib/pages/BookAppointment/QRCode.dart
index 3b7e6300..cc700e97 100644
--- a/lib/pages/BookAppointment/QRCode.dart
+++ b/lib/pages/BookAppointment/QRCode.dart
@@ -11,6 +11,7 @@ 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/models/header_model.dart';
+import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
@@ -63,7 +64,7 @@ class _QRCodeState extends State {
widget.authUser = new AuthenticatedUser();
// WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
- // startNFCScan();
+ // startNFCScan();
// });
super.initState();
@@ -92,16 +93,21 @@ class _QRCodeState extends State {
}
startLocationCheckIn() async {
+ GifLoaderDialogUtils.showMyDialog(context);
locationUtils = new LocationUtils(isShowConfirmDialog: true, context: context);
locationUtils.getCurrentLocation(callBack: (value) {
projectDetailListModel = Utils.getProjectDetailObj(projectViewModel, widget.appointment.projectID);
double dist = Utils.distance(value.latitude, value.longitude, double.parse(projectDetailListModel.latitude), double.parse(projectDetailListModel.longitude)).ceilToDouble() * 1000;
print(dist);
if (dist <= projectDetailListModel.geofenceRadius) {
+ GifLoaderDialogUtils.hideDialog(context);
sendNfcCheckInRequest(projectDetailListModel.checkInQrCode, 3);
} else {
+ GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: TranslationBase.of(context).locationCheckInError);
}
+ }, failureCallBack: () {
+ GifLoaderDialogUtils.hideDialog(context);
});
}
@@ -213,19 +219,17 @@ class _QRCodeState extends State {
optionsList.add(
InkWell(
onTap: () {
- if (projectViewModel.havePrivilege(80) && _supportsNFC) {
- startNFCScan();
- } else {
- Utils.showErrorToast(TranslationBase.of(context).NFCNotSupported);
+ if (projectViewModel.havePrivilege(102)) {
+ startLocationCheckIn();
}
},
child: MedicalProfileItem(
- title: TranslationBase.of(context).scanNFC,
- imagePath: 'contactless.svg',
+ title: TranslationBase.of(context).checkInViaLocation,
+ imagePath: 'location.svg',
subTitle: "",
- isEnable: projectViewModel.havePrivilege(80),
- width: 80.0,
- height: 80.0,
+ isEnable: projectViewModel.havePrivilege(102),
+ width: 70.0,
+ height: 70.0,
),
),
);
@@ -251,17 +255,19 @@ class _QRCodeState extends State {
optionsList.add(
InkWell(
onTap: () {
- if (projectViewModel.havePrivilege(102)) {
- startLocationCheckIn();
+ if (projectViewModel.havePrivilege(80) && _supportsNFC) {
+ startNFCScan();
+ } else {
+ Utils.showErrorToast(TranslationBase.of(context).NFCNotSupported);
}
},
child: MedicalProfileItem(
- title: TranslationBase.of(context).checkInViaLocation,
- imagePath: 'location.svg',
+ title: TranslationBase.of(context).scanNFC,
+ imagePath: 'contactless.svg',
subTitle: "",
- isEnable: projectViewModel.havePrivilege(102),
- width: 70.0,
- height: 70.0,
+ isEnable: projectViewModel.havePrivilege(80),
+ width: 80.0,
+ height: 80.0,
),
),
);
@@ -378,6 +384,7 @@ class _QRCodeState extends State {
child: const Text('OK'),
onPressed: () {
Navigator.of(context).pop();
+ Navigator.pushAndRemoveUntil(context, MaterialPageRoute(builder: (context) => LandingPage()), (Route r) => false);
},
),
],
diff --git a/lib/pages/BookAppointment/components/LaserClinic.dart b/lib/pages/BookAppointment/components/LaserClinic.dart
index 918ca9ad..61ca55d7 100644
--- a/lib/pages/BookAppointment/components/LaserClinic.dart
+++ b/lib/pages/BookAppointment/components/LaserClinic.dart
@@ -69,7 +69,7 @@ class _LaserClinicState extends State with SingleTickerProviderStat
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- service.getLaserBodyPartsList(laserCategoryId, widget.selectedHospital.iD).then((res) {
+ service.getLaserBodyPartsList(laserCategoryId, widget.selectedHospital.iD, projectViewModel.isArabic ? 1 : 2).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
if (res['Laser_GetBodyPartsByCategoryList'].length != 0) {
@@ -204,6 +204,7 @@ class _LaserClinicState extends State with SingleTickerProviderStat
}
callDoctorsSearchAPI() {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
List doctorsList = [];
List arr = [];
@@ -214,7 +215,7 @@ class _LaserClinicState extends State with SingleTickerProviderStat
DoctorsListService service = new DoctorsListService();
projectViewModel.selectedBodyPartList = _selectedBodyPartList;
- service.getDoctorsList(253, 0, false, context).then((res) {
+ service.getDoctorsList(253, 0, false, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/BookAppointment/components/SearchByClinic.dart b/lib/pages/BookAppointment/components/SearchByClinic.dart
index 26deb0f8..a0fed504 100644
--- a/lib/pages/BookAppointment/components/SearchByClinic.dart
+++ b/lib/pages/BookAppointment/components/SearchByClinic.dart
@@ -499,10 +499,11 @@ class _SearchByClinicState extends State {
}
getProjectsList() {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
ClinicListService service = new ClinicListService();
List projectsListLocal = [];
service
- .getProjectsList(context)
+ .getProjectsList(languageID, context)
.then((res) {
if (res['MessageStatus'] == 1) {
setState(() {
@@ -572,6 +573,7 @@ class _SearchByClinicState extends State {
}
callDoctorsSearchAPI(int clinicID) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
List doctorsList = [];
List arr = [];
@@ -581,7 +583,7 @@ class _SearchByClinicState extends State {
List _patientDoctorAppointmentListHospital = List();
DoctorsListService service = new DoctorsListService();
- service.getDoctorsList(clinicID, projectDropdownValue != "" ? int.parse(projectDropdownValue) : 0, nearestAppo, context).then((res) {
+ service.getDoctorsList(clinicID, projectDropdownValue != "" ? int.parse(projectDropdownValue) : 0, nearestAppo, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/BookAppointment/components/SearchByDoctor.dart b/lib/pages/BookAppointment/components/SearchByDoctor.dart
index 4425d926..a37f45e1 100644
--- a/lib/pages/BookAppointment/components/SearchByDoctor.dart
+++ b/lib/pages/BookAppointment/components/SearchByDoctor.dart
@@ -90,13 +90,14 @@ class _SearchByDoctorState extends State {
}
getDoctorsList(BuildContext context) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
List doctorsList = [];
DoctorsListService service = new DoctorsListService();
List _patientDoctorAppointmentListHospital = List();
- service.getDoctorsListByName(doctorNameController.text, context).then((res) {
+ service.getDoctorsListByName(doctorNameController.text, languageID, context).then((res) {
// GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/BookAppointment/widgets/DentalComplaintCard.dart b/lib/pages/BookAppointment/widgets/DentalComplaintCard.dart
index 83b298f2..7e93dc9f 100644
--- a/lib/pages/BookAppointment/widgets/DentalComplaintCard.dart
+++ b/lib/pages/BookAppointment/widgets/DentalComplaintCard.dart
@@ -1,3 +1,4 @@
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DentalChiefComplaintsModel.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart';
@@ -6,6 +7,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
// ignore: must_be_immutable
class DentalComplaintCard extends StatefulWidget {
@@ -60,12 +62,13 @@ class _DentalComplaintCardState extends State {
}
getChiefComplaintsList() {
+ int languageID = Provider.of(context, listen: false).isArabic ? 1 : 2;
List doctorsList = [];
List _patientDoctorAppointmentListHospital = List();
GifLoaderDialogUtils.showMyDialog(context);
ClinicListService service = new ClinicListService();
- service.getChiefComplaintDoctorList(widget.listDentalChiefComplain.iD, widget.listDentalChiefComplain.projectID, context).then((res) {
+ service.getChiefComplaintDoctorList(widget.listDentalChiefComplain.iD, widget.listDentalChiefComplain.projectID, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
print(res['List_DentalDoctorChiefComplaintMapping']);
diff --git a/lib/pages/BookAppointment/widgets/DoctorView.dart b/lib/pages/BookAppointment/widgets/DoctorView.dart
index 32aff5ac..6969302f 100644
--- a/lib/pages/BookAppointment/widgets/DoctorView.dart
+++ b/lib/pages/BookAppointment/widgets/DoctorView.dart
@@ -183,10 +183,11 @@ class DoctorView extends StatelessWidget {
}
getDoctorsProfile(context, DoctorList docObject, {isAppo}) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
List docProfileList = [];
DoctorsListService service = new DoctorsListService();
- service.getDoctorsProfile(docObject.doctorID, docObject.clinicID, docObject.projectID, context).then((res) {
+ service.getDoctorsProfile(docObject.doctorID, docObject.clinicID, docObject.projectID, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
if (res['DoctorProfileList'].length != 0) {
diff --git a/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart b/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart
index 9b5c47a7..8acf6efe 100644
--- a/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart
+++ b/lib/pages/Covid-DriveThru/Covid-TimeSlots.dart
@@ -412,7 +412,7 @@ class _CovidTimeSlotsState extends State with TickerProviderStat
insertCovidQuestionnaire(context, DoctorList docObject) async {
DoctorsListService service = new DoctorsListService();
List qa = await sharedPref.getObject(COVID_QA_LIST);
- service.insertCovidQuestionnaire(qa, widget.projectID, widget.selectedProject.testTypeEnum, widget.selectedProject.testProcedureEnum).then((res) {
+ service.insertCovidQuestionnaire(qa, widget.projectID, widget.selectedProject.testTypeEnum, projectViewModel.isArabic ? 1 : 2, widget.selectedProject.testProcedureEnum).then((res) {
insertAppointmentCovidTest(context, docObject);
}).catchError((err) {
print(err);
@@ -430,7 +430,7 @@ class _CovidTimeSlotsState extends State with TickerProviderStat
DoctorsListService service = new DoctorsListService();
AppoitmentAllHistoryResultList appo;
service
- .insertAppointment(docObject.doctorID, docObject.clinicID, docObject.projectID, CovidTimeSlots.selectedTime, CovidTimeSlots.selectedDate, 0, context, widget.selectedProcedure.procedureID,
+ .insertAppointment(docObject.doctorID, docObject.clinicID, docObject.projectID, CovidTimeSlots.selectedTime, CovidTimeSlots.selectedDate, 0, projectViewModel.isArabic ? 1 : 2, context, widget.selectedProcedure.procedureID,
widget.selectedProject.testTypeEnum, widget.selectedProject.testProcedureEnum)
.then((res) {
if (res['MessageStatus'] == 1) {
@@ -468,12 +468,13 @@ class _CovidTimeSlotsState extends State with TickerProviderStat
}
getToDoCount() {
- toDoProvider.setState(0, true, toDoProvider.notificationsCount);
+ toDoProvider.setState(0, 0, true, toDoProvider.notificationsCount);
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
print(res['AppointmentActiveNumber']);
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount);
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
} else {}
}).catchError((err) {
print(err);
@@ -499,8 +500,9 @@ class _CovidTimeSlotsState extends State with TickerProviderStat
}
getPatientShare(context, String appointmentNo, int clinicID, int projectID, DoctorList docObject) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
DoctorsListService service = new DoctorsListService();
- service.getPatientShare(appointmentNo, clinicID, projectID, context).then((res) {
+ service.getPatientShare(appointmentNo, clinicID, projectID, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res);
widget.patientShareResponse = new PatientShareResponse.fromJson(res);
diff --git a/lib/pages/DrawerPages/family/add-family-member.dart b/lib/pages/DrawerPages/family/add-family-member.dart
index 6d9064d7..c3d79918 100644
--- a/lib/pages/DrawerPages/family/add-family-member.dart
+++ b/lib/pages/DrawerPages/family/add-family-member.dart
@@ -161,7 +161,8 @@ class _AddMember extends State {
}
insertFamilyData(addMemberResult) {
- sendActivationCode(addMemberResult);
+
+ sendActivationCode(addMemberResult, addMemberResult['ShareFamilyFileObj']['IsPatientExcluded']);
// var request = InsertSharePatientFileReq();
// request.responseID = addMemberResult['ShareFamilyFileObj']['ReponseID'];
// request.shareFamilyPatientName = addMemberResult['ShareFamilyFileObj']['SharedPatientName'];
@@ -178,13 +179,21 @@ class _AddMember extends State {
// });
}
- sendActivationCode(result) {
+ sendActivationCode(result, bool isExcluded) {
// var request = this.getCommonRequest();
loading(true);
patientShareResponseID = result['ShareFamilyFileObj']['ReponseID'];
- familyFileProvider.sendActivationCode(mobileNo, countryCode, nationalIDorFile.text, patientShareResponseID).then((res) => {
- patientShareRequestID = res['PatientShareRequestID'],
- if (res != null && res['isSMSSent'] == true) {this.startSMSService(1, res)}
+ familyFileProvider.sendActivationCode(mobileNo, countryCode, nationalIDorFile.text, patientShareResponseID, isExcluded).then((res) {
+ patientShareRequestID = res['PatientShareRequestID'];
+ if (res != null && res['isSMSSent'] == true)
+ {
+ this.startSMSService(1, res);
+
+ }else
+ {
+ this.checkActivationCodeExcluded('0000', res);
+ }
+
});
}
@@ -206,12 +215,19 @@ class _AddMember extends State {
).displayDialog(context);
}
+ checkActivationCodeExcluded(value, result){
+ familyFileProvider.checkActivationCode(result['LogInTokenID'], value, nationalIDorFile.text, mobileNo, patientShareRequestID, patientShareResponseID).then((result) {
+ SMSOTP.hideSMSBox(context);
+ handleFamilyRequests();
+ });
+ }
+
checkActivationCode(value, result) {
Navigator.pop(context);
GifLoaderDialogUtils.showMyDialog(context);
familyFileProvider.checkActivationCode(result['LogInTokenID'], value, nationalIDorFile.text, mobileNo, patientShareRequestID, patientShareResponseID).then((result) {
SMSOTP.hideSMSBox(context);
- handleFamilyRequests(this.patientShareRequestID, 3);
+ handleFamilyRequests();
}).catchError((err) {
Future.delayed(Duration(seconds: 1), () {
AppToast.showErrorToast(message: err);
@@ -220,13 +236,12 @@ class _AddMember extends State {
});
}
- handleFamilyRequests(id, stauts) {
- // familyFileProvider.acceptAndRejectRecievedRequests(id, stauts).then((result) => {
- sharedPref.remove(FAMILY_FILE);
- Navigator.of(context).pushNamed(
- MY_FAMILIY,
- );
- // });
+ handleFamilyRequests() {
+ Navigator.pop(context);
+ sharedPref.remove(FAMILY_FILE);
+ Navigator.of(context).pushNamed(
+ MY_FAMILIY
+ );
}
loading(flag) {
diff --git a/lib/pages/DrawerPages/family/my-family.dart b/lib/pages/DrawerPages/family/my-family.dart
index d88c86e3..9d80ee83 100644
--- a/lib/pages/DrawerPages/family/my-family.dart
+++ b/lib/pages/DrawerPages/family/my-family.dart
@@ -341,8 +341,8 @@ class _MyFamily extends State with TickerProviderStateMixin {
return requestDecoratedContainerWithExpandable(
TranslationBase.of(context).sentRequest,
[
- Expanded(flex: 4, child: columnText(TranslationBase.of(context).name)),
- Expanded(flex: 2, child: columnText(TranslationBase.of(context).status)),
+ Expanded(flex: 3, child: columnText(TranslationBase.of(context).name)),
+ Expanded(flex: 1, child: columnText(TranslationBase.of(context).status)),
],
sentRecordsList.map((result) {
return sentItemView(result);
@@ -351,29 +351,26 @@ class _MyFamily extends State with TickerProviderStateMixin {
Widget sentItemView(GetAllSharedRecordsByStatusList result) {
return Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- Expanded(flex: 2, child: rowText(result.patientName)),
+ Expanded(flex: 3, child: rowText(result.patientName)),
Expanded(
flex: 1,
- child: Row(
- children: [
- Container(
- padding: EdgeInsets.only(top: 3, bottom: 3, left: 8, right: 8),
- decoration: BoxDecoration(
- borderRadius: BorderRadius.circular(50),
- color: result.status == 3 ? Color(0xff349745) : Color(0xffD02127),
- ),
- child: Text(
- result.statusDescription != null ? result.statusDescription : "",
- style: TextStyle(
- fontSize: 10,
- color: Colors.white,
- letterSpacing: -0.4,
- fontWeight: FontWeight.w600,
- ),
- ),
+ child: Container(
+ padding: EdgeInsets.only(top: 3, bottom: 3, left: 8, right: 8),
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(50),
+ color: result.status == 3 ? Color(0xff349745) : Color(0xffD02127),
+ ),
+ child: Text(
+ result.statusDescription != null ? result.statusDescription : "",
+ style: TextStyle(
+ fontSize: 10,
+ color: Colors.white,
+ letterSpacing: -0.4,
+ fontWeight: FontWeight.w600,
),
- ],
+ ),
),
),
],
@@ -443,7 +440,11 @@ class _MyFamily extends State with TickerProviderStateMixin {
Map request = {};
request['ID'] = this.userID;
request['IsActive'] = false;
- this.familyFileProvider.deativateActivateMemberFile(request).then((value) => refreshFamily(context));
+ this.familyFileProvider.deativateActivateMemberFile(request).then((value) {
+ refreshFamily(context);
+ GifLoaderDialogUtils.hideDialog(context);
+ });
+
}
refreshFamily(context) async {
@@ -476,7 +477,7 @@ class _MyFamily extends State with TickerProviderStateMixin {
var bloodType = await sharedPref.getString(BLOOD_TYPE);
var mainUser = await sharedPref.getObject(MAIN_USER);
var loginType = await sharedPref.getInt(LAST_LOGIN);
- this.sharedPref.clear();
+ // this.sharedPref.clear();
if (mainUser["PatientID"] != result.list.patientID) {
result.list.isFamily = true;
}
@@ -535,9 +536,11 @@ class _MyFamily extends State with TickerProviderStateMixin {
var data = AuthenticatedUser.fromJson(await this.sharedPref.getObject(USER_PROFILE));
// var data2 = AuthenticatedUser.fromJson(await this.sharedPref.getObject(MAIN_USER));
await getFamilyFiles();
+ this.user = data;
+ setState(() {
+
+ });
- this.user = data;
- setState(() {});
}
}
@@ -547,6 +550,7 @@ class _MyFamily extends State with TickerProviderStateMixin {
List sentRecordsList = [];
Future getFamilyFiles() async {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GetAllSharedRecordsByStatusResponse familySharedRecords;
if (await sharedPref.getObject(FAMILY_FILE) != null) {
familySharedRecords = GetAllSharedRecordsByStatusResponse.fromJson(await sharedPref.getObject(FAMILY_FILE));
@@ -554,9 +558,9 @@ class _MyFamily extends State with TickerProviderStateMixin {
GifLoaderDialogUtils.showMyDialog(context);
try {
if (familySharedRecords == null) {
- int languageID = Provider.of(context, listen: false).isArabic ? 1 : 2;
familySharedRecords = await familyFileProvider.getSharedRecordByStatus(languageID);
}
+ familySharedRecordsList =[];
sentRecordsList = [];
familySharedRecords.getAllSharedRecordsByStatusList.forEach((element) {
if (element.status == 3) {
@@ -566,7 +570,7 @@ class _MyFamily extends State with TickerProviderStateMixin {
});
approvedRecordsList = [];
pendingRecordsList = [];
- GetAllSharedRecordsByStatusResponse pendingAndApprovedRecords = await getUserViewRequest();
+ GetAllSharedRecordsByStatusResponse pendingAndApprovedRecords = await getUserViewRequest(languageID);
pendingAndApprovedRecords.getAllSharedRecordsByStatusList.forEach((element) {
print(element.toJson());
@@ -582,9 +586,9 @@ class _MyFamily extends State with TickerProviderStateMixin {
GifLoaderDialogUtils.hideDialog(context);
}
- Future getUserViewRequest() async {
+ Future getUserViewRequest(int languageID) async {
var user = await sharedPref.getObject(USER_PROFILE);
- return familyFileProvider.getUserViewRequest(user['PatientID']);
+ return familyFileProvider.getUserViewRequest(user['PatientID'], languageID);
}
Future getSentRequest() async {
@@ -593,13 +597,14 @@ class _MyFamily extends State with TickerProviderStateMixin {
}
getToDoCount() async {
- toDoProvider.setState(0, true, toDoProvider.notificationsCount);
+ toDoProvider.setState(0, 0, true, toDoProvider.notificationsCount);
ClinicListService service = ClinicListService();
try {
var res = await service.getActiveAppointmentNo(context);
print(res['AppointmentActiveNumber']);
if (res['MessageStatus'] == 1 && res['AppointmentActiveNumber'] != null) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount);
} else {}
} catch (ex) {
print("getToDoCount:$ex");
@@ -609,7 +614,7 @@ class _MyFamily extends State with TickerProviderStateMixin {
Widget columnText(String title) {
return Text(
title,
- textAlign: TextAlign.left,
+ // textAlign: TextAlign.left,
style: TextStyle(
fontSize: 12,
color: CustomColors.textDarkColor,
@@ -622,7 +627,7 @@ class _MyFamily extends State with TickerProviderStateMixin {
Widget rowText(String title) {
return Text(
title,
- textAlign: TextAlign.left,
+ // textAlign: TextAlign.left,
style: TextStyle(
fontSize: 10,
color: CustomColors.textColor,
diff --git a/lib/pages/ErService/AmbulanceReq.dart b/lib/pages/ErService/AmbulanceReq.dart
index 3803bcd4..29abc3fc 100644
--- a/lib/pages/ErService/AmbulanceReq.dart
+++ b/lib/pages/ErService/AmbulanceReq.dart
@@ -40,7 +40,7 @@ class _AmbulanceReqState extends State with SingleTickerProviderSt
imagesInfo.add(ImagesInfo(imageEn: 'https://hmgwebservices.com/Images/MobileApp/Ambulance/en/0.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/Ambulance/ar/0.png'));
return BaseView(
- onModelReady: (model) => model.getAmRequestOrders(),
+ onModelReady: (model) => model.getAmRequestOrders(projectViewModel.isArabic ? 1 : 2),
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
showNewAppBarTitle: true,
diff --git a/lib/pages/ErService/EdOnline/EdOnlineSelectedHospitalPage.dart b/lib/pages/ErService/EdOnline/EdOnlineSelectedHospitalPage.dart
index 76eace88..ca933f42 100644
--- a/lib/pages/ErService/EdOnline/EdOnlineSelectedHospitalPage.dart
+++ b/lib/pages/ErService/EdOnline/EdOnlineSelectedHospitalPage.dart
@@ -33,7 +33,7 @@ class _EdOnlineSelectedHospitalPageState extends State(
- onModelReady: (model) => model.getHospitals(),
+ onModelReady: (model) => model.getHospitals(projectViewModel.isArabic ? 1 : 2),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
body: SingleChildScrollView(
diff --git a/lib/pages/ErService/rapid-response-team/rrt-main-screen.dart b/lib/pages/ErService/rapid-response-team/rrt-main-screen.dart
index b56e28d5..ec1d5a23 100644
--- a/lib/pages/ErService/rapid-response-team/rrt-main-screen.dart
+++ b/lib/pages/ErService/rapid-response-team/rrt-main-screen.dart
@@ -56,7 +56,7 @@ class RRTMainScreenState extends State with SingleTickerProviderS
onModelReady: (vm) async {
viewModel = vm;
loadingData = true;
- await vm.loadRequiredData().then((value) {}).whenComplete(() => setState(() => loadingData = false));
+ await vm.loadRequiredData(projectViewModel.isArabic ? 1 : 2).then((value) {}).whenComplete(() => setState(() => loadingData = false));
},
builder: (ctx, vm, widget) => content(),
));
diff --git a/lib/pages/ErService/rapid-response-team/rrt-request-page.dart b/lib/pages/ErService/rapid-response-team/rrt-request-page.dart
index 8541b859..beada490 100644
--- a/lib/pages/ErService/rapid-response-team/rrt-request-page.dart
+++ b/lib/pages/ErService/rapid-response-team/rrt-request-page.dart
@@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/er/rrt-view-model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/rrt/RRTProcedureList.dart';
import 'package:diplomaticquarterapp/models/rrt/service_price.dart';
import 'package:diplomaticquarterapp/pages/ErService/rapid-response-team/rrt-order-list-item.dart';
@@ -16,6 +17,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
class RRTRequestPage extends StatefulWidget {
final List pendingOrders;
@@ -32,6 +34,8 @@ class RRTRequestPageState extends State {
bool acceptTerms = false;
VidaProcedureList selectedProcedure;
+ ProjectViewModel projectViewModel;
+
@override
void initState() {
// getProcedureDetails();
@@ -40,6 +44,7 @@ class RRTRequestPageState extends State {
@override
Widget build(BuildContext context) {
+ projectViewModel = Provider.of(context);
return BaseView(
onModelReady: (vm) {
// viewModel = vm;
@@ -272,7 +277,7 @@ class RRTRequestPageState extends State {
getProcedureDetails() {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- service.getRRTProcedures(15).then((res) {
+ service.getRRTProcedures(15, projectViewModel.isArabic ? 1 : 2).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res['Vida_ProcedureList']);
}).catchError((err) {
diff --git a/lib/pages/MyAppointments/AppointmentDetails.dart b/lib/pages/MyAppointments/AppointmentDetails.dart
index ceee266b..cd5597db 100644
--- a/lib/pages/MyAppointments/AppointmentDetails.dart
+++ b/lib/pages/MyAppointments/AppointmentDetails.dart
@@ -11,6 +11,7 @@ import 'package:diplomaticquarterapp/models/header_model.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/BookConfirm.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/components/DocAvailableAppointments.dart';
import 'package:diplomaticquarterapp/pages/MyAppointments/SchedulePage.dart';
+import 'package:diplomaticquarterapp/pages/MyAppointments/models/AppointmentType.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/theme/colors.dart';
@@ -260,6 +261,19 @@ class _AppointmentDetailsState extends State with SingleTick
),
),
);
+ list.add(
+ SizedBox(width: 8),
+ );
+ if (AppointmentType.isBooked(widget.appo))
+ list.add(
+ Expanded(
+ child: DefaultButton(
+ TranslationBase.of(context).confirm,
+ confirmAppointment,
+ color: Color(0xff359846),
+ ),
+ ),
+ );
} else if (_tabController.index == 1) {
list.add(
Expanded(
@@ -314,7 +328,7 @@ class _AppointmentDetailsState extends State with SingleTick
void getDoctorRatingsDetails() {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- service.getDoctorsRatingDetails(widget.appo.doctorID, context).then((res) {
+ service.getDoctorsRatingDetails(widget.appo.doctorID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
doctorDetailsList.clear();
@@ -489,10 +503,10 @@ class _AppointmentDetailsState extends State with SingleTick
minWidth: MediaQuery.of(context).size.width,
height: 40.0,
child: CustomTextButton(
- elevation: 0.0,
- backgroundColor: Colors.white,
- disabledForegroundColor: new Color(0xFFbcc2c4).withOpacity(0.38),
- disabledBackgroundColor: new Color(0xFFbcc2c4).withOpacity(0.12),
+ elevation: 0.0,
+ backgroundColor: Colors.white,
+ disabledForegroundColor: new Color(0xFFbcc2c4).withOpacity(0.38),
+ disabledBackgroundColor: new Color(0xFFbcc2c4).withOpacity(0.12),
onPressed: () {
Navigator.of(context).pop();
},
@@ -627,11 +641,12 @@ class _AppointmentDetailsState extends State with SingleTick
}
getToDoCount() {
- toDoProvider.setState(0, true, toDoProvider.notificationsCount);
+ toDoProvider.setState(0, 0, true, toDoProvider.notificationsCount);
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount);
} else {}
}).catchError((err) {
print(err);
diff --git a/lib/pages/MyAppointments/MyAppointments.dart b/lib/pages/MyAppointments/MyAppointments.dart
index 31b8f85b..7939e0c0 100644
--- a/lib/pages/MyAppointments/MyAppointments.dart
+++ b/lib/pages/MyAppointments/MyAppointments.dart
@@ -25,7 +25,13 @@ import 'package:provider/provider.dart';
import 'AppointmentDetails.dart';
class MyAppointments extends StatefulWidget {
- List appoList = [];
+ @override
+ _MyAppointmentsState createState() => _MyAppointmentsState();
+}
+
+class _MyAppointmentsState extends State with SingleTickerProviderStateMixin {
+ List upcomingAppoList = [];
+ List arrivedAppoListNew = [];
List bookedAppoList = [];
List confirmedAppoList = [];
@@ -39,11 +45,9 @@ class MyAppointments extends StatefulWidget {
List _patientConfirmedAppointmentListClinic = List();
List _patientArrivedAppointmentListClinic = List();
- @override
- _MyAppointmentsState createState() => _MyAppointmentsState();
-}
+ List _patientBookedAndConfirmedAppointmentListHospital = List();
+ List _patientBookedAndConfirmedAppointmentListClinic = List();
-class _MyAppointmentsState extends State with SingleTickerProviderStateMixin {
bool isDataLoaded = false;
var sharedPref = new AppSharedPreferences();
AuthenticatedUserObject authenticatedUserObject = locator();
@@ -52,15 +56,16 @@ class _MyAppointmentsState extends State with SingleTickerProvid
FilterType filterType;
- int _currentPage = 0;
+ int _currentPage = 1;
ToDoCountProviderModel toDoProvider;
+ ProjectViewModel projectViewModel;
@override
void initState() {
filterType = FilterType.Clinic;
WidgetsBinding.instance.addPostFrameCallback((_) {
- if (Provider.of(context, listen: false).isLogin) getPatientAppointmentHistory();
+ if (Provider.of(context, listen: false).isLogin) getPatientAppointmentHistory(true, false);
});
imagesInfo.add(ImagesInfo(
imageEn: 'https://hmgwebservices.com/Images/MobileApp/imges-info/my-appointment/en/0.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/imges-info/my-appointment/ar/0.png'));
@@ -76,6 +81,7 @@ class _MyAppointmentsState extends State with SingleTickerProvid
@override
Widget build(BuildContext context) {
+ projectViewModel = Provider.of(context);
toDoProvider = Provider.of(context);
return AppScaffold(
appBarTitle: TranslationBase.of(context).myAppointmentsList,
@@ -84,7 +90,7 @@ class _MyAppointmentsState extends State with SingleTickerProvid
showNewAppBar: true,
backgroundColor: Color(0xffF8F8F8),
showNewAppBarTitle: true,
- showDropDown: true,
+ showDropDown: false,
dropdownIndexValue: _currentPage,
dropDownIndexChange: (index) {
setState(() {
@@ -92,8 +98,8 @@ class _MyAppointmentsState extends State with SingleTickerProvid
});
},
dropDownList: [
- TranslationBase.of(context).booked,
- TranslationBase.of(context).confirmed,
+ // TranslationBase.of(context).booked,
+ TranslationBase.of(context).upcoming,
TranslationBase.of(context).arrived,
],
description: TranslationBase.of(context).infoMyAppointments,
@@ -113,10 +119,10 @@ class _MyAppointmentsState extends State with SingleTickerProvid
Padding(
padding: EdgeInsets.only(left: 21, right: 21),
child: Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
- myRadioButton(TranslationBase.of(context).booked, 0),
- myRadioButton(TranslationBase.of(context).confirmed, 1),
+ myRadioButton(TranslationBase.of(context).upcoming, 1),
+ // myRadioButton(TranslationBase.of(context).upcoming, 1),
myRadioButton(TranslationBase.of(context).arrived, 2),
],
),
@@ -125,7 +131,7 @@ class _MyAppointmentsState extends State with SingleTickerProvid
? Expanded(
child: IndexedStack(
index: _currentPage,
- children: [getBookedAppointments(), getConfirmedAppointments(), getArrivedAppointments()],
+ children: [getBookedAppointments(), getBookedAndConfirmedAppointments(), getArrivedAppointments()],
),
)
: Container(),
@@ -134,35 +140,43 @@ class _MyAppointmentsState extends State with SingleTickerProvid
);
}
- getPatientAppointmentHistory() {
+ getPatientAppointmentHistory(bool isForUpcoming, bool isForArrived) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- widget.appoList.clear();
- widget.bookedAppoList.clear();
- widget.confirmedAppoList.clear();
- widget.arrivedAppoList.clear();
- widget._patientBookedAppointmentListHospital.clear();
- widget._patientConfirmedAppointmentListHospital.clear();
- widget._patientArrivedAppointmentListHospital.clear();
+ upcomingAppoList.clear();
+ arrivedAppoListNew.clear();
- widget._patientBookedAppointmentListClinic.clear();
- widget._patientConfirmedAppointmentListClinic.clear();
- widget._patientArrivedAppointmentListClinic.clear();
+ bookedAppoList.clear();
+ confirmedAppoList.clear();
+ arrivedAppoList.clear();
- service.getPatientAppointmentHistory(false, context).then((res) {
+ _patientBookedAppointmentListHospital.clear();
+ _patientConfirmedAppointmentListHospital.clear();
+ _patientArrivedAppointmentListHospital.clear();
+
+ _patientBookedAppointmentListClinic.clear();
+ _patientConfirmedAppointmentListClinic.clear();
+ _patientArrivedAppointmentListClinic.clear();
+
+ _patientBookedAndConfirmedAppointmentListHospital.clear();
+ _patientBookedAndConfirmedAppointmentListClinic.clear();
+
+ service.getPatientAppointmentHistory(false, languageID, context, isForUpcomming: isForUpcoming, IsForArrived: isForArrived).then((res) {
GifLoaderDialogUtils.hideDialog(context);
setState(() {
if (res['MessageStatus'] == 1) {
- // setState(() {
if (res['AppoimentAllHistoryResultList'].length != 0) {
- // isDataLoaded = true;
res['AppoimentAllHistoryResultList'].forEach((v) {
- widget.appoList.add(new AppoitmentAllHistoryResultList.fromJson(v));
+ if (isForArrived) {
+ arrivedAppoListNew.add(new AppoitmentAllHistoryResultList.fromJson(v));
+ } else {
+ upcomingAppoList.add(new AppoitmentAllHistoryResultList.fromJson(v));
+ }
});
- sortAppointmentList();
+ sortAppointmentList(isForUpcoming, isForArrived);
} else {}
- // });
} else {
AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
}
@@ -177,11 +191,12 @@ class _MyAppointmentsState extends State with SingleTickerProvid
}
getToDoCount() {
- toDoProvider.setState(0, true, "0");
+ toDoProvider.setState(0, 0, true, "0");
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, "0");
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, "0");
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, "0");
} else {}
}).catchError((err) {
print(err);
@@ -200,100 +215,125 @@ class _MyAppointmentsState extends State with SingleTickerProvid
return AppointmentType.isBooked(appo);
}
- sortAppointmentList() {
- widget.appoList.forEach((v) {
- if (isBooked(v)) {
- widget.bookedAppoList.add(v);
- }
+ sortAppointmentList(bool isForUpcoming, bool isForArrived) {
+ if (isForArrived) {
+ arrivedAppoListNew.forEach((v) {
+ if (isBooked(v)) {
+ bookedAppoList.add(v);
+ }
- if (isConfirmed(v)) {
- widget.confirmedAppoList.add(v);
- }
+ if (isConfirmed(v)) {
+ confirmedAppoList.add(v);
+ }
- if (isArrived(v)) {
- widget.arrivedAppoList.add(v);
- }
- });
+ if (isArrived(v)) {
+ arrivedAppoList.add(v);
+ }
+ });
+ } else {
+ upcomingAppoList.forEach((v) {
+ if (isBooked(v)) {
+ bookedAppoList.add(v);
+ }
+
+ if (isConfirmed(v)) {
+ confirmedAppoList.add(v);
+ }
+
+ if (isArrived(v)) {
+ arrivedAppoList.add(v);
+ }
+ });
+ }
- widget.bookedAppoList.forEach((element) {
- List doctorByClinic = widget._patientBookedAppointmentListClinic
+ bookedAppoList.forEach((element) {
+ List doctorByClinic = _patientBookedAppointmentListClinic
.where(
(elementClinic) => elementClinic.filterName == element.clinicName,
)
.toList();
if (doctorByClinic.length != 0) {
- widget._patientBookedAppointmentListClinic[widget._patientBookedAppointmentListClinic.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
+ _patientBookedAppointmentListClinic[_patientBookedAppointmentListClinic.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
} else {
- widget._patientBookedAppointmentListClinic.add(PatientAppointmentList(filterName: element.clinicName, patientDoctorAppointment: element));
+ _patientBookedAppointmentListClinic.add(PatientAppointmentList(filterName: element.clinicName, patientDoctorAppointment: element));
}
- List doctorByHospital = widget._patientBookedAppointmentListHospital
+ List doctorByHospital = _patientBookedAppointmentListHospital
.where(
(elementClinic) => elementClinic.filterName == element.projectName,
)
.toList();
if (doctorByHospital.length != 0) {
- widget._patientBookedAppointmentListHospital[widget._patientBookedAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ _patientBookedAppointmentListHospital[_patientBookedAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
} else {
- widget._patientBookedAppointmentListHospital.add(PatientAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
+ _patientBookedAppointmentListHospital.add(PatientAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
}
});
- widget.confirmedAppoList.forEach((element) {
- List doctorByClinic = widget._patientConfirmedAppointmentListClinic
+ confirmedAppoList.forEach((element) {
+ List doctorByClinic = _patientConfirmedAppointmentListClinic
.where(
(elementClinic) => elementClinic.filterName == element.clinicName,
)
.toList();
if (doctorByClinic.length != 0) {
- widget._patientConfirmedAppointmentListClinic[widget._patientConfirmedAppointmentListClinic.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
+ _patientConfirmedAppointmentListClinic[_patientConfirmedAppointmentListClinic.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
} else {
- widget._patientConfirmedAppointmentListClinic.add(PatientAppointmentList(filterName: element.clinicName, patientDoctorAppointment: element));
+ _patientConfirmedAppointmentListClinic.add(PatientAppointmentList(filterName: element.clinicName, patientDoctorAppointment: element));
}
- List doctorByHospital = widget._patientConfirmedAppointmentListHospital
+ List doctorByHospital = _patientConfirmedAppointmentListHospital
.where(
(elementClinic) => elementClinic.filterName == element.projectName,
)
.toList();
if (doctorByHospital.length != 0) {
- widget._patientConfirmedAppointmentListHospital[widget._patientConfirmedAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ _patientConfirmedAppointmentListHospital[_patientConfirmedAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
} else {
- widget._patientConfirmedAppointmentListHospital.add(PatientAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
+ _patientConfirmedAppointmentListHospital.add(PatientAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
}
+
+ //Merging Booked & Confirmed Appointments into Upcoming Tab
+ // _patientBookedAndConfirmedAppointmentListHospital.addAll(_patientConfirmedAppointmentListHospital);
+ // _patientBookedAndConfirmedAppointmentListClinic.addAll(_patientConfirmedAppointmentListClinic);
});
- widget.arrivedAppoList.forEach((element) {
- List doctorByClinic = widget._patientArrivedAppointmentListClinic
+ arrivedAppoList.forEach((element) {
+ List doctorByClinic = _patientArrivedAppointmentListClinic
.where(
(elementClinic) => elementClinic.filterName == element.clinicName,
)
.toList();
if (doctorByClinic.length != 0) {
- widget._patientArrivedAppointmentListClinic[widget._patientArrivedAppointmentListClinic.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
+ _patientArrivedAppointmentListClinic[_patientArrivedAppointmentListClinic.indexOf(doctorByClinic[0])].patientDoctorAppointmentList.add(element);
} else {
- widget._patientArrivedAppointmentListClinic.add(PatientAppointmentList(filterName: element.clinicName, patientDoctorAppointment: element));
+ _patientArrivedAppointmentListClinic.add(PatientAppointmentList(filterName: element.clinicName, patientDoctorAppointment: element));
}
- List doctorByHospital = widget._patientArrivedAppointmentListHospital
+ List doctorByHospital = _patientArrivedAppointmentListHospital
.where(
(elementClinic) => elementClinic.filterName == element.projectName,
)
.toList();
if (doctorByHospital.length != 0) {
- widget._patientArrivedAppointmentListHospital[widget._patientArrivedAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
+ _patientArrivedAppointmentListHospital[_patientArrivedAppointmentListHospital.indexOf(doctorByHospital[0])].patientDoctorAppointmentList.add(element);
} else {
- widget._patientArrivedAppointmentListHospital.add(PatientAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
+ _patientArrivedAppointmentListHospital.add(PatientAppointmentList(filterName: element.projectName, patientDoctorAppointment: element));
}
- openAppointmentsTab();
+ // openAppointmentsTab();
});
+
+ //Merging Booked & Confirmed Appointments into Upcoming Tab
+ _patientBookedAndConfirmedAppointmentListHospital.addAll(_patientBookedAppointmentListHospital);
+ _patientBookedAndConfirmedAppointmentListClinic.addAll(_patientBookedAppointmentListClinic);
+
}
openAppointmentsTab() async {
@@ -306,11 +346,11 @@ class _MyAppointmentsState extends State with SingleTickerProvid
} else if (flag == 3) {
index = 2;
} else {
- if (widget._patientBookedAppointmentListClinic.length != 0) {
+ if (_patientBookedAppointmentListClinic.length != 0) {
index = 0;
- } else if (widget._patientConfirmedAppointmentListClinic.length != 0) {
+ } else if (_patientConfirmedAppointmentListClinic.length != 0) {
index = 1;
- } else if (widget._patientArrivedAppointmentListClinic.length != 0) {
+ } else if (_patientArrivedAppointmentListClinic.length != 0) {
index = 2;
// return;
}
@@ -320,7 +360,12 @@ class _MyAppointmentsState extends State with SingleTickerProvid
}
Widget getBookedAppointments() {
- return _getAppointment(widget.bookedAppoList.length, (filterType == FilterType.Clinic) ? widget._patientBookedAppointmentListClinic : widget._patientBookedAppointmentListHospital);
+ return _getAppointment(bookedAppoList.length, (filterType == FilterType.Clinic) ? _patientBookedAppointmentListClinic : _patientBookedAppointmentListHospital);
+ }
+
+ Widget getBookedAndConfirmedAppointments() {
+ return _getAppointment(
+ (bookedAppoList.length + confirmedAppoList.length), (filterType == FilterType.Clinic) ? _patientBookedAndConfirmedAppointmentListClinic : _patientBookedAndConfirmedAppointmentListHospital);
}
Widget _getAppointment(int _listLength, List _list) {
@@ -338,7 +383,9 @@ class _MyAppointmentsState extends State with SingleTickerProvid
Container(
margin: EdgeInsets.only(top: 10.0),
child: Text(
- _currentPage == 0 ? TranslationBase.of(context).noBookedAppo : (_currentPage == 1 ? TranslationBase.of(context).noConfirmedAppo : TranslationBase.of(context).noArrivedAppo),
+ _currentPage == 0
+ ? TranslationBase.of(context).noBookedAppo
+ : (_currentPage == 1 ? TranslationBase.of(context).noUpcomingAppointment : TranslationBase.of(context).noArrivedAppo),
style: TextStyle(
fontSize: 16.0,
),
@@ -385,7 +432,12 @@ class _MyAppointmentsState extends State with SingleTickerProvid
),
),
).then((value) {
- getPatientAppointmentHistory();
+ if(_currentPage == 1) {
+ getPatientAppointmentHistory(true, false);
+ }
+ if(_currentPage == 2) {
+ getPatientAppointmentHistory(false, true);
+ }
}),
isInOutPatient: _appointmentResult.isInOutPatient,
name: _appointmentResult.doctorTitle + " " + _appointmentResult.doctorNameObj,
@@ -417,11 +469,11 @@ class _MyAppointmentsState extends State with SingleTickerProvid
}
Widget getConfirmedAppointments() {
- return _getAppointment(widget.confirmedAppoList.length, (filterType == FilterType.Clinic) ? widget._patientConfirmedAppointmentListClinic : widget._patientConfirmedAppointmentListHospital);
+ return _getAppointment(confirmedAppoList.length, (filterType == FilterType.Clinic) ? _patientConfirmedAppointmentListClinic : _patientConfirmedAppointmentListHospital);
}
Widget getArrivedAppointments() {
- return _getAppointment(widget.arrivedAppoList.length, (filterType == FilterType.Clinic) ? widget._patientArrivedAppointmentListClinic : widget._patientArrivedAppointmentListHospital);
+ return _getAppointment(arrivedAppoList.length, (filterType == FilterType.Clinic) ? _patientArrivedAppointmentListClinic : _patientArrivedAppointmentListHospital);
}
setFilterType(FilterType filterType) {
@@ -435,6 +487,12 @@ class _MyAppointmentsState extends State with SingleTickerProvid
onTap: () {
setState(() {
_currentPage = _value;
+ if (_value == 1) {
+ getPatientAppointmentHistory(true, false);
+ }
+ if (_value == 2) {
+ getPatientAppointmentHistory(false, true);
+ }
});
},
child: Row(
@@ -450,8 +508,13 @@ class _MyAppointmentsState extends State with SingleTickerProvid
onChanged: (index) {
setState(() {
_currentPage = index;
+ if (_value == 1) {
+ getPatientAppointmentHistory(true, false);
+ }
+ if (_value == 2) {
+ getPatientAppointmentHistory(false, true);
+ }
});
- //_pageController.animateToPage(index, duration: Duration(milliseconds: 250), curve: Curves.easeInOut);
},
),
),
diff --git a/lib/pages/MyAppointments/VisitTicket.dart b/lib/pages/MyAppointments/VisitTicket.dart
index c2f5c6ed..a1b44b7a 100644
--- a/lib/pages/MyAppointments/VisitTicket.dart
+++ b/lib/pages/MyAppointments/VisitTicket.dart
@@ -1,3 +1,4 @@
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
@@ -7,6 +8,7 @@ import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart';
import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
class VisitTicket extends StatefulWidget {
List appoList = [];
@@ -17,6 +19,7 @@ class VisitTicket extends StatefulWidget {
class _VisitTicketState extends State {
bool isLoading = false;
+ ProjectViewModel projectViewModel;
@override
void initState() {
@@ -26,6 +29,7 @@ class _VisitTicketState extends State {
@override
Widget build(BuildContext context) {
+ projectViewModel = Provider.of(context);
return AppScaffold(
appBarTitle: TranslationBase.of(context).todoList,
body: isLoading == false
@@ -48,9 +52,10 @@ class _VisitTicketState extends State {
}
getPatientAppointmentCurfewHistory(BuildContext context) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
DoctorsListService service = new DoctorsListService();
GifLoaderDialogUtils.showMyDialog(context);
- service.getPatientAppointmentHistory(true, context).then((res) {
+ service.getPatientAppointmentHistory(true, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/MyAppointments/widgets/AppointmentActions.dart b/lib/pages/MyAppointments/widgets/AppointmentActions.dart
index b7083b7c..86a80be2 100644
--- a/lib/pages/MyAppointments/widgets/AppointmentActions.dart
+++ b/lib/pages/MyAppointments/widgets/AppointmentActions.dart
@@ -365,10 +365,11 @@ class _AppointmentActionsState extends State {
// }
openAppointmentLabResults() {
+ int languageID = widget.projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
PatientLabOrders patientLabOrders = new PatientLabOrders();
- service.getPatientLabOrdersByAppoNo(widget.appo.appointmentNo, widget.appo.projectID, widget.appo.clinicID, context).then((res) {
+ service.getPatientLabOrdersByAppoNo(widget.appo.appointmentNo, widget.appo.projectID, widget.appo.clinicID, languageID, context).then((res) {
print(res['ListLabResultsByAppNo']);
GifLoaderDialogUtils.hideDialog(context);
if (res['ListLabResultsByAppNo'] != null) {
@@ -400,10 +401,11 @@ class _AppointmentActionsState extends State {
}
openAppointmentRadiology() {
+ int languageID = widget.projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
FinalRadiology finalRadiology = new FinalRadiology();
- service.getPatientRadOrders(widget.appo.appointmentNo.toString(), context).then((res) {
+ service.getPatientRadOrders(widget.appo.appointmentNo.toString(), languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['FinalRadiologyList'] != null) {
print(res['FinalRadiologyList']);
diff --git a/lib/pages/MyAppointments/widgets/PrescriptionReport.dart b/lib/pages/MyAppointments/widgets/PrescriptionReport.dart
index 33c55ddd..69470f23 100644
--- a/lib/pages/MyAppointments/widgets/PrescriptionReport.dart
+++ b/lib/pages/MyAppointments/widgets/PrescriptionReport.dart
@@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report_enh.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescription_details_page.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
@@ -10,6 +11,7 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
+import 'package:provider/provider.dart';
class PrescriptionReportPage extends StatefulWidget {
List prescriptionReportEnhList;
@@ -26,6 +28,9 @@ class PrescriptionReportPage extends StatefulWidget {
}
class _PrescriptionReportState extends State {
+
+ ProjectViewModel projectViewModel;
+
@override
void initState() {
super.initState();
@@ -33,6 +38,7 @@ class _PrescriptionReportState extends State {
@override
Widget build(BuildContext context) {
+ projectViewModel = Provider.of(context);
return AppScaffold(
isShowAppBar: true,
appBarTitle: 'Items',
@@ -117,7 +123,7 @@ class _PrescriptionReportState extends State {
DoctorsListService service = new DoctorsListService();
GifLoaderDialogUtils.showMyDialog(context);
service
- .sendPrescriptionEmail(widget.appo.appointmentDate, widget.appo.setupID,
+ .sendPrescriptionEmail(widget.appo.appointmentDate, widget.appo.setupID, projectViewModel.isArabic ? 1 : 2,
widget.listPres, context)
.then((res) {
GifLoaderDialogUtils.hideDialog(context);
diff --git a/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart b/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart
index 970d31c7..242a072f 100644
--- a/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart
+++ b/lib/pages/ToDoList/ObGyne/ObGyne-TimeSlots.dart
@@ -353,7 +353,7 @@ class _CovidTimeSlotsState extends State with TickerProviderSta
AppoitmentAllHistoryResultList appo;
service
.insertAppointment(
- docObject.doctorID, docObject.clinicID, docObject.projectID, ObGyneTimeSlots.selectedTime, ObGyneTimeSlots.selectedDate, 0, context, widget.obGyneProcedureListResponse.procedureId)
+ docObject.doctorID, docObject.clinicID, docObject.projectID, ObGyneTimeSlots.selectedTime, ObGyneTimeSlots.selectedDate, 0, projectViewModel.isArabic ? 1 : 2, context, widget.obGyneProcedureListResponse.procedureId)
.then((res) {
if (res['MessageStatus'] == 1) {
AppToast.showSuccessToast(message: TranslationBase.of(context).bookedSuccess);
@@ -394,7 +394,7 @@ class _CovidTimeSlotsState extends State with TickerProviderSta
DoctorsListService service = new DoctorsListService();
service
.updateObGyneAppointment(widget.obGyneProcedureListResponse.episodeID, int.parse(appoNo), widget.obGyneProcedureListResponse.orderNo, widget.obGyneProcedureListResponse.procedureId,
- widget.obGyneProcedureListResponse.lineItemNo, widget.obGyneProcedureListResponse.uniqueRowID)
+ widget.obGyneProcedureListResponse.lineItemNo, widget.obGyneProcedureListResponse.uniqueRowID, projectViewModel.isArabic ? 1 : 2)
.then((res) {})
.catchError((err) {
print(err);
@@ -402,13 +402,14 @@ class _CovidTimeSlotsState extends State with TickerProviderSta
}
getToDoCount() {
- toDoProvider.setState(0, true, toDoProvider.notificationsCount);
+ toDoProvider.setState(0, 0, true, toDoProvider.notificationsCount);
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res['AppointmentActiveNumber']);
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount);
} else {}
Navigator.pushAndRemoveUntil(
context,
diff --git a/lib/pages/ToDoList/ToDo.dart b/lib/pages/ToDoList/ToDo.dart
index 488b52a1..d30ef0fd 100644
--- a/lib/pages/ToDoList/ToDo.dart
+++ b/lib/pages/ToDoList/ToDo.dart
@@ -54,9 +54,6 @@ import 'package:rating_bar/rating_bar.dart';
class ToDo extends StatefulWidget {
PatientShareResponse patientShareResponse;
- List appoList = [];
- List ancillaryLists = [];
- List obGyneAppoList = [];
var languageID;
bool isShowAppBar = true;
@@ -92,6 +89,10 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
bool isCash = false;
MyInAppBrowser browser;
+ List appoList = [];
+ List ancillaryLists = [];
+ List obGyneAppoList = [];
+
@override
void initState() {
widget.patientShareResponse = new PatientShareResponse();
@@ -109,6 +110,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
@override
void dispose() {
super.dispose();
+ // getToDoCount();
_tabController.dispose();
}
@@ -168,15 +170,15 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
child: AppExpandableNotifier(
isExpand: true,
hasCounter: true,
- counter: widget.appoList.length.toString(),
+ counter: appoList.length.toString(),
title: TranslationBase.of(context).appointments,
- bodyWidget: widget.appoList.length != 0
+ bodyWidget: appoList.length != 0
? ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
physics: ScrollPhysics(),
padding: EdgeInsets.all(0.0),
- itemCount: widget.appoList.length,
+ itemCount: appoList.length,
itemBuilder: (context, index) {
return Container(
width: double.infinity,
@@ -196,12 +198,12 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
children: [
Padding(
padding: const EdgeInsets.only(top: 4.0),
- child: widget.appoList[index].clinicID == 265
+ child: appoList[index].clinicID == 265
? Container(
margin: EdgeInsets.only(left: 5.0, right: 5.0),
child: SvgPicture.asset("assets/images/new/CoronaIcon.svg", width: 35.0, height: 35.0),
)
- : widget.appoList[index].isLiveCareAppointment
+ : appoList[index].isLiveCareAppointment
? SvgPicture.asset("assets/images/new/virtual.svg")
: SvgPicture.asset("assets/images/new/hospital-visit.svg"),
),
@@ -211,9 +213,9 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8.0),
child: Text(
- widget.appoList[index].clinicID == 265
+ appoList[index].clinicID == 265
? TranslationBase.of(context).covidTestTodo
- : widget.appoList[index].isLiveCareAppointment
+ : appoList[index].isLiveCareAppointment
? TranslationBase.of(context).liveCareAppo
: TranslationBase.of(context).walkinAppo,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.48)),
@@ -221,8 +223,8 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8.0),
child: CountdownTimer(
- controller: new CountdownTimerController(
- endTime: DateTime.now().millisecondsSinceEpoch + (widget.appoList[index].remaniningHoursTocanPay * 1000) * 60),
+ controller:
+ new CountdownTimerController(endTime: DateTime.now().millisecondsSinceEpoch + (appoList[index].remaniningHoursTocanPay * 1000) * 60),
widgetBuilder: (_, CurrentRemainingTime time) {
return time != null
? Text(
@@ -242,17 +244,17 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
child: Container(
child: InkWell(
onTap: () {
- performNextAction(widget.appoList[index]);
+ performNextAction(appoList[index]);
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),
decoration: BoxDecoration(
- color: getNextActionButtonColor(widget.appoList[index].nextAction),
+ color: getNextActionButtonColor(appoList[index].nextAction),
border: Border.all(color: Colors.white, width: 1),
borderRadius: BorderRadius.circular(6),
),
child: Text(
- getNextActionText(widget.appoList[index].nextAction),
+ getNextActionText(appoList[index].nextAction),
textAlign: TextAlign.center,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.4),
),
@@ -265,7 +267,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text(
- widget.appoList[index].doctorTitle + " " + widget.appoList[index].doctorNameObj,
+ appoList[index].doctorTitle + " " + appoList[index].doctorNameObj,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
),
),
@@ -273,8 +275,8 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
mainAxisSize: MainAxisSize.min,
children: [
LargeAvatar(
- name: widget.appoList[index].doctorTitle + " " + widget.appoList[index].doctorNameObj,
- url: widget.appoList[index].doctorImageURL,
+ name: appoList[index].doctorTitle + " " + appoList[index].doctorNameObj,
+ url: appoList[index].doctorImageURL,
width: 52,
height: 52,
),
@@ -284,32 +286,32 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
- MyRichText(TranslationBase.of(context).clinic + ": ", widget.appoList[index].clinicName, projectViewModel.isArabic),
+ MyRichText(TranslationBase.of(context).clinic + ": ", appoList[index].clinicName, projectViewModel.isArabic),
// MyRichText(TranslationBase.of(context).appointmentDate + ": ",
- // DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(widget.appoList[index].appointmentDate)) + " " + widget.appoList[index].startTime.substring(0, 5), projectViewModel.isArabic),
+ // DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(appoList[index].appointmentDate)) + " " + appoList[index].startTime.substring(0, 5), projectViewModel.isArabic),
// Timezone changes
- widget.appoList[index].isLiveCareAppointment
+ appoList[index].isLiveCareAppointment
? MyRichText(
TranslationBase.of(context).appointmentDate + ": ",
- DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(widget.appoList[index].appointmentDate)) +
+ DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(appoList[index].appointmentDate)) +
" " +
- DateUtil.convertStringToDate(widget.appoList[index].appointmentDate).toString().split(" ")[1].substring(0, 5),
+ DateUtil.convertStringToDate(appoList[index].appointmentDate).toString().split(" ")[1].substring(0, 5),
projectViewModel.isArabic)
: MyRichText(
TranslationBase.of(context).appointmentDate + ": ",
- DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(widget.appoList[index].appointmentDate)) +
+ DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(appoList[index].appointmentDate)) +
" " +
- widget.appoList[index].startTime.substring(0, 5),
+ appoList[index].startTime.substring(0, 5),
projectViewModel.isArabic),
- MyRichText(TranslationBase.of(context).branch, widget.appoList[index].projectName, projectViewModel.isArabic),
+ MyRichText(TranslationBase.of(context).branch, appoList[index].projectName, projectViewModel.isArabic),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.max,
children: [
RatingBar.readOnly(
- initialRating: widget.appoList[index].actualDoctorRate.toDouble(),
+ initialRating: appoList[index].actualDoctorRate.toDouble(),
size: 16.0,
filledColor: Color(0XFFD02127),
emptyColor: Color(0XFFD02127),
@@ -328,13 +330,13 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
Padding(
padding: const EdgeInsets.only(top: 12.0),
child: Text(
- getNextActionDescription(widget.appoList[index].nextAction),
+ getNextActionDescription(appoList[index].nextAction),
style: TextStyle(fontSize: 10, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.48, height: 25 / 16),
),
),
InkWell(
onTap: () {
- navigateToAppointmentDetails(context, widget.appoList[index]);
+ navigateToAppointmentDetails(context, appoList[index]);
},
child: Padding(
padding: const EdgeInsets.only(top: 0.0),
@@ -363,9 +365,9 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
child: AppExpandableNotifier(
isExpand: true,
hasCounter: true,
- counter: (widget.ancillaryLists.isNotEmpty) ? widget.ancillaryLists[0].ancillaryOrderList.length.toString() : "0",
+ counter: (ancillaryLists.isNotEmpty) ? ancillaryLists[0].ancillaryOrderList.length.toString() : "0",
title: TranslationBase.of(context).anicllaryOrders,
- bodyWidget: widget.ancillaryLists.length != 0
+ bodyWidget: ancillaryLists.length != 0
? Container(
padding: EdgeInsets.all(12),
child: ListView.separated(
@@ -374,18 +376,18 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
reverse: true,
itemBuilder: (context, index) {
return DoctorCard(
- onTap: () => ancillaryOrdersDetails(widget.ancillaryLists[0].ancillaryOrderList[index], widget.ancillaryLists[0].projectID),
+ onTap: () => ancillaryOrdersDetails(ancillaryLists[0].ancillaryOrderList[index], ancillaryLists[0].projectID),
isInOutPatient: true,
- name: TranslationBase.of(context).dr.toString() + " " + (widget.ancillaryLists[0].ancillaryOrderList[index].doctorName ?? ""),
- billNo: widget.ancillaryLists[0].ancillaryOrderList[index].orderNo.toString(),
+ name: TranslationBase.of(context).dr.toString() + " " + (ancillaryLists[0].ancillaryOrderList[index].doctorName ?? ""),
+ billNo: ancillaryLists[0].ancillaryOrderList[index].orderNo.toString(),
profileUrl: "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown.png",
- subName: widget.ancillaryLists[0].projectName,
+ subName: ancillaryLists[0].projectName,
isLiveCareAppointment: false,
- date: DateUtil.convertStringToDate(widget.ancillaryLists[0].ancillaryOrderList[index].orderDate),
+ date: DateUtil.convertStringToDate(ancillaryLists[0].ancillaryOrderList[index].orderDate),
isSortByClinic: true,
);
},
- itemCount: widget.ancillaryLists[0].ancillaryOrderList.length,
+ itemCount: ancillaryLists[0].ancillaryOrderList.length,
separatorBuilder: (context, index) => SizedBox(height: 14),
),
)
@@ -395,13 +397,13 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
),
),
Container(
- child: widget.obGyneAppoList.length != 0
+ child: obGyneAppoList.length != 0
? ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
physics: ScrollPhysics(),
padding: EdgeInsets.all(0.0),
- itemCount: widget.obGyneAppoList.length,
+ itemCount: obGyneAppoList.length,
itemBuilder: (context, index) {
return Container(
width: double.infinity,
@@ -439,7 +441,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
Container(
child: InkWell(
onTap: () {
- getOBGyneDoctorsList(widget.obGyneAppoList[index].projectID, widget.obGyneAppoList[index].setupID, widget.obGyneAppoList[index]);
+ getOBGyneDoctorsList(obGyneAppoList[index].projectID, obGyneAppoList[index].setupID, obGyneAppoList[index]);
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),
@@ -460,7 +462,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
Padding(
padding: const EdgeInsets.only(top: 8.0),
child: Text(
- TranslationBase.of(context).dr + " " + widget.obGyneAppoList[index].doctorName,
+ TranslationBase.of(context).dr + " " + obGyneAppoList[index].doctorName,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
),
),
@@ -468,7 +470,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
mainAxisSize: MainAxisSize.min,
children: [
LargeAvatar(
- name: TranslationBase.of(context).dr + " " + widget.obGyneAppoList[index].doctorName,
+ name: TranslationBase.of(context).dr + " " + obGyneAppoList[index].doctorName,
url: "https://hmgwebservices.com/Images/MobileImages/DUBAI/unkown.png",
width: 52,
height: 52,
@@ -479,12 +481,12 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
- MyRichText(TranslationBase.of(context).clinic + ": ", widget.obGyneAppoList[index].clinicDescription, projectViewModel.isArabic),
+ MyRichText(TranslationBase.of(context).clinic + ": ", obGyneAppoList[index].clinicDescription, projectViewModel.isArabic),
MyRichText(
TranslationBase.of(context).orderDate + ": ",
- DateUtil.getDayMonthYearHourMinuteDateFormatted(DateUtil.convertStringToDate(widget.obGyneAppoList[index].orderDate)).split(" ")[0],
+ DateUtil.getDayMonthYearHourMinuteDateFormatted(DateUtil.convertStringToDate(obGyneAppoList[index].orderDate)).split(" ")[0],
projectViewModel.isArabic),
- MyRichText(TranslationBase.of(context).branch, widget.obGyneAppoList[index].projectDescription, projectViewModel.isArabic),
+ MyRichText(TranslationBase.of(context).branch, obGyneAppoList[index].projectDescription, projectViewModel.isArabic),
],
),
),
@@ -755,14 +757,14 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
service.getOBGyneOrdersList(context).then((res) {
- widget.obGyneAppoList.clear();
+ obGyneAppoList.clear();
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
if (res['HIS_OBGYNEProcedureGet_List'].length != 0) {
- widget.obGyneAppoList.clear();
+ obGyneAppoList.clear();
res['HIS_OBGYNEProcedureGet_List'].forEach((v) {
- widget.obGyneAppoList.add(new OBGyneProcedureListResponse.fromJson(v));
+ obGyneAppoList.add(new OBGyneProcedureListResponse.fromJson(v));
});
} else {
// Navigator.of(context).popAndPushNamed(HOME);
@@ -782,7 +784,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
DoctorsListService service = new DoctorsListService();
List doctorsList = [];
List _patientDoctorAppointmentListHospital = [];
- service.getOBGyneDoctorsList(projectID, setupID, context).then((res) {
+ service.getOBGyneDoctorsList(projectID, setupID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res['HIS_ObgyneUltrasoundDoctorsList'][0]);
if (res['MessageStatus'] == 1) {
@@ -828,31 +830,31 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
obGyneProcedureListResponse: obGyneProcedureListResponse)));
}
- getPatientAppointmentHistory() {
+ getPatientAppointmentHistory() async {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- service.getPatientAppointmentHistory(true, context).then((res) {
- widget.appoList.clear();
+ service.getPatientAppointmentHistory(true, languageID, context).then((res) {
+ appoList.clear();
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
- setState(() {
- if (res['AppoimentAllHistoryResultList'].length != 0) {
- widget.appoList.clear();
- res['AppoimentAllHistoryResultList'].forEach((v) {
- widget.appoList.add(new AppoitmentAllHistoryResultList.fromJson(v));
- });
- }
- if (res['AncillaryOrderList'].length != 0) {
- res['AncillaryOrderList'].forEach((item) {
- widget.ancillaryLists.add(AncillaryOrdersListModel.fromJson(item));
- });
- }
- dataLoaded = true;
- if (widget.isFromMyAppointments) {
- performNextAction(widget.appointment);
- widget.isFromMyAppointments = false;
- }
- });
+ if (res['AppoimentAllHistoryResultList'].length != 0) {
+ appoList.clear();
+ res['AppoimentAllHistoryResultList'].forEach((v) {
+ appoList.add(new AppoitmentAllHistoryResultList.fromJson(v));
+ });
+ }
+ if (res['AncillaryOrderList'].length != 0) {
+ res['AncillaryOrderList'].forEach((item) {
+ ancillaryLists.add(AncillaryOrdersListModel.fromJson(item));
+ });
+ }
+ dataLoaded = true;
+ if (widget.isFromMyAppointments) {
+ performNextAction(widget.appointment);
+ widget.isFromMyAppointments = false;
+ }
+ setState(() {});
} else {
AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
}
@@ -865,11 +867,11 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
}
getToDoCount() {
- toDoProvider.setState(0, true, "0");
+ toDoProvider.setState(0, 0, true, "0");
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, "0");
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, "0");
} else {}
}).catchError((err) {
print(err);
@@ -924,13 +926,14 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
}
getPatientShare(context, AppoitmentAllHistoryResultList appo) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
String errorMsg = "";
DoctorsListService service = new DoctorsListService();
if (appo.isLiveCareAppointment) {
getLiveCareAppointmentPatientShare(context, service, appo);
} else {
GifLoaderDialogUtils.showMyDialog(context);
- service.getPatientShare(appo.appointmentNo.toString(), appo.clinicID, appo.projectID, context).then((res) {
+ service.getPatientShare(appo.appointmentNo.toString(), appo.clinicID, appo.projectID, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['OnlineCheckInAppointments'].length != 0) {
widget.patientShareResponse = new PatientShareResponse.fromJson(res['OnlineCheckInAppointments'][0]);
@@ -971,7 +974,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
getLiveCareAppointmentPatientShare(context, DoctorsListService service, AppoitmentAllHistoryResultList appo) {
GifLoaderDialogUtils.showMyDialog(context);
- service.getLiveCareAppointmentPatientShare(appo.appointmentNo.toString(), appo.clinicID, appo.projectID, context).then((res) {
+ service.getLiveCareAppointmentPatientShare(appo.appointmentNo.toString(), appo.clinicID, appo.projectID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
widget.patientShareResponse = new PatientShareResponse.fromJson(res);
openPaymentDialog(appo, widget.patientShareResponse);
@@ -1278,7 +1281,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
DoctorsListService service = new DoctorsListService();
service
.insertVIDARequest(appo.appointmentNo, appo.clinicID, appo.projectID, appo.serviceID, appo.doctorID, appo.appointmentDate,
- Utils.getAppointmentTransID(appo.projectID, appo.clinicID, appo.appointmentNo), context)
+ Utils.getAppointmentTransID(appo.projectID, appo.clinicID, appo.appointmentNo), projectViewModel.isArabic ? 1 : 2, context)
.then((res) {
GifLoaderDialogUtils.hideDialog(context);
getPatientAppointmentHistory();
@@ -1423,7 +1426,7 @@ class _ToDoState extends State with SingleTickerProviderStateMixin {
DoctorsListService service = new DoctorsListService();
service
.insertVIDARequest(appo.appointmentNo, appo.clinicID, appo.projectID, appo.serviceID, appo.doctorID, appo.appointmentDate,
- Utils.getAppointmentTransID(appo.projectID, appo.clinicID, appo.appointmentNo), context)
+ Utils.getAppointmentTransID(appo.projectID, appo.clinicID, appo.appointmentNo), projectViewModel.isArabic ? 1 : 2, context)
.then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
diff --git a/lib/pages/feedback/send_feedback_page.dart b/lib/pages/feedback/send_feedback_page.dart
index 06e9560b..cc24d511 100644
--- a/lib/pages/feedback/send_feedback_page.dart
+++ b/lib/pages/feedback/send_feedback_page.dart
@@ -56,6 +56,8 @@ class _SendFeedbackPageState extends State {
List appoList = [];
+ ProjectViewModel projectViewModel;
+
String getSelected(BuildContext context) {
switch (messageType) {
case MessageType.ComplaintOnAnAppointment:
@@ -106,7 +108,7 @@ class _SendFeedbackPageState extends State {
@override
Widget build(BuildContext context) {
- ProjectViewModel projectViewModel = Provider.of(context);
+ projectViewModel = Provider.of(context);
return BaseView(
allowAny: true,
builder: (_, model, widget) => AppScaffold(
@@ -466,6 +468,7 @@ class _SendFeedbackPageState extends State {
listData: list,
selectedIndex: selectedStatusIndex,
onValueSelected: (index) {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
selectedStatusIndex = index;
if (index == 1) {
@@ -485,7 +488,7 @@ class _SendFeedbackPageState extends State {
if (messageType == MessageType.ComplaintOnAnAppointment) {
appoList.clear();
GifLoaderDialogUtils.showMyDialog(context);
- service.getPatientAppointmentHistory(false, context, isForCOC: true).then((res) {
+ service.getPatientAppointmentHistory(false, languageID, context, isForCOC: true).then((res) {
GifLoaderDialogUtils.hideDialog(context);
setState(() {
if (res['MessageStatus'] == 1) {
diff --git a/lib/pages/landing/fragments/home_page_fragment2.dart b/lib/pages/landing/fragments/home_page_fragment2.dart
index c25e9fd0..6d013e8b 100644
--- a/lib/pages/landing/fragments/home_page_fragment2.dart
+++ b/lib/pages/landing/fragments/home_page_fragment2.dart
@@ -67,7 +67,7 @@ class _HomePageFragment2State extends State {
projectViewModel = Provider.of(context);
initialiseHmgServices(false);
var appoCountProvider = Provider.of(context);
- var userProvider = Provider.of(context);
+ // var userProvider = Provider.of(context);
List myMedicalList = Utils.myMedicalListHomePage(projectViewModel: projectViewModel, context: context, count: appoCountProvider.count, isLogin: projectViewModel.isLogin);
return Container(
width: double.infinity,
diff --git a/lib/pages/landing/landing_page.dart b/lib/pages/landing/landing_page.dart
index ffac471f..d0e4f526 100644
--- a/lib/pages/landing/landing_page.dart
+++ b/lib/pages/landing/landing_page.dart
@@ -254,13 +254,14 @@ class _LandingPageState extends State with WidgetsBindingObserver {
}
getToDoCount() {
- toDoProvider.setState(0, true, toDoProvider.notificationsCount);
+ toDoProvider.setState(0, 0, true, toDoProvider.notificationsCount);
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res['AppointmentActiveNumber']);
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount);
} else {}
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
@@ -457,7 +458,7 @@ class _LandingPageState extends State with WidgetsBindingObserver {
setState(() {
notificationCount =
value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'] > 99 ? '99+' : value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'].toString();
- model.setState(model.count, true, notificationCount);
+ model.setState(model.count, 0, true, notificationCount);
sharedPref.setString(NOTIFICATION_COUNT, notificationCount);
})
}
@@ -653,28 +654,28 @@ class _LandingPageState extends State with WidgetsBindingObserver {
authService.getDashboard().then((value) async {
setState(() {
if (value != null) {
- notificationCount = value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'] > 99 ? '99+' : value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'].toString();
- model.setState(model.count, true, notificationCount);
+ notificationCount = value ['List_PatientDashboard'][0]['UnreadPatientNotificationCount'] > 99 ? '99+' : value['List_PatientDashboard'][0]['UnreadPatientNotificationCount'].toString();
+ model.setState(model.count, 0, true, notificationCount);
sharedPref.setString(NOTIFICATION_COUNT, notificationCount);
FlutterAppIconBadge.updateBadge(num.parse(notificationCount));
}
});
- if (await AppSharedPreferences().getBool(IS_LAST_APPOINTMENT_RATE_SHOWN) == null || !await AppSharedPreferences().getBool(IS_LAST_APPOINTMENT_RATE_SHOWN)) {
- int languageID = Provider.of(context, listen: false).isArabic ? 1 : 2;
- appointmentRateViewModel.getIsLastAppointmentRatedList(languageID).then((value) async {
- if (appointmentRateViewModel.isHaveAppointmentNotRate) {
- await AppSharedPreferences().setBool(IS_LAST_APPOINTMENT_RATE_SHOWN, true);
- Navigator.push(
- context,
- FadePage(
- page: RateAppointmentDoctor(),
- ),
- );
- }
- }).catchError((err) {
- print(err);
- });
- }
+ // if (await AppSharedPreferences().getBool(IS_LAST_APPOINTMENT_RATE_SHOWN) == null || !await AppSharedPreferences().getBool(IS_LAST_APPOINTMENT_RATE_SHOWN)) {
+ // int languageID = Provider.of(context, listen: false).isArabic ? 1 : 2;
+ // appointmentRateViewModel.getIsLastAppointmentRatedList(languageID).then((value) async {
+ // if (appointmentRateViewModel.isHaveAppointmentNotRate) {
+ // await AppSharedPreferences().setBool(IS_LAST_APPOINTMENT_RATE_SHOWN, true);
+ // Navigator.push(
+ // context,
+ // FadePage(
+ // page: RateAppointmentDoctor(),
+ // ),
+ // );
+ // }
+ // }).catchError((err) {
+ // print(err);
+ // });
+ // }
});
}
projectViewModel.analytics.setUser(data);
diff --git a/lib/pages/livecare/widgets/clinic_card.dart b/lib/pages/livecare/widgets/clinic_card.dart
index d6fb745a..e79037fe 100644
--- a/lib/pages/livecare/widgets/clinic_card.dart
+++ b/lib/pages/livecare/widgets/clinic_card.dart
@@ -163,10 +163,10 @@ class _State extends State {
}
getClinicTimings(PatientERGetClinicsList patientERGetClinicsList) {
-
+ int languageID = widget.languageID == 'ar' ? 1 : 2;
LiveCareService service = new LiveCareService();
GifLoaderDialogUtils.showMyDialog(context);
- service.getLivecareClinicTiming(patientERGetClinicsList.serviceID, context).then((res) {
+ service.getLivecareClinicTiming(patientERGetClinicsList.serviceID, languageID, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
setState(() {
diff --git a/lib/pages/livecare/widgets/clinic_list.dart b/lib/pages/livecare/widgets/clinic_list.dart
index f8294150..8a3a2d8f 100644
--- a/lib/pages/livecare/widgets/clinic_list.dart
+++ b/lib/pages/livecare/widgets/clinic_list.dart
@@ -588,8 +588,9 @@ class _clinic_listState extends State {
addNewCallForPatientER(String clientRequestID) {
LiveCareService service = new LiveCareService();
+ int languageID = projectViewModel.isArabic ? 1 : 2;
GifLoaderDialogUtils.showMyDialog(context);
- service.addNewCallForPatientER(selectedClinicID, clientRequestID, widget.isPharmacyLiveCare, context).then((res) {
+ service.addNewCallForPatientER(selectedClinicID, clientRequestID, languageID, widget.isPharmacyLiveCare, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showSuccessToast(message: "New Call has been added successfully");
widget.getLiveCareHistory();
@@ -609,7 +610,7 @@ class _clinic_listState extends State {
isDataLoaded = false;
LiveCareService service = new LiveCareService();
GifLoaderDialogUtils.showMyDialog(context);
- service.getLivecareClinics(context).then((res) {
+ service.getLivecareClinics(languageID == 'ar' ? 1: 2, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res['PatientER_GetClinicsList'].length);
if (res['MessageStatus'] == 1) {
diff --git a/lib/pages/login/confirm-login.dart b/lib/pages/login/confirm-login.dart
index b99e7c07..7497856d 100644
--- a/lib/pages/login/confirm-login.dart
+++ b/lib/pages/login/confirm-login.dart
@@ -663,11 +663,11 @@ class _ConfirmLogin extends State {
}
checkIfUserAgreedBefore(CheckActivationCode result) {
- if (result.isNeedUserAgreement == true) {
- //move to agreement page.
- } else {
- goToHome();
- }
+ // if (result.isNeedUserAgreement == true) {
+ //move to agreement page.
+ // } else {
+ goToHome();
+ // }
}
insertIMEI() {
@@ -677,11 +677,12 @@ class _ConfirmLogin extends State {
}
getToDoCount() {
- toDoProvider.setState(0, true, "0");
+ toDoProvider.setState(0, 0, true, "0");
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, "0");
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, "0");
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, "0");
} else {}
}).catchError((err) {
print(err);
@@ -695,17 +696,45 @@ class _ConfirmLogin extends State {
projectViewModel.user = authenticatedUserObject.user;
await authenticatedUserObject.getUser(getUser: true);
- GifLoaderDialogUtils.hideDialog(context);
-
+ // GifLoaderDialogUtils.hideDialog(context);
getToDoCount();
+ appointmentRateViewModel
+ .getIsLastAppointmentRatedList(projectViewModel.isArabic ? 1 : 2)
+ .then((value) => {
+ GifLoaderDialogUtils.hideDialog(AppGlobal.context),
+ if (appointmentRateViewModel.isHaveAppointmentNotRate)
+ {
+ Navigator.pushAndRemoveUntil(
+ context,
+ FadePage(
+ page: RateAppointmentDoctor(),
+ ),
+ (r) => false)
+ }
+ else
+ {
+ Navigator.pushAndRemoveUntil(
+ context,
+ FadePage(
+ page: LandingPage(),
+ ),
+ (r) => false)
+ },
+ insertIMEI()
+ })
+ .catchError((err) {
+ print(err);
+ });
- Navigator.pushAndRemoveUntil(
- context,
- FadePage(
- page: LandingPage(),
- ),
- (r) => false);
- insertIMEI();
+ // getToDoCount();
+
+ // Navigator.pushAndRemoveUntil(
+ // context,
+ // FadePage(
+ // page: LandingPage(),
+ // ),
+ // (r) => false);
+ // insertIMEI();
}
loading(flag) {
diff --git a/lib/pages/login/login.dart b/lib/pages/login/login.dart
index 107db2c3..d55c4017 100644
--- a/lib/pages/login/login.dart
+++ b/lib/pages/login/login.dart
@@ -345,55 +345,55 @@ class _Login extends State {
authenticatedUserObject.user = result.list;
projectViewModel.user = authenticatedUserObject.user;
- GifLoaderDialogUtils.hideDialog(context);
-
+ // GifLoaderDialogUtils.hideDialog(context);
+ //
+ // getToDoCount();
+ //
+ // Navigator.pushAndRemoveUntil(
+ // context,
+ // FadePage(
+ // page: LandingPage(),
+ // ),
+ // (r) => false);
getToDoCount();
-
- Navigator.pushAndRemoveUntil(
- context,
- FadePage(
- page: LandingPage(),
- ),
- (r) => false);
-
- // appointmentRateViewModel
- // .getIsLastAppointmentRatedList()
- // .then((value) => {
- // getToDoCount(),
- // GifLoaderDialogUtils.hideDialog(context),
- // if (appointmentRateViewModel.isHaveAppointmentNotRate)
- // {
- // Navigator.pushAndRemoveUntil(
- // context,
- // FadePage(
- // page: RateAppointmentDoctor(),
- // ),
- // (r) => false)
- // }
- // else
- // {
- // Navigator.pushAndRemoveUntil(
- // context,
- // FadePage(
- // page: LandingPage(),
- // ),
- // (r) => false)
- // }
- // })
- // .catchError((err) {
- // print(err);
- // GifLoaderDialogUtils.hideDialog(context);
- // });
+ appointmentRateViewModel
+ .getIsLastAppointmentRatedList(projectViewModel.isArabic ? 1 : 2)
+ .then((value) => {
+ GifLoaderDialogUtils.hideDialog(context),
+ if (appointmentRateViewModel.isHaveAppointmentNotRate)
+ {
+ Navigator.pushAndRemoveUntil(
+ context,
+ FadePage(
+ page: RateAppointmentDoctor(),
+ ),
+ (r) => false)
+ }
+ else
+ {
+ Navigator.pushAndRemoveUntil(
+ context,
+ FadePage(
+ page: LandingPage(),
+ ),
+ (r) => false)
+ }
+ })
+ .catchError((err) {
+ print(err);
+ GifLoaderDialogUtils.hideDialog(context);
+ });
});
}
getToDoCount() {
- toDoProvider.setState(0, true, toDoProvider.notificationsCount);
+ toDoProvider.setState(0, 0, true, toDoProvider.notificationsCount);
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
print(res['AppointmentActiveNumber']);
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, toDoProvider.notificationsCount);
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, toDoProvider.notificationsCount);
} else {}
}).catchError((err) {
print(err);
diff --git a/lib/pages/login/register-info.dart b/lib/pages/login/register-info.dart
index e004663e..8b60295a 100644
--- a/lib/pages/login/register-info.dart
+++ b/lib/pages/login/register-info.dart
@@ -748,11 +748,12 @@ class _RegisterInfo extends State {
}
getToDoCount() {
- toDoProvider.setState(0, true, "0");
+ toDoProvider.setState(0, 0, true, "0");
ClinicListService service = new ClinicListService();
service.getActiveAppointmentNo(context).then((res) {
if (res['MessageStatus'] == 1) {
- toDoProvider.setState(res['AppointmentActiveNumber'], true, "0");
+ // toDoProvider.setState(res['AppointmentActiveNumber'], true, "0");
+ toDoProvider.setState(res['AppointmentActiveNumber'], res['AncillaryOrderListCount'], true, "0");
} else {}
}).catchError((err) {
print(err);
diff --git a/lib/pages/medical/balance/advance_payment_page.dart b/lib/pages/medical/balance/advance_payment_page.dart
index a07944f1..f2a9c79a 100644
--- a/lib/pages/medical/balance/advance_payment_page.dart
+++ b/lib/pages/medical/balance/advance_payment_page.dart
@@ -67,7 +67,7 @@ class _AdvancePaymentPageState extends State {
projectViewModel = Provider.of(context);
return BaseView(
onModelReady: (model) {
- model.getHospitals(isAdvancePayment: true);
+ model.getHospitals(projectViewModel.isArabic ? 1 : 2, isAdvancePayment: true);
model.getFamilyFiles();
},
builder: (_, model, w) => AppScaffold(
diff --git a/lib/pages/medical/eye/EyeHomePage.dart b/lib/pages/medical/eye/EyeHomePage.dart
index 901ce187..288689fb 100644
--- a/lib/pages/medical/eye/EyeHomePage.dart
+++ b/lib/pages/medical/eye/EyeHomePage.dart
@@ -36,6 +36,7 @@ class EyeHomePage extends StatefulWidget {
class _EyeHomePageState extends State with SingleTickerProviderStateMixin {
TabController _tabController;
List doctorDetailsList = List();
+ ProjectViewModel projectViewModel;
@override
void initState() {
@@ -54,7 +55,7 @@ class _EyeHomePageState extends State with SingleTickerProviderStat
@override
Widget build(BuildContext context) {
- ProjectViewModel projectViewModel = Provider.of(context);
+ projectViewModel = Provider.of(context);
return BaseView(
builder: (_, model, w) => AppScaffold(
isShowAppBar: true,
@@ -180,7 +181,7 @@ class _EyeHomePageState extends State with SingleTickerProviderStat
void getDoctorRatingsDetails() {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService();
- service.getDoctorsRatingDetails(widget.appointmentAllHistoryResultList.doctorID, context).then((res) {
+ service.getDoctorsRatingDetails(widget.appointmentAllHistoryResultList.doctorID, projectViewModel.isArabic ? 1 : 2, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res['MessageStatus'] == 1) {
doctorDetailsList.clear();
diff --git a/lib/pages/medical/reports/report_home_page.dart b/lib/pages/medical/reports/report_home_page.dart
index 55d1b901..95225b39 100644
--- a/lib/pages/medical/reports/report_home_page.dart
+++ b/lib/pages/medical/reports/report_home_page.dart
@@ -31,6 +31,7 @@ class _HomeReportPageState extends State with SingleTickerProvid
TabController _tabController_new;
List imagesInfo = List();
int _currentPage = 0;
+ ProjectViewModel projectViewModel;
@override
void initState() {
@@ -46,7 +47,7 @@ class _HomeReportPageState extends State with SingleTickerProvid
@override
Widget build(BuildContext context) {
- ProjectViewModel projectViewModel = Provider.of(context);
+ projectViewModel = Provider.of(context);
imagesInfo.add(ImagesInfo(
imageEn: 'https://hmgwebservices.com/Images/MobileApp/imges-info/medical-reorts/en/0.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/imges-info/medical-reorts/ar/0.png'));
imagesInfo.add(ImagesInfo(
@@ -55,7 +56,7 @@ class _HomeReportPageState extends State with SingleTickerProvid
imageEn: 'https://hmgwebservices.com/Images/MobileApp/imges-info/medical-reorts/en/2.png', imageAr: 'https://hmgwebservices.com/Images/MobileApp/imges-info/medical-reorts/ar/2.png'));
return BaseView(
onModelReady: (model) {
- model.getReports();
+ model.getReports(projectViewModel.isArabic ? 1 : 2);
},
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
@@ -156,11 +157,13 @@ class _HomeReportPageState extends State with SingleTickerProvid
return InkWell(
onTap: () {
Navigator.push(
- context,
- FadePage(
- page: InPatientMedicalReports(
+ context,
+ FadePage(
+ page: InPatientMedicalReports(
admissionMedicalReport: admissionMedicalReport,
- )));
+ ),
+ ),
+ );
},
child: Container(
// height: 100.0,
@@ -259,7 +262,7 @@ class _HomeReportPageState extends State with SingleTickerProvid
page: MedicalReports(),
),
).then((value) {
- model.getReports();
+ model.getReports(projectViewModel.isArabic ? 1 : 2);
}),
),
)
diff --git a/lib/pages/medical/reports/report_list_widget.dart b/lib/pages/medical/reports/report_list_widget.dart
index 2809b317..82df163c 100644
--- a/lib/pages/medical/reports/report_list_widget.dart
+++ b/lib/pages/medical/reports/report_list_widget.dart
@@ -12,6 +12,7 @@ import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.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/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_send_email_dialog.dart';
@@ -197,7 +198,9 @@ class ReportListWidget extends StatelessWidget {
GifLoaderDialogUtils.showMyDialog(AppGlobal.context);
ReportsService _reportsService = locator();
_reportsService
- .sendEmailForMedicalReport(report.projectName, report.clinicDescription, report.doctorName, DateUtil.convertDateToString(report.requestDate), report.invoiceNo.toString(), report.projectID,
+ .sendEmailForMedicalReport(report.projectName, report.clinicDescription, report.doctorName, DateUtil.convertDateToString(report.requestDate),
+ Utils.isVidaPlusProject(projectViewModel, report.projectID) ? report.invoiceNo_VP.toString() : report.invoiceNo.toString(),
+ report.projectID,
DateUtil.convertDateToString(report.requestDate), report.setupId)
.then((value) {
GifLoaderDialogUtils.hideDialog(AppGlobal.context);
diff --git a/lib/pages/rateAppointment/rate_appointment_clinic.dart b/lib/pages/rateAppointment/rate_appointment_clinic.dart
index 09b083cc..eabe9528 100644
--- a/lib/pages/rateAppointment/rate_appointment_clinic.dart
+++ b/lib/pages/rateAppointment/rate_appointment_clinic.dart
@@ -32,10 +32,11 @@ class _RateAppointmentClinicState extends State {
final formKey = GlobalKey();
String note = "";
int rating = 0;
+ ProjectViewModel projectViewModel;
@override
Widget build(BuildContext context) {
- ProjectViewModel projectViewModel = Provider.of(context);
+ projectViewModel = Provider.of(context);
return BaseView(
builder: (_, model, w) => AppScaffold(
isShowAppBar: true,
@@ -191,18 +192,27 @@ class _RateAppointmentClinicState extends State {
child: DefaultButton(
TranslationBase.of(context).later,
() {
- // Navigator.pushReplacement(
- // context,
- // FadePage(
- // page: LandingPage(),
- // ),
- // );
- Navigator.pop(
- context,
- );
- Navigator.pop(
+ Navigator.pushReplacement(
context,
+ FadePage(
+ page: LandingPage(),
+ ),
);
+ // if (projectViewModel.isLoginChild) {
+ // Navigator.pushReplacement(
+ // context,
+ // FadePage(
+ // page: LandingPage(),
+ // ),
+ // );
+ // } else {
+ // Navigator.pop(
+ // context,
+ // // FadePage(
+ // // page: LandingPage(),
+ // // ),
+ // );
+ // }
},
color: CustomColors.accentColor,
textColor: Colors.white,
@@ -215,9 +225,10 @@ class _RateAppointmentClinicState extends State {
rating <= 0
? null
: () {
+ int languageID = projectViewModel.isArabic ? 1 : 2;
model
- .sendAppointmentRate(
- rating, widget.appointmentDetails.appointmentNo, widget.appointmentDetails.projectID, widget.appointmentDetails.doctorID, widget.appointmentDetails.clinicID, note)
+ .sendAppointmentRate(rating, widget.appointmentDetails.appointmentNo, widget.appointmentDetails.projectID, widget.appointmentDetails.doctorID,
+ widget.appointmentDetails.clinicID, note, languageID)
.then(
(value) => {
model
diff --git a/lib/pages/rateAppointment/rate_appointment_doctor.dart b/lib/pages/rateAppointment/rate_appointment_doctor.dart
index aa49d15a..6aa627f8 100644
--- a/lib/pages/rateAppointment/rate_appointment_doctor.dart
+++ b/lib/pages/rateAppointment/rate_appointment_doctor.dart
@@ -193,21 +193,27 @@ class _RateAppointmentDoctorState extends State {
});
dialog.showAlertDialog(context);
} else {
- if(projectViewModel.isLoginChild) {
- Navigator.pushReplacement(
- context,
- FadePage(
- page: LandingPage(),
- ),
- );
- } else {
- Navigator.pop(
- context,
- // FadePage(
- // page: LandingPage(),
- // ),
- );
- }
+ Navigator.pushReplacement(
+ context,
+ FadePage(
+ page: LandingPage(),
+ ),
+ );
+ // if(projectViewModel.isLoginChild) {
+ // Navigator.pushReplacement(
+ // context,
+ // FadePage(
+ // page: LandingPage(),
+ // ),
+ // );
+ // } else {
+ // Navigator.pop(
+ // context,
+ // // FadePage(
+ // // page: LandingPage(),
+ // // ),
+ // );
+ // }
}
},
color: CustomColors.accentColor,
diff --git a/lib/services/appointment_services/GetDoctorsList.dart b/lib/services/appointment_services/GetDoctorsList.dart
index f3b7670c..47826a43 100644
--- a/lib/services/appointment_services/GetDoctorsList.dart
+++ b/lib/services/appointment_services/GetDoctorsList.dart
@@ -14,6 +14,7 @@ import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.da
import 'package:diplomaticquarterapp/models/Request.dart';
import 'package:diplomaticquarterapp/models/anicllary-orders/ancillary_orders_proc_list.dart';
import 'package:diplomaticquarterapp/models/apple_pay_request.dart';
+import 'package:diplomaticquarterapp/pages/final_products_page.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
@@ -34,7 +35,7 @@ class DoctorsListService extends BaseService {
String tokenID;
List selectedBodyPartList = [];
- Future