diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 58ac88b7..64d3eed4 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -34,9 +34,8 @@
-
-
-
+
+
diff --git a/lib/config/config.dart b/lib/config/config.dart
index d025d082..53b28a48 100644
--- a/lib/config/config.dart
+++ b/lib/config/config.dart
@@ -22,8 +22,8 @@ var PACKAGES_ORDER_HISTORY = '/api/orders/items';
var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara';
// var BASE_URL = 'http://10.50.100.198:2018/';
// 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 = 'https://uat.hmgwebservices.com/';
+// var BASE_URL = 'https://hmgwebservices.com/';
// var BASE_URL = 'http://10.20.200.111:1010/';
// var BASE_URL = 'https://orash.cloudsolutions.com.sa/';
// var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/';
@@ -354,7 +354,7 @@ var CAN_PAY_FOR_FOR_WALKIN_APPOINTMENT = 'Services/Doctors.svc/REST/CanPayForWal
var CHANNEL = 3;
var GENERAL_ID = 'Cs2020@2016\$2958';
var IP_ADDRESS = '10.20.10.20';
-var VERSION_ID = 16.5;
+var VERSION_ID = 16.7;
var SETUP_ID = '91877';
var LANGUAGE = 2;
// var PATIENT_OUT_SA = 0;
@@ -680,10 +680,10 @@ var INSERT_WALKIN_APPOINTMENT = "Services/Doctors.svc/REST/InsertWalkinAppointme
//PAYFORT
var getPayFortProjectDetails = "Services/PayFort_Serv.svc/REST/GetPayFortProjectDetails";
var addPayFortApplePayResponse = "Services/PayFort_Serv.svc/REST/AddResponse";
-var payFortEnvironment = FortEnvironment.production;
-var applePayMerchantId = "merchant.com.hmgwebservices";
-// var payFortEnvironment = FortEnvironment.test;
-// var applePayMerchantId = "merchant.com.hmgwebservices.uat";
+// var payFortEnvironment = FortEnvironment.production;
+// var applePayMerchantId = "merchant.com.hmgwebservices";
+var payFortEnvironment = FortEnvironment.test;
+var applePayMerchantId = "merchant.com.hmgwebservices.uat";
class AppGlobal {
static var context;
diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart
index 54fff1b7..546c2aeb 100644
--- a/lib/config/localized_values.dart
+++ b/lib/config/localized_values.dart
@@ -1874,10 +1874,11 @@ const Map localizedValues = {
"NFCNotSupported": {"en": "Your device does not support NFC. Please visit reception to Check-In", "ar": "جهازك لا يدعم NFC. يرجى زيارة مكتب الاستقبال لتسجيل الوصول"},
"enter-workplace-name": {"en": "Please enter your workplace details:", "ar": "الرجاء إدخال تفاصيل مكان عملك:"},
- "workplaceName": {"en": "Workplace name English:", "ar": "مكان العمل انجليزي:"},
- "workplaceNameAr": {"en": "Workplace name Arabic:", "ar": "مكان العمل عربي:"},
- "occupationNameEn": {"en": "Occupation name English:", "ar": "مكان العمل انجليزي:"},
- "occupationNameAr": {"en": "Occupation name Arabic:", "ar": "مكان العمل عربي:"},
+ // "workplaceName": {"en": "Workplace name:", "ar": "مكان العمل:"},
+ "workplaceName": {"en": "Workplace name English", "ar": "مكان العمل انجليزي:"},
+ "workplaceNameAr": {"en": "Workplace name Arabic *", "ar": "مكان العمل عربي:"},
+ "occupationNameEn": {"en": "Occupation name English", "ar": "مكان العمل انجليزي:"},
+ "occupationNameAr": {"en": "Occupation name Arabic *", "ar": "مكان العمل عربي:"},
"callLiveCareSupport": {"en": "Call LiveCare Support", "ar": "اتصل بدعم اللايف كير"},
"needApproval": {
@@ -1950,8 +1951,15 @@ const Map localizedValues = {
"generalInstructions": {"en": "General Instructions:", "ar": "تعليمات عامة:"},
"copyLink": {"en": "COPY LINK", "ar": "نسخ الوصلة:"},
"paymentLinkCopied": {"en": "Payment link copied to your clipboard!'", "ar": "تم نسخ رابط الدفع إلى الحافظة الخاصة بك!"},
- "copyLinkTxt": {"en": "Or you can copy the payment link from below & send it to someone who can pay on your behalf: ", "ar": "أو يمكنك نسخ رابط الدفع من الأسفل وإرساله إلى شخص يمكنه الدفع نيابة عنك:"},
- "proErrorMessage": {"en": "Dear patient, Our staff is currently out of office, please note that our working hours are from 7:00 AM to 10:00 PM, and we'd love to help you during that time, or you can call ", "ar": "عزيزي المريض ، طاقم العمل لدينا خارج المكتب حاليًا ، يرجى ملاحظة أن ساعات العمل لدينا من 7:00 صباحًا إلى 10:00 مساءً ، ويسعدنا مساعدتك خلال هذا الوقت ، أو يمكنك الاتصال بـ <أدخل الرقم هنا>"},
+ "copyLinkTxt": {
+ "en": "Or you can copy the payment link from below & send it to someone who can pay on your behalf: ",
+ "ar": "أو يمكنك نسخ رابط الدفع من الأسفل وإرساله إلى شخص يمكنه الدفع نيابة عنك:"
+ },
+ "proErrorMessage": {
+ "en":
+ "Dear patient, Our staff is currently out of office, please note that our working hours are from 7:00 AM to 10:00 PM, and we'd love to help you during that time, or you can call ",
+ "ar": "عزيزي المريض ، طاقم العمل لدينا خارج المكتب حاليًا ، يرجى ملاحظة أن ساعات العمل لدينا من 7:00 صباحًا إلى 10:00 مساءً ، ويسعدنا مساعدتك خلال هذا الوقت ، أو يمكنك الاتصال بـ <أدخل الرقم هنا>"
+ },
"admissionNo": {"en": "Admission No", "ar": "رقم القبول:"},
"admissionReqNo": {"en": "Admission Request No", "ar": "رقم طلب القبول:"},
"dischargeDate": {"en": "Discharge Date", "ar": "تاريخ التفريغ"},
@@ -1972,10 +1980,7 @@ const Map localizedValues = {
"validInsurance": {"en": "Do you have a valid insurance?", "ar": "هل لديك تأمين صالح؟"},
"contactRRT": {"en": "Contact RRT", "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": "يرجى التأكد من تواجدك داخل موقع المستشفى لإجراء تسجيل الوصول عبر الإنترنت."
- },
+ "locationCheckInError": {"en": "Please ensure you're within the hospital location to perform online check-in.", "ar": "يرجى التأكد من تواجدك داخل موقع المستشفى لإجراء تسجيل الوصول عبر الإنترنت."},
"upcoming": {"en": "Upcoming", "ar": "المواعيد القادمة"},
"noUpcomingAppointment": {"en": "No upcoming appointments", "ar": "لا توجد مواعيد القادمة"},
"locationTimeoutError": {"en": "Unable to fetch your location, Please try again.", "ar": "غير قادر على جلب موقعك، يرجى المحاولة مرة أخرى."},
@@ -1983,23 +1988,29 @@ const Map localizedValues = {
"selectHospitalBloodDonation": {"en": "Please select the hospital you want to book an appointment with: ", "ar": "يرجى اختيار المستشفى الذي تريد حجز موعد معه:"},
"wecare": {"en": "We Care", "ar": "نحن نهتم"},
"myinstructions": {"en": "My Instructions", "ar": "تعليماتي"},
- "existingPackage":{"en":"This patient has a package under this clinic,","ar":"هذا المريض لديه حزمة تحت هذه العيادة،"},
- "continueOrbookNew":{"en":"do you want to continue with that package? or book new appointment?","ar":"هل تريد الاستمرار في هذه الباقة؟ أو حجز موعد جديد؟"},
- "newAppointment":{"en":"New Appointment","ar":"موعد جديد"},
- "proceedPackage":{"en":"Proceed with package","ar":"المضي قدما في الحزمة"},
+ "existingPackage": {"en": "This patient has a package under this clinic,", "ar": "هذا المريض لديه حزمة تحت هذه العيادة،"},
+ "continueOrbookNew": {"en": "do you want to continue with that package? or book new appointment?", "ar": "هل تريد الاستمرار في هذه الباقة؟ أو حجز موعد جديد؟"},
+ "newAppointment": {"en": "New Appointment", "ar": "موعد جديد"},
+ "proceedPackage": {"en": "Proceed with package", "ar": "المضي قدما في الحزمة"},
"clinicLocation": {"en": "Clinic Location", "ar": "موقع العيادة"},
"waitingAppointment": {"en": "Waiting appointment", "ar": "انتظار الموعد"},
"whatWaitingAppointment": {"en": "What is Waiting appointment?", "ar": "ما هو انتظار الموعد؟"},
- "waitingAppointmentText1": {"en": "The waiting appointments feature allows you to book an appointment while you are inside the hospital building, and in case there is no available slot in the doctor’s schedule.", "ar": "تتيح لك خاصية انتظار المواعيد حجز موعد أثناء تواجدك داخل مبنى المستشفى، وفي حالة عدم وجود وقت متاح في جدول الطبيب."},
+ "waitingAppointmentText1": {
+ "en": "The waiting appointments feature allows you to book an appointment while you are inside the hospital building, and in case there is no available slot in the doctor’s schedule.",
+ "ar": "تتيح لك خاصية انتظار المواعيد حجز موعد أثناء تواجدك داخل مبنى المستشفى، وفي حالة عدم وجود وقت متاح في جدول الطبيب."
+ },
"waitingAppointmentText2": {"en": "The appointment with the doctor is confirmed, but the time of entry is uncertain", "ar": "دخول الموعد مؤكد, التوقيت غير محدد."},
- "waitingAppointmentText3": {"en": "Note: You must have to pay within 10 minutes of booking, otherwise your appointment will be cancelled automatically", "ar": "ملحوظة: يجب عليك الدفع خلال 10 دقائق من الحجز، وإلا سيتم إلغاء موعدك تلقائيًا"},
+ "waitingAppointmentText3": {
+ "en": "Note: You must have to pay within 10 minutes of booking, otherwise your appointment will be cancelled automatically",
+ "ar": "ملحوظة: يجب عليك الدفع خلال 10 دقائق من الحجز، وإلا سيتم إلغاء موعدك تلقائيًا"
+ },
"waitingAppointmentVerificationMethod": {"en": "Please select verification method", "ar": "الرجاء تحديد طريقة التحقق"},
"howToUseVerificationMethod": {"en": "How to use verification methods?", "ar": "كيفية استخدام طرق التحقق؟"},
"addToWaitingList": {"en": "Add to waiting list", "ar": "اضافه الى قائمة الانتظار"},
"searchClinic": {"en": "Search Clinic", "ar": "بحث العيادة"},
- "selectBranch":{"en":"Select Branch", "ar":"اختر الفرع"},
- "searchByBranch":{"en":"Search By Branch Name", "ar":"البحث عن طريق اسم الفرع"},
+ "selectBranch": {"en": "Select Branch", "ar": "اختر الفرع"},
+ "searchByBranch": {"en": "Search By Branch Name", "ar": "البحث عن طريق اسم الفرع"},
"hospitalNavigationTitle": {"en": "Hospital", "ar": "الملاحة"},
"hospitalNavigationSubtitle": {"en": "Navigation", "ar": "المستشفى"},
};
diff --git a/lib/core/service/medical/labs_service.dart b/lib/core/service/medical/labs_service.dart
index 671cc90f..8ca246a0 100644
--- a/lib/core/service/medical/labs_service.dart
+++ b/lib/core/service/medical/labs_service.dart
@@ -125,13 +125,14 @@ class LabsService extends BaseService {
}
Future updateWorkplaceName(String workplaceName, String workplaceNameAR, String occupation, String occupationAR, int requestNumber, String setupID, int projectID) async {
+ // Future updateWorkplaceName(String workplaceName, String workplaceNameAR, int requestNumber, String setupID, int projectID) async {
hasError = false;
Map body = Map();
body['Placeofwork'] = workplaceName;
- body['Placeofworkar'] = workplaceNameAR;
+ body['PlaceofworkAr'] = workplaceNameAR;
body['Occupation'] = occupation;
- body['Occupationar'] = occupationAR;
+ body['OccupationAr'] = occupationAR;
body['Req_ID'] = requestNumber;
body['TargetSetupID'] = setupID;
body['ProjectID'] = projectID;
diff --git a/lib/core/viewModels/project_view_model.dart b/lib/core/viewModels/project_view_model.dart
index 57362d6f..d4707aa9 100644
--- a/lib/core/viewModels/project_view_model.dart
+++ b/lib/core/viewModels/project_view_model.dart
@@ -48,7 +48,7 @@ class ProjectViewModel extends BaseViewModel {
GetAdmissionInfoResponseModel getAdmissionInfoResponseModel = GetAdmissionInfoResponseModel();
GetAdmissionRequestInfoResponseModel getAdmissionRequestInfoResponseModel = GetAdmissionRequestInfoResponseModel();
- bool isIndoorNavigationEnabled = true;
+ bool isIndoorNavigationEnabled = false;
int waitingAppointmentProjectID = 0;
DoctorList? waitingAppointmentDoctor;
diff --git a/lib/models/SmartWatch/WeeklyHeartRateResModel.dart b/lib/models/SmartWatch/WeeklyHeartRateResModel.dart
index 1c21c22d..26341ee0 100644
--- a/lib/models/SmartWatch/WeeklyHeartRateResModel.dart
+++ b/lib/models/SmartWatch/WeeklyHeartRateResModel.dart
@@ -8,7 +8,7 @@ class WeeklyHeartRateResModel {
{this.valueAvg, this.machineDate, this.medCategoryID, this.patientID});
WeeklyHeartRateResModel.fromJson(Map json) {
- num value = json['ValueAvg'];
+ num value = json['ValueAvg'] != null ? json['ValueAvg'] : 0.0;
valueAvg = json['ValueAvg'] != null ? value.toInt() : 0;
machineDate = json['MachineDate'];
medCategoryID = json['MedCategoryID'];
diff --git a/lib/models/SmartWatch/YearlyHeartRateResModel.dart b/lib/models/SmartWatch/YearlyHeartRateResModel.dart
index 331d5adb..3d81ff2c 100644
--- a/lib/models/SmartWatch/YearlyHeartRateResModel.dart
+++ b/lib/models/SmartWatch/YearlyHeartRateResModel.dart
@@ -15,7 +15,7 @@ class YearlyHeartRateResModel {
this.year});
YearlyHeartRateResModel.fromJson(Map json) {
- num value = json['ValueAvg'];
+ num value = json['ValueAvg'] != null ? json['ValueAvg'] : 0.0;
valueAvg = json['ValueAvg'] != null ? value.toInt() : 0;
medCategoryID = json['MedCategoryID'];
month = json['Month'];
diff --git a/lib/pages/BookAppointment/BookConfirm.dart b/lib/pages/BookAppointment/BookConfirm.dart
index dcda064c..65dfa1b1 100644
--- a/lib/pages/BookAppointment/BookConfirm.dart
+++ b/lib/pages/BookAppointment/BookConfirm.dart
@@ -680,7 +680,7 @@ class _BookConfirmState extends State {
);
}
- cancelAppointment(DoctorList docObject, AppoitmentAllHistoryResultList appo, BuildContext context, {int? invoiceNumber, int? lineItemNo}) async {
+ cancelAppointment(DoctorList docObject, AppoitmentAllHistoryResultList appo, BuildContext context, {int? invoiceNumber, int? lineItemNo, String? invoiceNoVP}) async {
ConfirmDialog.closeAlertDialog(context);
GifLoaderDialogUtils.showMyDialog(context, barrierDismissible: false);
DoctorsListService service = new DoctorsListService();
@@ -692,7 +692,7 @@ class _BookConfirmState extends State {
if (isLiveCareSchedule != null && isLiveCareSchedule) {
insertLiveCareScheduledAppointment(context, widget.doctor);
} else {
- insertAppointment(context, widget.doctor, widget.initialSlotDuration);
+ insertAppointment(context, widget.doctor, widget.initialSlotDuration, invoiceNumber: invoiceNumber, lineItemNo: lineItemNo, invoiceNoVP: invoiceNoVP);
}
});
} else {
@@ -736,7 +736,7 @@ class _BookConfirmState extends State {
widget.service.convertPatientToCash(docObject.projectID!).then((res) {
GifLoaderDialogUtils.hideDialog(context);
if (res["MessageStatus"] == 1) {
- if(isLiveCareAppointment) {
+ if (isLiveCareAppointment) {
getLiveCareAppointmentPatientShare(context, appointmentNo, docObject!.clinicID!, docObject.projectID!, docObject);
} else {
getPatientShare(context, appointmentNo, docObject.clinicID!, docObject.projectID!, docObject);
@@ -881,7 +881,9 @@ class _BookConfirmState extends State {
okFunction: () => {
ConfirmDialog.closeAlertDialog(context),
insertAppointment(context, widget.doctor, widget.initialSlotDuration,
- invoiceNumber: package.patientPackageComponents![0].invoiceNo, lineItemNo: package.patientPackageComponents![0].lineItemNo)
+ invoiceNumber: package.patientPackageComponents![0].invoiceNo,
+ lineItemNo: package.patientPackageComponents![0].lineItemNo,
+ invoiceNoVP: package.patientPackageComponents![0].invoiceNo_VP.toString())
},
cancelFunction: () => {insertAppointment(context, widget.doctor, widget.initialSlotDuration)},
);
@@ -894,7 +896,7 @@ class _BookConfirmState extends State {
});
}
- insertAppointment(context, DoctorList docObject, int initialSlotDuration, {int? invoiceNumber, int? lineItemNo}) async {
+ insertAppointment(context, DoctorList docObject, int initialSlotDuration, {int? invoiceNumber, int? lineItemNo, String? invoiceNoVP}) async {
final timeSlot = DocAvailableAppointments.selectedAppoDateTime;
String logs = await sharedPref.getString('selectedLogSlots');
List decodedLogs = json.decode(logs);
@@ -903,7 +905,7 @@ class _BookConfirmState extends State {
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, invoiceNumber, lineItemNo)
+ null, null, null, projectViewModel, invoiceNumber, lineItemNo, invoiceNoVP)
.then((res) {
if (res['MessageStatus'] == 1) {
AppToast.showSuccessToast(message: TranslationBase.of(context).bookedSuccess);
diff --git a/lib/pages/BookAppointment/components/DocAvailableAppointments.dart b/lib/pages/BookAppointment/components/DocAvailableAppointments.dart
index 6bef82b9..6e12c68e 100644
--- a/lib/pages/BookAppointment/components/DocAvailableAppointments.dart
+++ b/lib/pages/BookAppointment/components/DocAvailableAppointments.dart
@@ -331,10 +331,10 @@ class _DocAvailableAppointmentsState extends State wit
Widget getSelectedButton(int index) {
return CustomTextButton(
- backgroundColor: CustomColors.green,
+ backgroundColor: dayEvents[index].isoTime == TranslationBase.of(context).waitingAppointment ? CustomColors.darkOrange : CustomColors.green,
elevation: 0,
side: BorderSide(
- color: CustomColors.green, //Color of the border
+ color: dayEvents[index].isoTime == TranslationBase.of(context).waitingAppointment ? CustomColors.darkOrange : CustomColors.green, //Color of the border
style: BorderStyle.solid, //Style of the border
width: 1.5 //width of the border
),
diff --git a/lib/pages/medical/sickleave_workplace_update_page.dart b/lib/pages/medical/sickleave_workplace_update_page.dart
index f818021f..ec7991cb 100644
--- a/lib/pages/medical/sickleave_workplace_update_page.dart
+++ b/lib/pages/medical/sickleave_workplace_update_page.dart
@@ -70,6 +70,7 @@ class _WorkplaceUpdatePageState extends State {
),
),
mHeight(8),
+ // inputWidget(TranslationBase.of(context).workplaceName, "", workplaceName),
inputWidget(TranslationBase.of(context).workplaceName, "", workplaceName, FilteringTextInputFormatter.allow(RegExp("[a-zA-Z ]"))),
mHeight(8),
inputWidget(TranslationBase.of(context).workplaceNameAr, "", workplaceNameAr, FilteringTextInputFormatter.allow(RegExp("[ء-ي ]"))),
@@ -105,7 +106,8 @@ class _WorkplaceUpdatePageState extends State {
),
onPressed: () {
// if (_isButtonDisabled == false)
- if (workplaceName.text.isNotEmpty && workplaceNameAr.text.isNotEmpty && occupationNameEn.text.isNotEmpty && occupationNameAr.text.isNotEmpty)
+ if (workplaceNameAr.text.isNotEmpty && occupationNameAr.text.isNotEmpty)
+ // AppToast.showSuccessToast(message: "API Called");
updateWorkplaceNameDialog();
else
AppToast.showErrorToast(message: TranslationBase.of(context).enterDetailBelow);
@@ -121,6 +123,7 @@ class _WorkplaceUpdatePageState extends State {
}
Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, TextInputFormatter inputFormatter, {String? prefix, bool isEnable = true, bool hasSelection = false}) {
+ // Widget inputWidget(String _labelText, String _hintText, TextEditingController _controller, {String? prefix, bool isEnable = true, bool hasSelection = false}) {
return Container(
padding: EdgeInsets.only(left: 16, right: 16, bottom: 15, top: 15),
alignment: Alignment.center,
@@ -219,8 +222,8 @@ class _WorkplaceUpdatePageState extends State {
}
updateWorkplaceNameDialog() {
- var messageEn = "The workplace name you entered is: " + workplaceName.text + ". Please confirm!";
- var messageAr = "اسم مكان العمل الذي أدخلته هو: " + workplaceName.text + ". يرجى تأكيد!";
+ var messageEn = "The workplace name you entered is: " + workplaceNameAr.text + ". Please confirm!";
+ var messageAr = "اسم مكان العمل الذي أدخلته هو: " + workplaceNameAr.text + ". يرجى تأكيد!";
ConfirmDialog dialog = new ConfirmDialog(
context: context,
confirmMessage: projectViewModel!.isArabic ? messageAr : messageEn,
@@ -239,6 +242,9 @@ class _WorkplaceUpdatePageState extends State {
GifLoaderDialogUtils.showMyDialog(context);
service.updateWorkplaceName(workplaceName.text, workplaceNameAr.text, occupationNameEn.text, occupationNameAr.text, widget.requestNumber, widget.setupID, widget.projectID).then((res) {
+ // service
+ // .updateWorkplaceName(projectViewModel!.isArabic ? "-" : workplaceName.text, projectViewModel!.isArabic ? workplaceName.text : "-", widget.requestNumber, widget.setupID, widget.projectID)
+ // .then((res) {
GifLoaderDialogUtils.hideDialog(context);
Navigator.of(context).pop(true);
}).catchError((err) {
diff --git a/lib/pages/medical/smart_watch_health_data/distance/distanceTracker.dart b/lib/pages/medical/smart_watch_health_data/distance/distanceTracker.dart
index 0e356b78..432707ce 100644
--- a/lib/pages/medical/smart_watch_health_data/distance/distanceTracker.dart
+++ b/lib/pages/medical/smart_watch_health_data/distance/distanceTracker.dart
@@ -216,7 +216,7 @@ class _DistanceTrackerState extends State with SingleTickerProv
(element) {
weeklyTimeSeriesData.add(
TimeSeriesSales2(
- DateUtil.convertStringToDate(element.machineDate!),
+ DateUtil.convertStringToDate(element.machineDate ?? DateUtil.convertDateToString(DateTime.now())),
element.value != null ? (element.value!.toDouble() / 1000) : 0.0,
),
);
@@ -501,7 +501,7 @@ class _DistanceTrackerState extends State with SingleTickerProv
children: [
Utils.tableColumnValue(
'${DateUtil.getDayMonthYearDateFormatted(
- DateUtil.convertStringToDate(step.machineDate!),
+ DateUtil.convertStringToDate(step.machineDate ?? DateUtil.convertDateToString(DateTime.now())),
)} ',
isCapitable: false,
mProjectViewModel: projectViewModel),
diff --git a/lib/pages/medical/smart_watch_health_data/steps/stepsTracker.dart b/lib/pages/medical/smart_watch_health_data/steps/stepsTracker.dart
index fcd87cfd..a9a19945 100644
--- a/lib/pages/medical/smart_watch_health_data/steps/stepsTracker.dart
+++ b/lib/pages/medical/smart_watch_health_data/steps/stepsTracker.dart
@@ -212,7 +212,7 @@ class _StepsTrackerState extends State with SingleTickerProviderSt
(element) {
weeklyTimeSeriesData.add(
TimeSeriesSales2(
- DateUtil.convertStringToDate(element.machineDate!),
+ DateUtil.convertStringToDate(element.machineDate ?? DateUtil.convertDateToString(DateTime.now())),
element.value != null ? element.value!.toDouble() : 0.0,
),
);
@@ -527,7 +527,7 @@ class _StepsTrackerState extends State with SingleTickerProviderSt
children: [
Utils.tableColumnValue(
'${DateUtil.getDayMonthYearDateFormatted(
- DateUtil.convertStringToDate(step.machineDate!),
+ DateUtil.convertStringToDate(step.machineDate ?? DateUtil.convertDateToString(DateTime.now())),
)} ',
isCapitable: false,
mProjectViewModel: projectViewModel),
diff --git a/lib/pages/rateAppointment/rate_appointment_clinic.dart b/lib/pages/rateAppointment/rate_appointment_clinic.dart
index 44484373..4dbc3edd 100644
--- a/lib/pages/rateAppointment/rate_appointment_clinic.dart
+++ b/lib/pages/rateAppointment/rate_appointment_clinic.dart
@@ -75,7 +75,7 @@ class _RateAppointmentClinicState extends State {
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
),
Text(
- model.appointmentDetails.startTime.toString().substring(0, 5),
+ model.appointmentDetails.startTime != "" ? model.appointmentDetails.startTime.toString().substring(0, 5) : "",
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
),
],
diff --git a/lib/services/payfort_services/payfort_service.dart b/lib/services/payfort_services/payfort_service.dart
index 64a015cd..9983a22c 100644
--- a/lib/services/payfort_services/payfort_service.dart
+++ b/lib/services/payfort_services/payfort_service.dart
@@ -168,16 +168,16 @@ class PayfortService extends BaseService {
/// Step 4: Processing Payment [Don't multiply with 100]
/// Amount value send always round ex. [100] not [100.00, 100.21]
FortRequest request = FortRequest(
- amount: orderAmount!,
- customerName: customerName!,
- customerEmail: customerEmail!,
- orderDescription: orderDescription!,
- sdkToken: sdkTokenResponse?.sdkToken ?? '',
- merchantReference: merchantReference!,
- currency: currency,
- customerIp: (await _info.getWifiIP() ?? ''),
- language: 'en'
- );
+ amount: orderAmount!,
+ customerName: customerName!,
+ customerEmail: customerEmail!,
+ // orderDescription: orderDescription!,
+ orderDescription: "Dr. Sulaiman Al Habib Hospital",
+ sdkToken: sdkTokenResponse?.sdkToken ?? '',
+ merchantReference: merchantReference!,
+ currency: currency,
+ customerIp: (await _info.getWifiIP() ?? ''),
+ language: 'en');
_payfort.callPayFortForApplePay(
request: request,
diff --git a/lib/theme/colors.dart b/lib/theme/colors.dart
index 328af105..a9d4e437 100644
--- a/lib/theme/colors.dart
+++ b/lib/theme/colors.dart
@@ -21,6 +21,7 @@ class CustomColors {
static const Color appBackgroudGrey2Color = Color(0xFFF8F8F8);
static const Color green = Color(0xFF359846);
static const Color orange = Color(0xFFCC9B14);
+ static const Color darkOrange = Color(0xFFE16F17);
static const Color femaleColor = Color(0xFF359846);
static const Color maleColor = Color(0xFFCC9B14);
diff --git a/lib/uitl/penguin_method_channel.dart b/lib/uitl/penguin_method_channel.dart
index f2d51573..7b50d635 100644
--- a/lib/uitl/penguin_method_channel.dart
+++ b/lib/uitl/penguin_method_channel.dart
@@ -17,7 +17,7 @@ class PenguinMethodChannel {
"dataServiceName": "api",
"positionServiceName": "pe",
"clientID": "HMG",
- // "username": "test",
+ // "username": "Haroon",
"username": username,
"isSimulationModeEnabled": false,
"isShowUserName": false,
diff --git a/pubspec.yaml b/pubspec.yaml
index 475a72f2..143df07f 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,7 +1,7 @@
name: diplomaticquarterapp
description: A new Flutter application.
-version: 4.5.067+4050067
+version: 4.5.068+4050068
environment:
sdk: ">=3.0.0 <3.13.0"
@@ -36,6 +36,7 @@ dependencies:
#Google Fit & Apple HealthKit
# health: ^3.0.3
health: ^11.1.0
+ pedometer: ^4.0.2
#chart
fl_chart: ^0.64.0