Merge branch 'development' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into my_tracker

 Conflicts:
	lib/uitl/translations_delegate_base.dart
merge-update-with-lab-changes
Mohammad Aljammal 5 years ago
commit 9d8c1ddf63

@ -10,6 +10,7 @@
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
<uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -231,6 +231,8 @@ const SEND_LIVECARE_INVOICE_EMAIL = 'Services/Notifications.svc/REST/SendInvoice
const GET_USER_TERMS = 'Services/Patients.svc/REST/GetUserTermsAndConditions'; const GET_USER_TERMS = 'Services/Patients.svc/REST/GetUserTermsAndConditions';
const UPDATE_HEALTH_TERMS = 'services/Patients.svc/REST/UpdatePateintHealthSummaryReport'; const UPDATE_HEALTH_TERMS = 'services/Patients.svc/REST/UpdatePateintHealthSummaryReport';
const GET_PATIENT_HEALTH_STATS = 'Services/Patients.svc/REST/Med_GetTransactionsSts';
//URL to get medicine and pharmacies list //URL to get medicine and pharmacies list
const CHANNEL = 3; const CHANNEL = 3;
const GENERAL_ID = 'Cs2020@2016\$2958'; const GENERAL_ID = 'Cs2020@2016\$2958';

@ -2,23 +2,45 @@
// Used for Native through Platform Method Channel // Used for Native through Platform Method Channel
// --------- - -- - - - - - - - - ---------------- // --------- - -- - - - - - - - - ----------------
const Map platformLocalizedValues = { const Map platformLocalizedValues = {
"errorConnectingHmgNetwork": {"en": "Sorry you are not connecting to HMG network", "ar": "نعتذر لست متصل في شكبة مستشفى د.سليمان الحبيب"}, "errorConnectingHmgNetwork": {
"successConnectingHmgNetwork": {"en": "You connected to HMG network successfully, you can access the app", "ar": "تم التصال بشبكة د.سليمان الحبيب بنجاح, تستطيع الان استخدام تطبيق الحبيب"}, "en": "Sorry you are not connecting to HMG network",
"ar": "نعتذر لست متصل في شكبة مستشفى د.سليمان الحبيب"
},
"successConnectingHmgNetwork": {
"en": "You connected to HMG network successfully, you can access the app",
"ar":
"تم التصال بشبكة د.سليمان الحبيب بنجاح, تستطيع الان استخدام تطبيق الحبيب"
},
"failedConnectingHmgNetwork": { "failedConnectingHmgNetwork": {
"en": "Sorry the connection to HMG network had been failed, make sure you are in range of HMG network", "en":
"ar": "نعتذر لقد فشل الاتصال بشبكة د.سليمان الحبيب, تاكد من وجودك داخل نطاق الشبكة" "Sorry the connection to HMG network had been failed, make sure you are in range of HMG network",
"ar":
"نعتذر لقد فشل الاتصال بشبكة د.سليمان الحبيب, تاكد من وجودك داخل نطاق الشبكة"
},
"alreadyConnectedHmgNetwork": {
"en": " You already connected to HMG network to access Alhabib app",
"ar": "انت متصل مسبقاً بالشبكة تستطيع استخدام تطبيق الحبيب"
},
"somethingWentWrong": {
"en": "Sorry something went wrong please try again later",
"ar": "نعتذر لخدمتكم يرجى المحاولة لاحقا"
}, },
"alreadyConnectedHmgNetwork": {"en": " You already connected to HMG network to access Alhabib app", "ar": "انت متصل مسبقاً بالشبكة تستطيع استخدام تطبيق الحبيب"},
"somethingWentWrong": {"en": "Sorry something went wrong please try again later", "ar": "نعتذر لخدمتكم يرجى المحاولة لاحقا"},
"enablingWifi": {"en": "Enabling wifi...", "ar": "Enabling wifi..."}, "enablingWifi": {"en": "Enabling wifi...", "ar": "Enabling wifi..."},
"connectedHmgNetworkWithInternet": {"en": "Successfully connected to the HMG network to access internet", "ar": "Successfully connected to the HMG network to access internet"}, "connectedHmgNetworkWithInternet": {
"en": "Successfully connected to the HMG network to access internet",
"ar": "Successfully connected to the HMG network to access internet"
},
"connectedToHmgNetworkWithNoInternet": { "connectedToHmgNetworkWithNoInternet": {
"en": "Successfully connected to the HMG network but it have no internet access", "en":
"ar": "Successfully connected to the HMG network but it have no internet access" "Successfully connected to the HMG network but it have no internet access",
"ar":
"Successfully connected to the HMG network but it have no internet access"
}, },
"notConnectedToHmgNetworkSecurityIssue": { "notConnectedToHmgNetworkSecurityIssue": {
"en": "We are not able to connect you to HMG network due to security reasons", "en":
"ar": "We are not able to connect you to HMG network due to security reasons" "We are not able to connect you to HMG network due to security reasons",
"ar":
"We are not able to connect you to HMG network due to security reasons"
} }
}; };
@ -45,7 +67,10 @@ const Map localizedValues = {
'clinicName': {'en': 'Clinic Name', 'ar': 'اسم العيادة'}, 'clinicName': {'en': 'Clinic Name', 'ar': 'اسم العيادة'},
'doctorName': {'en': 'Doctor Name', 'ar': 'إسم الطبيب'}, 'doctorName': {'en': 'Doctor Name', 'ar': 'إسم الطبيب'},
'nearestAppo': {'en': 'Nearest appointment', 'ar': 'أقرب موعد'}, 'nearestAppo': {'en': 'Nearest appointment', 'ar': 'أقرب موعد'},
'searchByDocText': {'en': 'Type the name of the doctor to help you find him', 'ar': 'اكتب اسم الطبيب لمساعدتك في العثور عليه'}, 'searchByDocText': {
'en': 'Type the name of the doctor to help you find him',
'ar': 'اكتب اسم الطبيب لمساعدتك في العثور عليه'
},
'enterDocName': {'en': 'Enter Doctor name', 'ar': 'أدخل إسم الطبيب'}, 'enterDocName': {'en': 'Enter Doctor name', 'ar': 'أدخل إسم الطبيب'},
'search': {'en': 'Search', 'ar': 'بحث'}, 'search': {'en': 'Search', 'ar': 'بحث'},
'bookNow': {'en': 'BOOK NOW', 'ar': 'احجز الآن'}, 'bookNow': {'en': 'BOOK NOW', 'ar': 'احجز الآن'},
@ -55,11 +80,17 @@ const Map localizedValues = {
'gender': {'en': 'Gender', 'ar': 'الجنس'}, 'gender': {'en': 'Gender', 'ar': 'الجنس'},
'nationality': {'en': 'Nationality', 'ar': 'الجنسية'}, 'nationality': {'en': 'Nationality', 'ar': 'الجنسية'},
'docQualifications': {'en': 'Doctor Qualifications', 'ar': 'مؤهلات الطبيب'}, 'docQualifications': {'en': 'Doctor Qualifications', 'ar': 'مؤهلات الطبيب'},
'confirmAppoHeading': {'en': 'Kindly confirm your Appointment', 'ar': 'يرجى تأكيد موعدك'}, 'confirmAppoHeading': {
'en': 'Kindly confirm your Appointment',
'ar': 'يرجى تأكيد موعدك'
},
'patientInfo': {'en': 'Patient Information', 'ar': 'معلومات المريض'}, 'patientInfo': {'en': 'Patient Information', 'ar': 'معلومات المريض'},
'bookSuccess': {'en': 'Book Success', 'ar': 'تم حجز الموعد بنجاح'}, 'bookSuccess': {'en': 'Book Success', 'ar': 'تم حجز الموعد بنجاح'},
'patientShare': {'en': 'Patient Share', 'ar': 'المبلغ المستحق'}, 'patientShare': {'en': 'Patient Share', 'ar': 'المبلغ المستحق'},
'patientShareWithTax': {'en': 'Patient Share with Tax', 'ar': 'المبلغ الإجمالي المستحق'}, 'patientShareWithTax': {
'en': 'Patient Share with Tax',
'ar': 'المبلغ الإجمالي المستحق'
},
'confirmAppo': {'en': 'Confirm Appointment', 'ar': 'تأكيد الموعد'}, 'confirmAppo': {'en': 'Confirm Appointment', 'ar': 'تأكيد الموعد'},
'confirm': {'en': 'Confirm', 'ar': 'تأكيد'}, 'confirm': {'en': 'Confirm', 'ar': 'تأكيد'},
'confirmLiveCare': {'en': 'Confirm LiveCare', 'ar': 'تأكيد لايف كير'}, 'confirmLiveCare': {'en': 'Confirm LiveCare', 'ar': 'تأكيد لايف كير'},
@ -81,18 +112,41 @@ const Map localizedValues = {
'ar': 'هل أنت متأكد أنك تريد إلغاء هذا الموعد؟' 'ar': 'هل أنت متأكد أنك تريد إلغاء هذا الموعد؟'
}, },
'upcoming-noAction': {'en': 'No Action Required', 'ar': 'لا يوجد إجراء مطلوب'}, 'upcoming-noAction': {
'upcoming-confirm': {'en': 'Please confirm the appointment to avoid cancellation', 'ar': 'يرجى تأكيد الموعد لتفادي الإلغاء'}, 'en': 'No Action Required',
'ar': 'لا يوجد إجراء مطلوب'
},
'upcoming-confirm': {
'en': 'Please confirm the appointment to avoid cancellation',
'ar': 'يرجى تأكيد الموعد لتفادي الإلغاء'
},
"book-success-confirm-more-24-1-2": { "book-success-confirm-more-24-1-2": {
"en": "en":
"The online payment process will be available 24 hours before the appointment.", "The online payment process will be available 24 hours before the appointment.",
"ar": "- عملية الدفع الالكتروني ستكون متاحة قبل الموعد ب 24 ساعة." "ar": "- عملية الدفع الالكتروني ستكون متاحة قبل الموعد ب 24 ساعة."
}, },
'upcoming-payment-pending': {'en': 'Online Payment will be Activated before 24 Hours of Appointment Time', 'ar': 'سيتم تفعيل خدمة الدفع الالكتروني قبل 24 ساعة من موعد الحجز'}, 'upcoming-payment-pending': {
'upcoming-payment-now': {'en': 'Pay Online now to avoid long waiting queue', 'ar': 'ادفع الآن لتفادي الانتظار'}, 'en':
'upcoming-QR': {'en': 'Use the QR Code to Check-In in hospital', 'ar': 'استخدم الرمز لتسجيل الحضور في المستشفى'}, 'Online Payment will be Activated before 24 Hours of Appointment Time',
'upcoming-virtual': {'en': 'This is a virtual appointment, Please adhere to the instructions for a seamless experience.', 'ar': 'هذا موعد اتصال مرئي عن بعد ، يرجى اتباع تعليمات الخدمة.'}, 'ar': 'سيتم تفعيل خدمة الدفع الالكتروني قبل 24 ساعة من موعد الحجز'
'upcoming-livecare': {'en': 'This is a LiveCare appointment', 'ar': 'هذا موعد لايف كير'}, },
'upcoming-payment-now': {
'en': 'Pay Online now to avoid long waiting queue',
'ar': 'ادفع الآن لتفادي الانتظار'
},
'upcoming-QR': {
'en': 'Use the QR Code to Check-In in hospital',
'ar': 'استخدم الرمز لتسجيل الحضور في المستشفى'
},
'upcoming-virtual': {
'en':
'This is a virtual appointment, Please adhere to the instructions for a seamless experience.',
'ar': 'هذا موعد اتصال مرئي عن بعد ، يرجى اتباع تعليمات الخدمة.'
},
'upcoming-livecare': {
'en': 'This is a LiveCare appointment',
'ar': 'هذا موعد لايف كير'
},
'upcoming-details': {'en': 'More Details', 'ar': 'المزيد'}, 'upcoming-details': {'en': 'More Details', 'ar': 'المزيد'},
'reschedule': {'en': 'Reschedule', 'ar': 'إعادة جدولة'}, 'reschedule': {'en': 'Reschedule', 'ar': 'إعادة جدولة'},
'raise': {'en': 'Raise', 'ar': 'رفع'}, 'raise': {'en': 'Raise', 'ar': 'رفع'},
@ -340,35 +394,70 @@ const Map localizedValues = {
"seeDetails": {"en": "SEE DETAILS", "ar": "منافعك التامينية"}, "seeDetails": {"en": "SEE DETAILS", "ar": "منافعك التامينية"},
"insuranceCards": {"en": "Insurance Cards", "ar": "بطاقات التأمين"}, "insuranceCards": {"en": "Insurance Cards", "ar": "بطاقات التأمين"},
"requestType": {"en": "Request Type", "ar": "نوع الاستفسار"}, "requestType": {"en": "Request Type", "ar": "نوع الاستفسار"},
"register-info-family": {"en": "How would like to add the new member?", "ar": "كيف ترغب باضافة العضو الجديد؟"}, "register-info-family": {
"remove-family-member": {"en": "Remove this member?", "ar": "إزالة ملف العضو؟"}, "en": "How would like to add the new member?",
"ar": "كيف ترغب باضافة العضو الجديد؟"
},
"remove-family-member": {
"en": "Remove this member?",
"ar": "إزالة ملف العضو؟"
},
"MyMedicalFile": {"en": "My Medical File", 'ar': 'ملف الطبي الالكتروني'}, "MyMedicalFile": {"en": "My Medical File", 'ar': 'ملف الطبي الالكتروني'},
"myMedicalFileSubTitle": {"en": "All your medical records", 'ar': 'جميع سجلاتك الطبية'}, "myMedicalFileSubTitle": {
"en": "All your medical records",
'ar': 'جميع سجلاتك الطبية'
},
"viewMore": {"en": "View More", 'ar': 'عرض المزيد'}, "viewMore": {"en": "View More", 'ar': 'عرض المزيد'},
"homeHealthCareService": {"en": "Home Health Care Service", 'ar': 'الرعاية الصحية المنزلية'}, "homeHealthCareService": {
"en": "Home Health Care Service",
'ar': 'الرعاية الصحية المنزلية'
},
"OnlinePharmacy": {"en": "Online Pharmacy", 'ar': 'صيدليات الحبيب'}, "OnlinePharmacy": {"en": "Online Pharmacy", 'ar': 'صيدليات الحبيب'},
"EmergencyService": {"en": "Emergency Service", 'ar': 'الفحص الطبي الشامل'}, "EmergencyService": {"en": "Emergency Service", 'ar': 'الفحص الطبي الشامل'},
"OnlinePaymentService": {"en": "Online Payment Service", 'ar': 'خدمة الدفع الإلكتدوني'}, "OnlinePaymentService": {
"OffersAndPackages": {"en": "Online transfer request", 'ar': 'طلب التحويل الالكتروني'}, "en": "Online Payment Service",
"ComprehensiveMedicalCheckup": {"en": "Comprehensive Medical Check up", 'ar': 'فحص طبي شامل'}, 'ar': 'خدمة الدفع الإلكتدوني'
},
"OffersAndPackages": {
"en": "Online transfer request",
'ar': 'طلب التحويل الالكتروني'
},
"ComprehensiveMedicalCheckup": {
"en": "Comprehensive Medical Check up",
'ar': 'فحص طبي شامل'
},
"HMGService": {"en": "HMG Service", 'ar': 'جميع خدمات الحبيب'}, "HMGService": {"en": "HMG Service", 'ar': 'جميع خدمات الحبيب'},
"ViewAllHabibMedicalService": {"en": "View All Habib Medical Service", 'ar': 'عرض خدمات الحبيب الطبية'}, "ViewAllHabibMedicalService": {
"en": "View All Habib Medical Service",
'ar': 'عرض خدمات الحبيب الطبية'
},
"viewAll": {"en": "View All", 'ar': 'عرض الكل'}, "viewAll": {"en": "View All", 'ar': 'عرض الكل'},
"view": {"en": "View", 'ar': 'عرض'}, "view": {"en": "View", 'ar': 'عرض'},
"ContactUs": {"en": "Contact Us", 'ar': 'الوصول إلينا'}, "ContactUs": {"en": "Contact Us", 'ar': 'الوصول إلينا'},
"ViewAllWaysReachUs": {"en": "View All Ways Reach Us", 'ar': 'جميع طرق الاتصال بنا'}, "ViewAllWaysReachUs": {
"en": "View All Ways Reach Us",
'ar': 'جميع طرق الاتصال بنا'
},
"medicalProfile": {"en": "Medical Profile", 'ar': 'الملف الطبي'}, "medicalProfile": {"en": "Medical Profile", 'ar': 'الملف الطبي'},
"consultation": {"en": "Consultation", "ar": "استشارة"}, "consultation": {"en": "Consultation", "ar": "استشارة"},
"logs": {"en": "Logs", "ar": "السجلات"}, "logs": {"en": "Logs", "ar": "السجلات"},
"textToSpeech": {"en": "How May I Help You?", "ar": "كيف يمكنني مساعدتك؟"}, "textToSpeech": {"en": "How May I Help You?", "ar": "كيف يمكنني مساعدتك؟"},
"locationDialogMessage": { "locationDialogMessage": {
"en": "Allow the HMG app to access your location will assist you in showing the hospitals according to the nearest to you.", "en":
"ar": "السماح لتطبيق مجموعة الحبيب الطبية بالوصول إلى موقعك سيساعدك في إظهار المستشفيات وفقًا للأقرب إليك." "Allow the HMG app to access your location will assist you in showing the hospitals according to the nearest to you.",
"ar":
"السماح لتطبيق مجموعة الحبيب الطبية بالوصول إلى موقعك سيساعدك في إظهار المستشفيات وفقًا للأقرب إليك."
}, },
"user-view-requester": {"en": "User Wants To View Your Medical File", "ar": "أشخاص يرغبون الاطلاع على ملفك الطبي"}, "user-view-requester": {
"user-view": {"en": "User Can View Your Medical File", "ar": "أشخاص يمكنهم الاطلاع على ملفك الطبي"}, "en": "User Wants To View Your Medical File",
"ar": "أشخاص يرغبون الاطلاع على ملفك الطبي"
},
"user-view": {
"en": "User Can View Your Medical File",
"ar": "أشخاص يمكنهم الاطلاع على ملفك الطبي"
},
"parking": {"en": "Parking", "ar": "مواقف"}, "parking": {"en": "Parking", "ar": "مواقف"},
"alhabiServices": {"en": "HMG Service", "ar": "خدمات الحبيب"}, "alhabiServices": {"en": "HMG Service", "ar": "خدمات الحبيب"},
@ -493,12 +582,22 @@ const Map localizedValues = {
"MyBalances": {"en": "My Balances", "ar": "رصيدي"}, "MyBalances": {"en": "My Balances", "ar": "رصيدي"},
"BalanceAmount": {"en": "Balance Amount", "ar": "رصيدالحساب"}, "BalanceAmount": {"en": "Balance Amount", "ar": "رصيدالحساب"},
"TotalBalance": {"en": "Total Balance", "ar": "الرصيد الكلي"}, "TotalBalance": {"en": "Total Balance", "ar": "الرصيد الكلي"},
"CreateAdvancedPayment": {"en": "Create Advanced Payment", "ar": "إنشاء دفعة مقدمة"}, "CreateAdvancedPayment": {
"en": "Create Advanced Payment",
"ar": "إنشاء دفعة مقدمة"
},
"AdvancePayment": {"en": "Advance Payment", "ar": "الدفع مقدما"}, "AdvancePayment": {"en": "Advance Payment", "ar": "الدفع مقدما"},
"AdvancePaymentLabel": {"en": "You can create and add an Advanced Payment for you account or other accounts.", "ar": "يمكنك تحويل مبلغ لحسابك لدى المجموعة أو لحساب احد المراجعين"}, "AdvancePaymentLabel": {
"en":
"You can create and add an Advanced Payment for you account or other accounts.",
"ar": "يمكنك تحويل مبلغ لحسابك لدى المجموعة أو لحساب احد المراجعين"
},
"FileNumber": {"en": "File Number", "ar": "رقم الملف"}, "FileNumber": {"en": "File Number", "ar": "رقم الملف"},
"Amount": {"en": "Amount *", "ar": "المبلغ *"}, "Amount": {"en": "Amount *", "ar": "المبلغ *"},
"DepositorEmail": {"en": "Depositor Email *", "ar": "البريد الإلكتروني للمودع *"}, "DepositorEmail": {
"en": "Depositor Email *",
"ar": "البريد الإلكتروني للمودع *"
},
"Notes": {"en": "Notes", "ar": "ملاحظات"}, "Notes": {"en": "Notes", "ar": "ملاحظات"},
"SelectPatientName": {"en": "Select Patient Name", "ar": "اختر اسم المريض"}, "SelectPatientName": {"en": "Select Patient Name", "ar": "اختر اسم المريض"},
"SelectFamilyPatientName": {"en": "Family Members", "ar": "أفراد الأسرة"}, "SelectFamilyPatientName": {"en": "Family Members", "ar": "أفراد الأسرة"},
@ -714,9 +813,15 @@ const Map localizedValues = {
// pharmacy module // pharmacy module
"medicationRefill": {"en": "MEDICATION REFILL", "ar": "إعادة تعبئة الدواء"}, "medicationRefill": {"en": "MEDICATION REFILL", "ar": "إعادة تعبئة الدواء"},
"offersAndPromotions": {"en": "OFFERS & SPECIAL PROMOTIONS", "ar": "العروض والترقيات الخاصة"}, "offersAndPromotions": {
"en": "OFFERS & SPECIAL PROMOTIONS",
"ar": "العروض والترقيات الخاصة"
},
"myPrescriptions": {"en": "MY PRESCRIPTIONS", "ar": "وصفاتي"}, "myPrescriptions": {"en": "MY PRESCRIPTIONS", "ar": "وصفاتي"},
"searchAndScanMedication": {"en": "SEARCH & SCAN FOR MEDICATION", "ar": "البحث والمسح للأدوية"}, "searchAndScanMedication": {
"en": "SEARCH & SCAN FOR MEDICATION",
"ar": "البحث والمسح للأدوية"
},
"shopByBrands": {"en": "Shop By Brands", "ar": "تسوق حسب الماركات"}, "shopByBrands": {"en": "Shop By Brands", "ar": "تسوق حسب الماركات"},
"recentlyViewed": {"en": "Recently Viewed", "ar": "شوهدت مؤخرا"}, "recentlyViewed": {"en": "Recently Viewed", "ar": "شوهدت مؤخرا"},
"bestSellers": {"en": "Best Sellers", "ar": "أفضل البائعين"}, "bestSellers": {"en": "Best Sellers", "ar": "أفضل البائعين"},
@ -774,7 +879,10 @@ const Map localizedValues = {
"profile": {"en": "Profile", "ar": "ملفي"}, "profile": {"en": "Profile", "ar": "ملفي"},
"notifications": {"en": "Notifications", "ar": "إشعارات"}, "notifications": {"en": "Notifications", "ar": "إشعارات"},
"notificationDetails": {"en": "Notification Details", "ar": "تفاصيل الاشعار"}, "notificationDetails": {"en": "Notification Details", "ar": "تفاصيل الاشعار"},
"notificationDetailsa": {"en": "Notification Details", "ar": "تفاصيل الاشعار"}, "notificationDetailsa": {
"en": "Notification Details",
"ar": "تفاصيل الاشعار"
},
"info-my-doctor-points": { "info-my-doctor-points": {
"en": [ "en": [
@ -783,15 +891,24 @@ const Map localizedValues = {
"View details of your appointments with the selected doctor.", "View details of your appointments with the selected doctor.",
"Book appointment with the doctor. ", "Book appointment with the doctor. ",
], ],
"ar": ["الاطلاع على معلومات الطبيب ومؤهلاته.", "الاطلاع على جدول الطبيب.", "الاطلاع على تفاصيل المواعيد التي تمت مع الطبيب.", "حجز موعد مع الطبيب."] "ar": [
"الاطلاع على معلومات الطبيب ومؤهلاته.",
"الاطلاع على جدول الطبيب.",
"الاطلاع على تفاصيل المواعيد التي تمت مع الطبيب.",
"حجز موعد مع الطبيب."
]
}, },
"info-my-doctor": { "info-my-doctor": {
"en": "This service allows you to see all the doctors you have visited in Al Habib Medical Group, and through this service:", "en":
"ar": "خدمة اطبائي: هذه الخدمة تمكنك من الاطلاع على جميع الاطباء الذين قمت بزيارتهم في مجموعة الحبيب الطبية, كما تستطيع من خلال هذه الخدمة:" "This service allows you to see all the doctors you have visited in Al Habib Medical Group, and through this service:",
"ar":
"خدمة اطبائي: هذه الخدمة تمكنك من الاطلاع على جميع الاطباء الذين قمت بزيارتهم في مجموعة الحبيب الطبية, كما تستطيع من خلال هذه الخدمة:"
}, },
"info-prescriptions": { "info-prescriptions": {
"en": "This service allows you to view all the medical prescriptions issued by Al Habib Medical Group, and through this service, you can:", "en":
"ar": "خدمة الوصفات الطبية: هذه الخدمة تمكنك من الاطلاع على جميع الوصفات الطبية التي تم اصدارها في مجموعة الحبيب الطبية، كما تستطيع من خلال هذه الخدمة:" "This service allows you to view all the medical prescriptions issued by Al Habib Medical Group, and through this service, you can:",
"ar":
"خدمة الوصفات الطبية: هذه الخدمة تمكنك من الاطلاع على جميع الوصفات الطبية التي تم اصدارها في مجموعة الحبيب الطبية، كما تستطيع من خلال هذه الخدمة:"
}, },
"info-my-prescription-points": { "info-my-prescription-points": {
"en": [ "en": [
@ -815,8 +932,10 @@ const Map localizedValues = {
}, },
"info-insurance-cards": { "info-insurance-cards": {
"en": "This service allows you to view all the insurance cards that recorded during your visits to Al Habib Medical Group in addition to:", "en":
"ar": "خدمة بطاقات التامين: هذه الخدمة تمكنك من الاطلاع على جميع بطاقات التامين والتي تم تسجيلها اثناء زياراتك لمجموعة الحبيب الطبية بالاضافة الى:" "This service allows you to view all the insurance cards that recorded during your visits to Al Habib Medical Group in addition to:",
"ar":
"خدمة بطاقات التامين: هذه الخدمة تمكنك من الاطلاع على جميع بطاقات التامين والتي تم تسجيلها اثناء زياراتك لمجموعة الحبيب الطبية بالاضافة الى:"
}, },
"info-insurance-cards-points": { "info-insurance-cards-points": {
@ -989,7 +1108,10 @@ const Map localizedValues = {
"message-type": {"en": "Message Type", "ar": "نوع الرسالة"}, "message-type": {"en": "Message Type", "ar": "نوع الرسالة"},
"compliment": {"en": "compliment", "ar": "ثناء"}, "compliment": {"en": "compliment", "ar": "ثناء"},
"suggestion": {"en": "Suggestion", "ar": "إقتراح"}, "suggestion": {"en": "Suggestion", "ar": "إقتراح"},
"your-feedback": {"en": "Your feedback was sent", "ar": "لقد تم ارسال اقراحك شكرا لك"}, "your-feedback": {
"en": "Your feedback was sent",
"ar": "لقد تم ارسال اقراحك شكرا لك"
},
"select-part": { "select-part": {
"en": "Please select the part that complain about", "en": "Please select the part that complain about",
"ar": "يرجى تحديد الجزء الذي تشكو منه" "ar": "يرجى تحديد الجزء الذي تشكو منه"
@ -1004,10 +1126,15 @@ const Map localizedValues = {
"YouCanFind": {"en": "You Can Find ", "ar": "باستطاعتك العثور على "}, "YouCanFind": {"en": "You Can Find ", "ar": "باستطاعتك العثور على "},
"ItemInSearch": {"en": " Item In Search", "ar": " عنصر في البحث "}, "ItemInSearch": {"en": " Item In Search", "ar": " عنصر في البحث "},
"wantConnectHmgNetwork": { "wantConnectHmgNetwork": {
"en": "Dear customer there is no internet access, Do you want to connect with HMG network to use our app, make sure you are in range of HMG network", "en":
"ar": "عزيز العميل لا يوجد اتصال بالإنترنت, هل تريد الاتصال بشبكة مستشفى د. سليمان الحبيب لاستخدام التطبيق. يجب عليك ان تكون في نطاق شبكة المستشفى" "Dear customer there is no internet access, Do you want to connect with HMG network to use our app, make sure you are in range of HMG network",
"ar":
"عزيز العميل لا يوجد اتصال بالإنترنت, هل تريد الاتصال بشبكة مستشفى د. سليمان الحبيب لاستخدام التطبيق. يجب عليك ان تكون في نطاق شبكة المستشفى"
},
"failedToAccessHmgServices": {
"en": "Connected with HMG Network,\n\nBut failed to access HMG services",
"ar": "Connected with HMG Network,\n\nBut failed to access HMG services"
}, },
"failedToAccessHmgServices": {"en": "Connected with HMG Network,\n\nBut failed to access HMG services", "ar": "Connected with HMG Network,\n\nBut failed to access HMG services"},
"offerAndPackages": {"en": "Offers And Packages", "ar": "العروض والباقات"}, "offerAndPackages": {"en": "Offers And Packages", "ar": "العروض والباقات"},
"InvoiceNo": {"en": " Invoice No", "ar": "رقم الفاتورة"}, "InvoiceNo": {"en": " Invoice No", "ar": "رقم الفاتورة"},
"SpecialResult": {"en": " Special Result", "ar": "نتيجة خاصة"}, "SpecialResult": {"en": " Special Result", "ar": "نتيجة خاصة"},
@ -1259,18 +1386,9 @@ const Map localizedValues = {
"selectFileSouse": {"en": "Select file souse", "ar": "حدد الملف"}, "selectFileSouse": {"en": "Select file souse", "ar": "حدد الملف"},
"gallery": {"en": "Gallery", "ar": "معرض الصور"}, "gallery": {"en": "Gallery", "ar": "معرض الصور"},
"camera": {"en": "Camera", "ar": "كاميرا"}, "camera": {"en": "Camera", "ar": "كاميرا"},
"med-report": { "med-report": {"en": "Medical Reports", "ar": "التقارير الطبية"},
"en": "Medical Reports", "new-med-report": {"en": "Requests", "ar": "الطلبات"},
"ar": "التقارير الطبية" "requestReport": {"en": "Request a report", "ar": " طلب تقرير"},
},
"new-med-report": {
"en": "Requests",
"ar": "الطلبات"
},
"requestReport":{
"en":"Request a report",
"ar":" طلب تقرير"
},
"confirm-msg-report": { "confirm-msg-report": {
"en": "Request for medical report?", "en": "Request for medical report?",
"ar": "طلب تقرير طبي؟" "ar": "طلب تقرير طبي؟"
@ -1279,26 +1397,11 @@ const Map localizedValues = {
"en": "The request has been submitted successfully", "en": "The request has been submitted successfully",
"ar": "تم تنفيذ طلبك بنجاح" "ar": "تم تنفيذ طلبك بنجاح"
}, },
"pulseTitle": { "pulseTitle": {"en": "Heart rate", "ar": "معدل النبض بالدقيقة"},
"en": "Heart rate", "systolic-lng": {"en": "Systolic", "ar": "الإنقباض"},
"ar": "معدل النبض بالدقيقة" "diastolic-lng": {"en": "Diastolic", "ar": "الإنبساط"},
}, "policy-holder": {"en": "Policy Holder", "ar": "حامل بطاقة التأمين"},
"systolic-lng": { "policy-no": {"en": "Policy Number", "ar": "رقم سياسات"},
"en": "Systolic",
"ar": "الإنقباض"
},
"diastolic-lng": {
"en": "Diastolic",
"ar": "الإنبساط"
},
"policy-holder": {
"en": "Policy Holder",
"ar": "حامل بطاقة التأمين"
},
"policy-no": {
"en": "Policy Number",
"ar": "رقم سياسات"
},
"agree": { "agree": {
"en": "I agree, this is the correct information", "en": "I agree, this is the correct information",
"ar": "موافق، هذه المعلومات صحيحة" "ar": "موافق، هذه المعلومات صحيحة"
@ -1307,30 +1410,12 @@ const Map localizedValues = {
"en": "No, this is not the correct information", "en": "No, this is not the correct information",
"ar": "غير موافق، هذه المعلومات غير الصحيحة" "ar": "غير موافق، هذه المعلومات غير الصحيحة"
}, },
"expiry-date": { "expiry-date": {"en": "Expiry Date", "ar": "تاريخ انتهاء الصلاحية"},
"en": "Expiry Date", "class": {"en": "Class", "ar": "فئة"},
"ar": "تاريخ انتهاء الصلاحية" "approval": {"en": "Approval", "ar": "موافقة"},
}, "no-data": {"en": "No data found", "ar": "لاتوجد بيانات"},
"class": { "insurance-details": {"en": "Insurance Details", "ar": "تفاصيل التأمين"},
"en": "Class", "nearest-hospital": {"en": "Nearest Hospital", "ar": "أقرب مستشفى"},
"ar": "فئة"
},
"approval": {
"en": "Approval",
"ar": "موافقة"
},
"no-data": {
"en": "No data found",
"ar": "لاتوجد بيانات"
},
"insurance-details": {
"en": "Insurance Details",
"ar": "تفاصيل التأمين"
},
"nearest-hospital": {
"en": "Nearest Hospital",
"ar": "أقرب مستشفى"
},
"request-sent": { "request-sent": {
"en": "Request sent successfully", "en": "Request sent successfully",
"ar": "تم إرسال الطلب بنجاح" "ar": "تم إرسال الطلب بنجاح"
@ -1339,10 +1424,7 @@ const Map localizedValues = {
"en": "Message sent successfully", "en": "Message sent successfully",
"ar": "تم إرسال الرسالة بنجاح" "ar": "تم إرسال الرسالة بنجاح"
}, },
"sent-on": { "sent-on": {"en": "Sent on", "ar": "أرسلت في"},
"en": "Sent on",
"ar": "أرسلت في"
},
"attach-insurace-image": { "attach-insurace-image": {
"en": "Attach insurance card image", "en": "Attach insurance card image",
"ar": "إرفاق صورة بطاقة التأمين" "ar": "إرفاق صورة بطاقة التأمين"
@ -1352,56 +1434,31 @@ const Map localizedValues = {
"ar": "لا يزال بإمكانك الإرسال ، إذا لم يكن لديك صورة تأمين" "ar": "لا يزال بإمكانك الإرسال ، إذا لم يكن لديك صورة تأمين"
}, },
"info-insur-cards": { "info-insur-cards": {
"en": "This service allows you to view all the insurance cards that recorded during your visits to Al Habib Medical Group in addition to:", "en":
"ar": "خدمة بطاقات التامين: هذه الخدمة تمكنك من الاطلاع على جميع بطاقات التامين والتي تم تسجيلها اثناء زياراتك لمجموعة الحبيب الطبية بالاضافة الى:" "This service allows you to view all the insurance cards that recorded during your visits to Al Habib Medical Group in addition to:",
"ar":
"خدمة بطاقات التامين: هذه الخدمة تمكنك من الاطلاع على جميع بطاقات التامين والتي تم تسجيلها اثناء زياراتك لمجموعة الحبيب الطبية بالاضافة الى:"
}, },
"scan-now": { "scan-now": {
"en": "If you have a card / Document Scan now", "en": "If you have a card / Document Scan now",
"ar": "إذا كانت لديك بطاقة / مستند ارفقها الان" "ar": "إذا كانت لديك بطاقة / مستند ارفقها الان"
}, },
"liveCare": { "liveCare": {"en": "Live Care", "ar": "لايف كير"},
"en": "Live Care", "topBrands": {"en": "Top Brands", "ar": "اعلى العلامات التجارية"},
"ar": "لايف كير"
},
"topBrands":{
"en":"Top Brands",
"ar":"اعلى العلامات التجارية"
},
"notifyMe":{ "notifyMe": {"en": "notify me", "ar": "اعلمني"},
"en":"notify me", "specification": {"en": "Specification", "ar": "تخصيص"},
"ar":"اعلمني"
},
"specification":{
"en":"Specification",
"ar":"تخصيص"
},
"availability":{ "availability": {"en": "Availability", "ar": "التوفر"},
"en":"Availability",
"ar":"التوفر"
},
"quantitySize":{
"en":"Quantity",
"ar":"كميه"
},
"addToCart":{
"en":"add to cart",
"ar":"إضفة للسلة"
},
"buyNow":{
"en":"buy now",
"ar":"إشتري الان"
},
"quantityShortcut":{
"en":"QTY",
"ar":"كمية"
},
"quantitySize": {"en": "Quantity", "ar": "كميه"},
"addToCart": {"en": "add to cart", "ar": "إضفة للسلة"},
"buyNow": {"en": "buy now", "ar": "إشتري الان"},
"quantityShortcut": {"en": "QTY", "ar": "كمية"},
"pharmacyServiceTermsCondition": { "pharmacyServiceTermsCondition": {
"en": "I agree with the terms of service and I adhere to them unconditionally", "en":
"I agree with the terms of service and I adhere to them unconditionally",
"ar": " أوافق على شروط الخدمة وألتزم بها دون قيد أو شرط" "ar": " أوافق على شروط الخدمة وألتزم بها دون قيد أو شرط"
}, },
"Year": {"en": "YEAR", "ar": "السنة"}, "Year": {"en": "YEAR", "ar": "السنة"},
@ -1464,109 +1521,118 @@ const Map localizedValues = {
"en": "Track Delivery Driver", "en": "Track Delivery Driver",
"ar": "trackDeliveryDriver" "ar": "trackDeliveryDriver"
}, },
"covidTest": { "covidTest": {"en": "COVID-19 TEST", "ar": "فحص كورونا"},
"en": "COVID-19 TEST", "driveThru": {"en": "Drive-Thru", "ar": "من السيارة"},
"ar": "فحص كورونا"
},
"driveThru": {
"en": "Drive-Thru",
"ar": "من السيارة"
},
"NearestErDesc": { "NearestErDesc": {
"en": "\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location", "en":
"ar": "\nتعرض هذه الخدمة أقرب فرع\n من بين جميع فروع مجموعة \nالحبيب الطبية بناءً على موقعك الحالي." "\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location",
}, "ar":
"NearestEr": { "\nتعرض هذه الخدمة أقرب فرع\n من بين جميع فروع مجموعة \nالحبيب الطبية بناءً على موقعك الحالي."
"en": "Nearest ER",
"ar": "أقرب ER"
}, },
"NearestEr": {"en": "Nearest ER", "ar": "أقرب ER"},
"infoCMC": { "infoCMC": {
"en": "Through this service, you can request a set of tests that help you and your doctor to understand the current health condition and then identify potential risks.", "en":
"ar": "من خلال هذه الخدمة يمكنك طلب مجموعة من الفحوصات التي تساعدك وتساعد طبيبك في فهم حالتك الصحية الحالية ومن ثم تحديد المخاطر المحتملة" "Through this service, you can request a set of tests that help you and your doctor to understand the current health condition and then identify potential risks.",
"ar":
"من خلال هذه الخدمة يمكنك طلب مجموعة من الفحوصات التي تساعدك وتساعد طبيبك في فهم حالتك الصحية الحالية ومن ثم تحديد المخاطر المحتملة"
}, },
"instructionAgree": { "instructionAgree": {
"en": "This monthly Health Summary Report reflects the health indicators and analysis results of the latest visits. Please note that this will be sent automatically from the system and it's not considered as an official report so no medical decisions should be taken based on it.", "en":
"ar": "هذا ملخص التقرير الصحي الشهري و الذي يسرد المؤشرات الصحية و نتائج التحاليل لأخر الزيارات. يرجى ملاحظة أن هذا التقرير هو تقرير يتم ارساله بشكل آلي من النظام و لا يعتبر رسمي و لا تؤخذ عليه أي قرارات طبية" "This monthly Health Summary Report reflects the health indicators and analysis results of the latest visits. Please note that this will be sent automatically from the system and it's not considered as an official report so no medical decisions should be taken based on it.",
}, "ar":
"reqId": { "هذا ملخص التقرير الصحي الشهري و الذي يسرد المؤشرات الصحية و نتائج التحاليل لأخر الزيارات. يرجى ملاحظة أن هذا التقرير هو تقرير يتم ارساله بشكل آلي من النظام و لا يعتبر رسمي و لا تؤخذ عليه أي قرارات طبية"
"en": "Request ID:",
"ar": " رقم الطلب"
},
"RRT-orders-log": {
"en": "Orders Log",
"ar": "سجل الطلبات"
},
"blood-sugar": {
"en": "Blood Sugar",
"ar": "سكر الدم"
}, },
"reqId": {"en": "Request ID:", "ar": " رقم الطلب"},
"RRT-orders-log": {"en": "Orders Log", "ar": "سجل الطلبات"},
"blood-sugar": {"en": "Blood Sugar", "ar": "سكر الدم"},
"covid19_driveThrueTest": { "covid19_driveThrueTest": {
"en": "'Covid-19- Drive-Thru Test'", "en": "'Covid-19- Drive-Thru Test'",
"ar": "Covid-19- الفحص من خلال القيادة" "ar": "Covid-19- الفحص من خلال القيادة"
}, },
"E-Referral": { "E-Referral": {"en": "'E-Referral'", "ar": "الإحالة الإلكترونية"},
"en": "'E-Referral'", "childName": {"en": "'CHILD NAME'", "ar": "إسم الطفل"},
"ar": "الإحالة الإلكترونية" "recordDeleted": {"en": "'Record Deleted'", "ar": "تم حذف السجل"},
"msg_email_address_up_to_date": {
"en":
"Please ensure that the email address is up-to-date and process to view the schedule",
"ar":
"يرجى التأكد من أن عنوان البريد الإلكتروني محدث وأن العملية لعرض الجدول الزمني"
}, },
"childName": { "add-new-child": {"en": "ADD NEW CHILD", "ar": "إضافة طفل جديد"},
"en": "'CHILD NAME'", "visit": {"en": "Visit", "ar": "الزيارة"},
"ar": "إسم الطفل" "send-child-email-msg": {
"en": "Send the child's schedule to the email",
"ar": "أرسل جدول الطفل إلى البريد الإلكتروني"
}, },
"recordDeleted": { "vaccination-add-child-msg": {
"en": "'Record Deleted'", "en":
"ar": "تم حذف السجل" "Add the child's information below to receive the schedule of vaccinations.",
"ar": "أضف معلومات الطفل أدناه للحصول على جدول التطعيمات."
},
"child_added_successfully": {
"en": "Child added successfully",
"ar": "تمت إضافة الطفل بنجاح"
},
"bloodSugar": {"en": "Blood", "ar": "السكر في الدم"},
"sugar": {"en": "Sugar", "ar": ""},
"bloodCholesterol": {"en": "Blood", "ar": " الكولسترول في الدم"},
"cholesterol": {"en": "Cholesterol", "ar": ""},
"triglycerides": {"en": "Triglycerides", "ar": "الدهون الثلاثية"},
"fatInBlood": {"en": "Fat In Blood", "ar": ""},
"convertFrom": {"en": "Convert From", "ar": "تحويل من"},
"calculate": {"en": "calculate", "ar": "حساب"},
"enterReadingValue": {"en": "Enter the reading value", "ar": "ادخل القيمة"},
"result": {"en": "Result", "ar": "النتيجة"},
"bloodSugarConversion": {
"en": "Blood Sugar Conversion",
"ar": "السكر في الدم"
},
"convertBloodSugarStatement": {
"en":
"Convert blood sugar/glucose from mmol/l (UK standard) to mg/dlt (US standard) and vice versa.",
"ar":
"تحويل مستوى السكر في الدم من مليمول/ لتر (مقياس المملكة المتحدة) الى ملغ/ ديسيلتر (مقياس الولايات المتحدة) والعكس"
},
"convertCholesterolStatement": {
"en": "Convert blood cholesterol from\n mmol/l to mg/dlt and vice versa.",
"ar":
"تحويل مستوى الكولسترول في الدم من مليمول/ لتر (مقياس المملكة المتحدة) الى ملغ/ ديسيلتر (مقياس الولايات المتحدة) والعكس"
},
"triglyceridesConvertStatement": {
"en": "Convert Triglycerides from mmol/l to mg/dlt and vice versa.",
"ar":
"تحويل مستوى الدهون الثلاثية في الدم من مليمول/ لتر (مقياس المملكة المتحدة) الى ملغ/ ديسيلتر (مقياس الولايات المتحدة) والعكس"
},
"my-tracker": {"en": "My Tracker", "ar": "قراءاتي"},
"weekly": {"en": "Weekly", "ar": "أسبوعي"},
"monthly": {"en": "Monthly", "ar": "شهري"},
"yearly": {"en": "Yearly", "ar": "سنوي"},
"measured": {"en": "Measured", "ar": "قياس"},
"sugar-add": {"en": "Enter Blood Sugar Value", "ar": "أدخل قيمة قراءة السكر"},
"other": {"en": "Other", "ar": "آخر"},
"measure-unit": {"en": "Measure unit", "ar": "وحدة القياس"},
"measure-time": {"en": "Measure time", "ar": "وقت القياس"},
"update": {"en": "Update", "ar": "تعديل"},
"bloodD-enter-desc": {
"en":
"Enter the required information, In order to register for Blood Donation Service",
"ar": "أدخل المعلومات المطلوبة ، للتسجيل في خدمة التبرع بالدم"
},
"viewTermsConditions": {
"en": "To view the terms and conditions",
"ar": "لعرض الشروط والأحكام"
},
"WalkinAppo": {
"en": "Hospital Visit Appointment",
"ar": "موعد زيارة للمستشفى"
},
"videoAppo": {
"en": "Video Call Appointment",
"ar": "موعد اتصال فيديو"
}, },
"msg_email_address_up_to_date": {
"en": "Please ensure that the email address is up-to-date and process to view the schedule",
"ar": "يرجى التأكد من أن عنوان البريد الإلكتروني محدث وأن العملية لعرض الجدول الزمني"
},
"add-new-child": {"en" : "ADD NEW CHILD", "ar": "إضافة طفل جديد"},
"visit": {"en" : "Visit", "ar": "الزيارة"},
"send-child-email-msg": {"en" : "Send the child's schedule to the email", "ar": "أرسل جدول الطفل إلى البريد الإلكتروني"},
"vaccination-add-child-msg": {"en" : "Add the child's information below to receive the schedule of vaccinations.", "ar": "أضف معلومات الطفل أدناه للحصول على جدول التطعيمات."},
"child_added_successfully": {"en" : "Child added successfully", "ar": "تمت إضافة الطفل بنجاح"},
"my-tracker": {
"en": "My Tracker",
"ar": "قراءاتي"
},
"weekly": {
"en": "Weekly",
"ar": "أسبوعي"
},
"monthly": {
"en": "Monthly",
"ar": "شهري"
},
"yearly": {
"en": "Yearly",
"ar": "سنوي"
},
"measured": {
"en": "Measured",
"ar": "قياس"
},
"sugar-add": {
"en": "Enter Blood Sugar Value",
"ar": "أدخل قيمة قراءة السكر"
},
"other": {
"en": "Other",
"ar": "آخر"
},
"measure-unit": {
"en": "Measure unit",
"ar": "وحدة القياس"
},
"measure-time": {
"en": "Measure time",
"ar": "وقت القياس"
},"update": {
"en": "Update",
"ar": "تعديل"
},
"bloodD-enter-desc": {"en" : "Enter the required information, In order to register for Blood Donation Service", "ar": "أدخل المعلومات المطلوبة ، للتسجيل في خدمة التبرع بالدم"},
"viewTermsConditions": {"en" : "To view the terms and conditions", "ar": "لعرض الشروط والأحكام"},
// "visit": {"en" : "Visit", "ar": "الزيارة"}, // "visit": {"en" : "Visit", "ar": "الزيارة"},
"weight-add": { "weight-add": {
"en": "Enter Weight Value", "en": "Enter Weight Value",

@ -0,0 +1,8 @@
class healthData {
int MedCategoryID;
int MedSubCategoryID;
String Value;
String Notes;
String MachineDate;
int TransactionsListID;
}

@ -0,0 +1,36 @@
class YearlyStepsResModel {
double valueSum;
int medCategoryID;
int month;
String monthName;
int patientID;
int year;
YearlyStepsResModel(
{this.valueSum,
this.medCategoryID,
this.month,
this.monthName,
this.patientID,
this.year});
YearlyStepsResModel.fromJson(Map<String, dynamic> json) {
valueSum = json['ValueSum'];
medCategoryID = json['MedCategoryID'];
month = json['Month'];
monthName = json['MonthName'];
patientID = json['PatientID'];
year = json['Year'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ValueSum'] = this.valueSum;
data['MedCategoryID'] = this.medCategoryID;
data['Month'] = this.month;
data['MonthName'] = this.monthName;
data['PatientID'] = this.patientID;
data['Year'] = this.year;
return data;
}
}

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -490,11 +491,11 @@ class _BMICalculatorState extends State<BMICalculator> {
height: 25.0, height: 25.0,
), ),
Container( Container(
height: 100.0, height: 50.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
onTap: () { onTap: () => {
setState(() { setState(() {
calculateBMI(); calculateBMI();
showTextResult(); showTextResult();
@ -510,7 +511,7 @@ class _BMICalculatorState extends State<BMICalculator> {
)), )),
); );
} }
}); })
}, },
), ),
), ),

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -687,9 +688,9 @@ class _BmrCalculatorState extends State<BmrCalculator> {
height: 30.0, height: 30.0,
), ),
Container( Container(
height: 100.0, height: 50.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
onTap: () { onTap: () {
setState(() { setState(() {

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -985,8 +986,13 @@ class _BodyFatState extends State<BodyFat> {
Container( Container(
height: 100.0, height: 100.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
// onTap: () => {
// setState(() {
// print('hiii');
// })
// }
onTap: () { onTap: () {
setState(() { setState(() {
calculateBodyFat(); calculateBodyFat();

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -648,7 +649,7 @@ class _CalorieCalculatorState extends State<CalorieCalculator> {
Container( Container(
height: 100.0, height: 100.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
onTap: () { onTap: () {
setState(() { setState(() {

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -329,9 +330,9 @@ class _CarbsState extends State<Carbs> {
height: 55.0, height: 55.0,
), ),
Container( Container(
height: 100.0, height: 50.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
onTap: () { onTap: () {
setState(() { setState(() {

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -111,9 +112,9 @@ class _DeliveryDueState extends State<DeliveryDue> {
height: 280.0, height: 280.0,
), ),
Container( Container(
height: 100.0, height: 50.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
onTap: () { onTap: () {
setState(() { setState(() {

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -518,7 +519,7 @@ class _IdealBodyState extends State<IdealBody> {
Container( Container(
height: 100.0, height: 100.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
onTap: () { onTap: () {
setState(() { setState(() {

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -319,9 +320,9 @@ class _OvulationPeriodState extends State<OvulationPeriod> {
height: 220.0, height: 220.0,
), ),
Container( Container(
height: 100.0, height: 50.0,
width: 350.0, width: 350.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: 'CALCULATE',
onTap: () { onTap: () {
setState(() { setState(() {

@ -18,7 +18,7 @@ class _HealthConverterState extends State<HealthConverter> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: 'Health Converter', appBarTitle: TranslationBase.of(context).converters,
body: Column( body: Column(
children: [ children: [
Container( Container(
@ -37,9 +37,9 @@ class _HealthConverterState extends State<HealthConverter> {
); );
}, },
child: MedicalProfileItem( child: MedicalProfileItem(
title: 'Blood', title: TranslationBase.of(context).bloodSugar,
imagePath: 'blood_sugar_icon.png', imagePath: 'blood_sugar_icon.png',
subTitle: 'Sugar', subTitle: TranslationBase.of(context).sugar,
), ),
), ),
), ),
@ -55,9 +55,9 @@ class _HealthConverterState extends State<HealthConverter> {
); );
}, },
child: MedicalProfileItem( child: MedicalProfileItem(
title: 'Blood', title: TranslationBase.of(context).bloodCholesterol,
imagePath: 'blood_cholesterol_icon.png', imagePath: 'blood_cholesterol_icon.png',
subTitle: 'Cholesterol', subTitle: TranslationBase.of(context).cholesterol,
), ),
), ),
), ),
@ -77,9 +77,9 @@ class _HealthConverterState extends State<HealthConverter> {
); );
}, },
child: MedicalProfileItem( child: MedicalProfileItem(
title: 'Triglycerides', title: TranslationBase.of(context).triglycerides,
imagePath: 'triglycerides_blood_icon.png', imagePath: 'triglycerides_blood_icon.png',
subTitle: 'Fat in blood', subTitle: TranslationBase.of(context).fatInBlood,
), ),
), ),
), ),

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
@ -62,7 +63,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: 'Blood Cholesterol ', appBarTitle: TranslationBase.of(context).bloodCholesterol,
body: Padding( body: Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
child: SingleChildScrollView( child: SingleChildScrollView(
@ -74,7 +75,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
Container( Container(
width: 350.0, width: 350.0,
child: Text( child: Text(
'Convert blood cholesterol from\n mmol/l to mg/dlt and vice versa.', TranslationBase.of(context).convertCholesterolStatement,
//textAlign: TextAlign.center, //textAlign: TextAlign.center,
style: TextStyle(fontSize: 20.0), style: TextStyle(fontSize: 20.0),
), ),
@ -95,7 +96,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
child: Row( child: Row(
children: [ children: [
Texts( Texts(
'Convert from', TranslationBase.of(context).convertFrom,
), ),
], ],
), ),
@ -117,7 +118,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
}); });
}, },
child: Container( child: Container(
height: 55.0, height: 65.0,
width: 150.0, width: 150.0,
decoration: BoxDecoration( decoration: BoxDecoration(
boxShadow: [ boxShadow: [
@ -150,7 +151,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
}); });
}, },
child: Container( child: Container(
height: 55.0, height: 65.0,
width: 150.0, width: 150.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: cardMMOLColor, color: cardMMOLColor,
@ -196,7 +197,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
decoration: InputDecoration( decoration: InputDecoration(
border: OutlineInputBorder( border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.black45)), borderSide: BorderSide(color: Colors.black45)),
labelText: " Enter the reading value", labelText: TranslationBase.of(context).enterReadingValue,
labelStyle: TextStyle( labelStyle: TextStyle(
color: Colors.black87, color: Colors.black87,
), ),
@ -209,7 +210,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
Visibility( Visibility(
visible: _visible, visible: _visible,
child: Container( child: Container(
height: 95.0, height: 115.0,
width: 350.0, width: 350.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -222,7 +223,7 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Texts('Result:'), Texts(TranslationBase.of(context).result + ":"),
Row( Row(
children: [ children: [
Text( Text(
@ -252,10 +253,10 @@ class _BloodCholesterolState extends State<BloodCholesterol> {
), ),
Flexible( Flexible(
child: Container( child: Container(
height: 100.0, height: 60.0,
width: 150.0, width: 150.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: TranslationBase.of(context).calculate,
onTap: () { onTap: () {
setState(() { setState(() {
_visible == false _visible == false

@ -64,7 +64,7 @@ class _BloodSugarState extends State<BloodSugar> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: 'Blood Sugar Conversion', appBarTitle: TranslationBase.of(context).bloodSugarConversion,
body: Padding( body: Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
child: SingleChildScrollView( child: SingleChildScrollView(
@ -76,7 +76,7 @@ class _BloodSugarState extends State<BloodSugar> {
Container( Container(
width: 350.0, width: 350.0,
child: Text( child: Text(
'Convert blood sugar/glucose from mmol/l (UK standard) to mg/dlt (US standard) and vice versa.', TranslationBase.of(context).convertBloodSugarStatement,
//textAlign: TextAlign.center, //textAlign: TextAlign.center,
style: TextStyle(fontSize: 20.0), style: TextStyle(fontSize: 20.0),
), ),
@ -97,7 +97,7 @@ class _BloodSugarState extends State<BloodSugar> {
child: Row( child: Row(
children: [ children: [
Texts( Texts(
'Convert from', TranslationBase.of(context).convertFrom,
) )
], ],
), ),
@ -119,7 +119,7 @@ class _BloodSugarState extends State<BloodSugar> {
}); });
}, },
child: Container( child: Container(
height: 55.0, height: 65.0,
width: 150.0, width: 150.0,
decoration: BoxDecoration( decoration: BoxDecoration(
boxShadow: [ boxShadow: [
@ -152,7 +152,7 @@ class _BloodSugarState extends State<BloodSugar> {
}); });
}, },
child: Container( child: Container(
height: 55.0, height: 65.0,
width: 150.0, width: 150.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: cardMMOLColor, color: cardMMOLColor,
@ -196,7 +196,7 @@ class _BloodSugarState extends State<BloodSugar> {
], ],
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
decoration: InputDecoration( decoration: InputDecoration(
labelText: " Enter the reading value", labelText: TranslationBase.of(context).enterReadingValue,
border: OutlineInputBorder( border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.black45)), borderSide: BorderSide(color: Colors.black45)),
labelStyle: TextStyle( labelStyle: TextStyle(
@ -211,7 +211,7 @@ class _BloodSugarState extends State<BloodSugar> {
Visibility( Visibility(
visible: _visible, visible: _visible,
child: Container( child: Container(
height: 95.0, height: 115.0,
width: 350.0, width: 350.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -224,7 +224,7 @@ class _BloodSugarState extends State<BloodSugar> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Texts('Result:'), Texts(TranslationBase.of(context).result + ": "),
Row( Row(
children: [ children: [
Text( Text(
@ -254,10 +254,10 @@ class _BloodSugarState extends State<BloodSugar> {
), ),
Flexible( Flexible(
child: Container( child: Container(
height: 100.0, height: 60.0,
width: 150.0, width: 150.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label: TranslationBase.of(context).calculate,
onTap: () { onTap: () {
setState(() { setState(() {
_visible == false _visible == false

@ -1,3 +1,4 @@
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -64,7 +65,7 @@ class _TriglyceridesState extends State<Triglycerides> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AppScaffold( return AppScaffold(
isShowAppBar: true, isShowAppBar: true,
appBarTitle: 'Triglycerides', appBarTitle: TranslationBase.of(context).triglycerides,
body: Padding( body: Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
child: SingleChildScrollView( child: SingleChildScrollView(
@ -76,7 +77,7 @@ class _TriglyceridesState extends State<Triglycerides> {
Container( Container(
width: 350.0, width: 350.0,
child: Text( child: Text(
'Convert Triglycerides from mmol/l to\n mg/dlt and vice versa.', TranslationBase.of(context).triglyceridesConvertStatement,
//textAlign: TextAlign.center, //textAlign: TextAlign.center,
style: TextStyle(fontSize: 20.0), style: TextStyle(fontSize: 20.0),
), ),
@ -95,7 +96,9 @@ class _TriglyceridesState extends State<Triglycerides> {
Padding( Padding(
padding: const EdgeInsets.symmetric(horizontal: 15.0), padding: const EdgeInsets.symmetric(horizontal: 15.0),
child: Row( child: Row(
children: [Texts('Convert from')], children: [
Texts(TranslationBase.of(context).convertFrom)
],
), ),
), ),
SizedBox( SizedBox(
@ -115,7 +118,7 @@ class _TriglyceridesState extends State<Triglycerides> {
}); });
}, },
child: Container( child: Container(
height: 55.0, height: 65.0,
width: 150.0, width: 150.0,
decoration: BoxDecoration( decoration: BoxDecoration(
boxShadow: [ boxShadow: [
@ -148,7 +151,7 @@ class _TriglyceridesState extends State<Triglycerides> {
}); });
}, },
child: Container( child: Container(
height: 55.0, height: 65.0,
width: 150.0, width: 150.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: cardMMOLColor, color: cardMMOLColor,
@ -194,7 +197,7 @@ class _TriglyceridesState extends State<Triglycerides> {
decoration: InputDecoration( decoration: InputDecoration(
border: OutlineInputBorder( border: OutlineInputBorder(
borderSide: BorderSide(color: Colors.black45)), borderSide: BorderSide(color: Colors.black45)),
labelText: " Enter the reading value", labelText: TranslationBase.of(context).enterReadingValue,
labelStyle: TextStyle( labelStyle: TextStyle(
color: Colors.black87, color: Colors.black87,
), ),
@ -207,7 +210,7 @@ class _TriglyceridesState extends State<Triglycerides> {
Visibility( Visibility(
visible: _visible, visible: _visible,
child: Container( child: Container(
height: 95.0, height: 115.0,
width: 350.0, width: 350.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white, color: Colors.white,
@ -220,7 +223,7 @@ class _TriglyceridesState extends State<Triglycerides> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center,
children: [ children: [
Texts('Result:'), Texts(TranslationBase.of(context).result + ":"),
Row( Row(
children: [ children: [
Text( Text(
@ -250,10 +253,11 @@ class _TriglyceridesState extends State<Triglycerides> {
), ),
Flexible( Flexible(
child: Container( child: Container(
height: 100.0, height: 60.0,
width: 250.0, width: 250.0,
child: Button( child: SecondaryButton(
label: 'CALCULATE', label:
TranslationBase.of(context).calculate.toUpperCase(),
onTap: () { onTap: () {
setState(() { setState(() {
_visible == false _visible == false

@ -2,7 +2,6 @@ import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart'; import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart';
import 'package:diplomaticquarterapp/core/viewModels/appointment_rate_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/medical/my_balance_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
@ -166,7 +165,7 @@ class ConfirmPaymentPage extends StatelessWidget {
patientID: int.parse(advanceModel.fileNumber), patientID: int.parse(advanceModel.fileNumber),
projectID: advanceModel.hospitalsModel.iD) projectID: advanceModel.hospitalsModel.iD)
.then((value) { .then((value) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
if (model.state != ViewState.ErrorLocal && if (model.state != ViewState.ErrorLocal &&
model.state != ViewState.Error) showSMSDialog(); model.state != ViewState.Error) showSMSDialog();
}); });
@ -218,7 +217,8 @@ class ConfirmPaymentPage extends StatelessWidget {
authenticatedUser.firstName, authenticatedUser.firstName,
authenticatedUser.patientID, authenticatedUser.patientID,
authenticatedUser, authenticatedUser,
browser); browser,
false);
} }
onBrowserLoadStart(String url) { onBrowserLoadStart(String url) {
@ -277,8 +277,8 @@ class ConfirmPaymentPage extends StatelessWidget {
String paymentReference = res['Fort_id'].toString(); String paymentReference = res['Fort_id'].toString();
GifLoaderDialogUtils.showMyDialog(AppGlobal.context); GifLoaderDialogUtils.showMyDialog(AppGlobal.context);
service service
.createAdvancePayment(appo, appo.projectID.toString(), res['Amount'], res['Fort_id'], .createAdvancePayment(appo, appo.projectID.toString(), res['Amount'],
res['PaymentMethod'], AppGlobal.context) res['Fort_id'], res['PaymentMethod'], AppGlobal.context)
.then((res) { .then((res) {
GifLoaderDialogUtils.hideDialog(AppGlobal.context); GifLoaderDialogUtils.hideDialog(AppGlobal.context);
print(res['OnlineCheckInAppointments'][0]['AdvanceNumber']); print(res['OnlineCheckInAppointments'][0]['AdvanceNumber']);
@ -315,5 +315,4 @@ class ConfirmPaymentPage extends StatelessWidget {
Future navigateToHome(context) async { Future navigateToHome(context) async {
Navigator.of(context).pushNamed(HOME); Navigator.of(context).pushNamed(HOME);
} }
} }

@ -187,27 +187,29 @@ class _BookConfirmState extends State<BookConfirm> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: <Widget>[ children: <Widget>[
Row( !widget.isLiveCareAppointment ? Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
Container( Container(
margin: EdgeInsets.fromLTRB(5.0, 0.0, 5.0, 0.0), margin:
child: Image.asset( EdgeInsets.fromLTRB(5.0, 0.0, 5.0, 0.0),
"assets/images/new-design/icon_hospital.png"), child: Image.asset(
), "assets/images/new-design/icon_hospital.png"),
Container( ),
margin: EdgeInsets.fromLTRB(20.0, 5.0, 10.0, 5.0), Container(
child: Text( margin:
TranslationBase.of(context).hospital + EdgeInsets.fromLTRB(20.0, 5.0, 10.0, 5.0),
": " + child: Text(
widget.doctor.projectName, TranslationBase.of(context).hospital +
style: TextStyle( ": " +
fontSize: 14.0, widget.doctor.projectName,
color: Colors.grey[700], style: TextStyle(
letterSpacing: 1.0)), fontSize: 14.0,
), color: Colors.grey[700],
], letterSpacing: 1.0)),
), ),
],
) : Container(),
Row( Row(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[ children: <Widget>[
@ -325,7 +327,8 @@ class _BookConfirmState extends State<BookConfirm> {
Container( Container(
margin: EdgeInsets.only(top: 5.0), margin: EdgeInsets.only(top: 5.0),
child: Text( child: Text(
TranslationBase.of(context).gender + ": " + TranslationBase.of(context).gender +
": " +
widget.authUser.genderDescription, widget.authUser.genderDescription,
style: TextStyle( style: TextStyle(
fontSize: 12.0, fontSize: 12.0,
@ -335,7 +338,9 @@ class _BookConfirmState extends State<BookConfirm> {
Container( Container(
margin: EdgeInsets.only(top: 5.0, bottom: 3.0), margin: EdgeInsets.only(top: 5.0, bottom: 3.0),
child: Text( child: Text(
TranslationBase.of(context).age + ": " + widget.authUser.age.toString(), TranslationBase.of(context).age +
": " +
widget.authUser.age.toString(),
style: TextStyle( style: TextStyle(
fontSize: 12.0, fontSize: 12.0,
color: Colors.grey[600], color: Colors.grey[600],
@ -423,7 +428,8 @@ class _BookConfirmState extends State<BookConfirm> {
context) context)
.then((res) { .then((res) {
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
AppToast.showSuccessToast(message: TranslationBase.of(context).bookedSuccess); AppToast.showSuccessToast(
message: TranslationBase.of(context).bookedSuccess);
print(res['AppointmentNo']); print(res['AppointmentNo']);
Future.delayed(new Duration(milliseconds: 500), () { Future.delayed(new Duration(milliseconds: 500), () {
@ -543,13 +549,13 @@ class _BookConfirmState extends State<BookConfirm> {
getLiveCareAppointmentPatientShare(context, String appointmentNo, getLiveCareAppointmentPatientShare(context, String appointmentNo,
int clinicID, int projectID, DoctorList docObject) { int clinicID, int projectID, DoctorList docObject) {
GifLoaderDialogUtils.hideDialog(context);
widget.service widget.service
.getLiveCareAppointmentPatientShare( .getLiveCareAppointmentPatientShare(
appointmentNo, clinicID, projectID, context) appointmentNo, clinicID, projectID, context)
.then((res) { .then((res) {
print(res); print(res);
widget.patientShareResponse = new PatientShareResponse.fromJson(res); widget.patientShareResponse = new PatientShareResponse.fromJson(res);
GifLoaderDialogUtils.hideDialog(context);
navigateToBookSuccess(context, docObject, widget.patientShareResponse); navigateToBookSuccess(context, docObject, widget.patientShareResponse);
}).catchError((err) { }).catchError((err) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);

@ -255,7 +255,7 @@ class _BookSuccessState extends State<BookSuccess> {
minWidth: MediaQuery.of(context).size.width * 0.7, minWidth: MediaQuery.of(context).size.width * 0.7,
height: 45.0, height: 45.0,
child: RaisedButton( child: RaisedButton(
color: new Color(0xFF40ACC9), color: new Color(0xffc5272d),
textColor: Colors.white, textColor: Colors.white,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
@ -318,7 +318,7 @@ class _BookSuccessState extends State<BookSuccess> {
minWidth: MediaQuery.of(context).size.width * 0.7, minWidth: MediaQuery.of(context).size.width * 0.7,
height: 45.0, height: 45.0,
child: RaisedButton( child: RaisedButton(
color: new Color(0xFF40ACC9), color: new Color(0xFFc5272d),
textColor: Colors.white, textColor: Colors.white,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
@ -637,7 +637,12 @@ class _BookSuccessState extends State<BookSuccess> {
authenticatedUser.firstName, authenticatedUser.firstName,
authenticatedUser.patientID, authenticatedUser.patientID,
authenticatedUser, authenticatedUser,
widget.browser); widget.browser,
widget.patientShareResponse.isLiveCareAppointment,
widget.patientShareResponse.appointmentDate,
widget.patientShareResponse.appointmentNo,
widget.patientShareResponse.clinicID,
widget.patientShareResponse.doctorID);
} }
} }

@ -61,7 +61,7 @@ class DoctorView extends StatelessWidget {
letterSpacing: 1.0)), letterSpacing: 1.0)),
Container( Container(
margin: EdgeInsets.only(top: 3.0), margin: EdgeInsets.only(top: 3.0),
child: Text(this.doctor.clinicName, child: Text(this.doctor.clinicName != null ? this.doctor.clinicName : "",
style: TextStyle( style: TextStyle(
fontSize: 12.0, fontSize: 12.0,
color: Colors.grey[600], color: Colors.grey[600],

@ -9,6 +9,7 @@ import 'package:diplomaticquarterapp/services/covid-drivethru/covid-drivethru.da
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.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/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -469,9 +470,7 @@ class _CovidTimeSlotsState extends State<CovidTimeSlots>
} }
bookCovidTestAppointment() { bookCovidTestAppointment() {
// Navigator.push(context, GifLoaderDialogUtils.showMyDialog(context);
// MaterialPageRoute(builder: (context) => CovidPaymentAlert()));
DoctorList docObject = new DoctorList(); DoctorList docObject = new DoctorList();
docObject.doctorID = widget.selectedDoctorID; docObject.doctorID = widget.selectedDoctorID;
docObject.clinicID = widget.selectedClinicID; docObject.clinicID = widget.selectedClinicID;
@ -494,11 +493,12 @@ class _CovidTimeSlotsState extends State<CovidTimeSlots>
print(res); print(res);
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
AppToast.showSuccessToast(message: "Appointment Booked Successfully"); AppToast.showSuccessToast(message: "Appointment Booked Successfully");
Future.delayed(new Duration(milliseconds: 1800), () { // Future.delayed(new Duration(milliseconds: 1800), () {
getPatientShare(context, res['AppointmentNo'], docObject.clinicID, getPatientShare(context, res['AppointmentNo'], docObject.clinicID,
docObject.projectID, docObject); docObject.projectID, docObject);
}); // });
} else { } else {
GifLoaderDialogUtils.hideDialog(context);
appo = new AppoitmentAllHistoryResultList(); appo = new AppoitmentAllHistoryResultList();
appo.appointmentNo = res['SameClinicApptList'][0]['AppointmentNo']; appo.appointmentNo = res['SameClinicApptList'][0]['AppointmentNo'];
appo.clinicID = res['SameClinicApptList'][0]['DoctorID']; appo.clinicID = res['SameClinicApptList'][0]['DoctorID'];
@ -529,14 +529,16 @@ class _CovidTimeSlotsState extends State<CovidTimeSlots>
cancelAppointment(DoctorList docObject, AppoitmentAllHistoryResultList appo, cancelAppointment(DoctorList docObject, AppoitmentAllHistoryResultList appo,
BuildContext context) { BuildContext context) {
GifLoaderDialogUtils.showMyDialog(context);
ConfirmDialog.closeAlertDialog(context); ConfirmDialog.closeAlertDialog(context);
DoctorsListService service = new DoctorsListService(); DoctorsListService service = new DoctorsListService();
service.cancelAppointment(appo, context).then((res) { service.cancelAppointment(appo, context).then((res) {
if (res['MessageStatus'] == 1) { if (res['MessageStatus'] == 1) {
Future.delayed(new Duration(milliseconds: 1500), () { // Future.delayed(new Duration(milliseconds: 1500), () {
insertAppointmentCovidTest(context, docObject); insertAppointmentCovidTest(context, docObject);
}); // });
} else { } else {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorEndUserMessage']); AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
} }
}).catchError((err) { }).catchError((err) {
@ -592,6 +594,7 @@ class _CovidTimeSlotsState extends State<CovidTimeSlots>
}); });
} else {} } else {}
} else { } else {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: res['ErrorEndUserMessage']); AppToast.showErrorToast(message: res['ErrorEndUserMessage']);
} }
}).catchError((err) { }).catchError((err) {

@ -166,7 +166,7 @@ class _ApointmentCardState extends State<AppointmentCard> {
), ),
Container( Container(
transform: transform:
Matrix4.translationValues(15.0, -40.0, 0.0), Matrix4.translationValues(15.0, -40.0, 0.0),
child: projectViewModel.isArabic child: projectViewModel.isArabic
? Image.asset( ? Image.asset(
"assets/images/new-design/arrow_menu_black-ar.png", "assets/images/new-design/arrow_menu_black-ar.png",

@ -13,7 +13,6 @@ import 'package:diplomaticquarterapp/pages/ToDoList/payment_method_select.dart';
import 'package:diplomaticquarterapp/pages/ToDoList/widgets/paymentDialog.dart'; import 'package:diplomaticquarterapp/pages/ToDoList/widgets/paymentDialog.dart';
import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
@ -26,7 +25,6 @@ import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/countdown_timer_controller.dart'; import 'package:flutter_countdown_timer/countdown_timer_controller.dart';
import 'package:flutter_countdown_timer/current_remaining_time.dart'; import 'package:flutter_countdown_timer/current_remaining_time.dart';
import 'package:flutter_countdown_timer/flutter_countdown_timer.dart'; import 'package:flutter_countdown_timer/flutter_countdown_timer.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:rating_bar/rating_bar.dart'; import 'package:rating_bar/rating_bar.dart';
@ -95,249 +93,315 @@ class _ToDoState extends State<ToDo> {
itemBuilder: (context, index) { itemBuilder: (context, index) {
return Container( return Container(
margin: EdgeInsets.all(10.0), margin: EdgeInsets.all(10.0),
child: Card( child: Column(
margin: EdgeInsets.fromLTRB(8.0, 0.0, 8.0, 8.0), children: [
color: Colors.white, Container(
shape: RoundedRectangleBorder( child: Card(
borderRadius: BorderRadius.circular(10), margin: EdgeInsets.fromLTRB(8.0, 0.0, 8.0, 8.0),
), color: Colors.white,
child: Container( shape: RoundedRectangleBorder(
width: MediaQuery.of(context).size.width, borderRadius: BorderRadius.circular(10),
padding: EdgeInsets.all(10.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Row(
children: <Widget>[
Image.asset(
"assets/images/new-design/time_icon.png",
width: 20.0,
height: 20.0),
Container(
margin:
EdgeInsets.only(left: 10.0, right: 10.0),
child: Text(
DateUtil.getWeekDayMonthDayYearDateFormatted(
DateUtil.convertStringToDate(
widget.appoList[index]
.appointmentDate),
projectViewModel.isArabic
? "ar"
: "en") +
" " +
widget.appoList[index].startTime
.substring(0, 5),
style: TextStyle(fontSize: 10.0)),
),
widget.appoList[index].isLiveCareAppointment
? SvgPicture.asset(
"assets/images/new-design/liveCare_logo_icon.svg",
width: 20.0,
height: 20.0)
: Image.asset(
"assets/images/new-design/hospital_address_icon.png",
width: 20.0,
height: 20.0),
Container(
margin:
EdgeInsets.only(left: 5.0, right: 5.0),
child: widget
.appoList[index].isLiveCareAppointment
? Text(
TranslationBase.of(context)
.liveCareAppo,
style: TextStyle(fontSize: 12.0))
: Text(
widget.appoList[index].projectName !=
null
? widget
.appoList[index].projectName
: "-",
overflow: TextOverflow.clip,
maxLines: 2,
style: TextStyle(fontSize: 10.0)),
),
],
),
Container(
margin: EdgeInsets.only(top: 5.0),
child: Divider(
color: Colors.grey[500],
),
), ),
Flex( child: Container(
direction: Axis.horizontal, width: MediaQuery.of(context).size.width,
children: <Widget>[ padding: EdgeInsets.all(10.0),
Expanded( child: Column(
flex: 1, crossAxisAlignment: CrossAxisAlignment.start,
child: Container( mainAxisSize: MainAxisSize.max,
height: MediaQuery.of(context).size.height * children: <Widget>[
0.1, Row(
children: <Widget>[
Image.asset(
"assets/images/new-design/time_icon.png",
width: 20.0,
height: 20.0),
Container(
margin: EdgeInsets.only(
left: 10.0, right: 10.0),
child: Text(
DateUtil.getWeekDayMonthDayYearDateFormatted(
DateUtil.convertStringToDate(
widget.appoList[index]
.appointmentDate),
projectViewModel.isArabic
? "ar"
: "en") +
" " +
widget.appoList[index].startTime
.substring(0, 5),
style: TextStyle(fontSize: 10.0)),
),
!widget.appoList[index]
.isLiveCareAppointment
? Image.asset(
"assets/images/new-design/hospital_address_icon.png",
width: 20.0,
height: 20.0)
: Container(),
Container(
margin: EdgeInsets.only(
left: 5.0, right: 5.0),
child: widget.appoList[index]
.isLiveCareAppointment
? Container()
: Text(
widget.appoList[index]
.projectName !=
null
? widget.appoList[index]
.projectName
: "-",
overflow: TextOverflow.clip,
maxLines: 2,
style:
TextStyle(fontSize: 10.0)),
),
],
),
Container(
margin: EdgeInsets.only(top: 5.0), margin: EdgeInsets.only(top: 5.0),
child: ClipRRect( child: Divider(
borderRadius: color: Colors.grey[500],
BorderRadius.circular(100.0),
child: Image.network(
widget.appoList[index].doctorImageURL,
fit: BoxFit.fill),
), ),
), ),
), Flex(
Expanded( direction: Axis.horizontal,
flex: 3, children: <Widget>[
child: Container( Expanded(
margin: EdgeInsets.only( flex: 1,
top: 10.0, left: 20.0, right: 20.0), child: Container(
child: Column( height: MediaQuery.of(context)
crossAxisAlignment: .size
CrossAxisAlignment.start, .height *
children: <Widget>[ 0.1,
Text( margin: EdgeInsets.only(top: 5.0),
widget.appoList[index].doctorTitle + child: ClipRRect(
" " + borderRadius:
BorderRadius.circular(100.0),
child: Image.network(
widget.appoList[index] widget.appoList[index]
.doctorNameObj, .doctorImageURL,
style: TextStyle( fit: BoxFit.fill),
fontSize: 14.0, ),
color: Colors.black,
fontWeight: FontWeight.bold,
letterSpacing: 1.0)),
Container(
margin: EdgeInsets.only(
top: 3.0, bottom: 3.0),
child: Text(
getDoctorSpeciality(widget
.appoList[index]
.doctorSpeciality)
.trim(),
style: TextStyle(
fontSize: 12.0,
color: Colors.grey[600],
letterSpacing: 1.0)),
), ),
Row( ),
mainAxisAlignment: Expanded(
MainAxisAlignment.spaceBetween, flex: 3,
mainAxisSize: MainAxisSize.max, child: Container(
children: <Widget>[ margin: EdgeInsets.only(
RatingBar.readOnly( top: 10.0,
initialRating: widget left: 20.0,
.appoList[index] right: 20.0),
.actualDoctorRate child: Column(
.toDouble(), crossAxisAlignment:
size: 20.0, CrossAxisAlignment.start,
filledColor: Colors.yellow[700], children: <Widget>[
emptyColor: Colors.grey[500], Text(
isHalfAllowed: true, widget.appoList[index]
halfFilledIcon: Icons.star_half, .doctorTitle +
filledIcon: Icons.star, " " +
emptyIcon: Icons.star, widget.appoList[index]
), .doctorNameObj,
], style: TextStyle(
fontSize: 14.0,
color: Colors.black,
fontWeight:
FontWeight.bold,
letterSpacing: 1.0)),
Container(
margin: EdgeInsets.only(
top: 3.0, bottom: 3.0),
child: Text(
getDoctorSpeciality(widget
.appoList[index]
.doctorSpeciality)
.trim(),
style: TextStyle(
fontSize: 12.0,
color: Colors.grey[600],
letterSpacing: 1.0)),
),
Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
RatingBar.readOnly(
initialRating: widget
.appoList[index]
.actualDoctorRate
.toDouble(),
size: 20.0,
filledColor:
Colors.yellow[700],
emptyColor:
Colors.grey[500],
isHalfAllowed: true,
halfFilledIcon:
Icons.star_half,
filledIcon: Icons.star,
emptyIcon: Icons.star,
),
],
),
Container(
child: CountdownTimer(
controller: new CountdownTimerController(
endTime: DateTime.now()
.millisecondsSinceEpoch +
(widget
.appoList[
index]
.remaniningHoursTocanPay *
1000) *
60),
widgetBuilder: (_,
CurrentRemainingTime
time) {
return time != null
? Text(
'${time.days != null ? time.days : "0"}:${time.hours.toString().length == 1 ? "0" + time.hours.toString() : time.hours}:${time.min}:${time.sec} ' +
TranslationBase.of(
context)
.upcomingTimeLeft,
style: TextStyle(
fontSize: 12.0,
color: Color(
0xff40ACC9)))
: Container();
},
),
),
],
),
), ),
Container( ),
child: CountdownTimer( Expanded(
controller: new CountdownTimerController( flex: 1,
endTime: DateTime.now() child: InkWell(
.millisecondsSinceEpoch + onTap: () => performNextAction(
(widget.appoList[index] widget.appoList[index]),
.remaniningHoursTocanPay * child: Container(
1000) * margin: EdgeInsets.only(top: 20.0),
60), child: Column(
widgetBuilder: children: <Widget>[
(_, CurrentRemainingTime time) { Image.asset(
return time != null getNextActionImage(widget
? Text( .appoList[index]
'${time.days}:${time.hours}:${time.min}:${time.sec} ' + .nextAction),
TranslationBase.of( width: 50.0,
context) height: 50.0),
.upcomingTimeLeft, Container(
margin:
EdgeInsets.only(top: 5.0),
child: Text(
getNextActionText(widget
.appoList[index]
.nextAction),
textAlign:
TextAlign.center,
style: TextStyle( style: TextStyle(
fontSize: 12.0, fontSize: 12.0)),
color: Color( )
0xff40ACC9))) ],
: Container(); ),
},
), ),
), ),
], )
), ],
), ),
), Divider(
Expanded( color: Colors.grey[500],
flex: 1, ),
child: InkWell( Flex(
onTap: () => performNextAction( direction: Axis.horizontal,
widget.appoList[index]), children: <Widget>[
child: Container( Expanded(
margin: EdgeInsets.only(top: 20.0), flex: 2,
child: Column( child: Container(
children: <Widget>[ child: Text(
Image.asset( getNextActionDescription(widget
getNextActionImage(widget
.appoList[index].nextAction), .appoList[index].nextAction),
width: 50.0, style: TextStyle(
height: 50.0), fontSize: 12.0,
Container( color: Colors.grey[700])),
margin: EdgeInsets.only(top: 5.0), ),
child: Text(
getNextActionText(widget
.appoList[index]
.nextAction),
textAlign: TextAlign.center,
style:
TextStyle(fontSize: 12.0)),
)
],
), ),
), Expanded(
flex: 1,
child: GestureDetector(
onTap: () {
navigateToAppointmentDetails(
context,
widget.appoList[index]);
},
child: Container(
child: Text(
TranslationBase.of(context)
.upcomingDetails,
textAlign: TextAlign.end,
style: TextStyle(
fontSize: 12.0,
color:
new Color(0xFF40ACC9),
decoration: TextDecoration
.underline)),
),
),
)
],
), ),
) ],
], ),
),
Divider(
color: Colors.grey[500],
), ),
Flex( ),
direction: Axis.horizontal, ),
children: <Widget>[ Container(
Expanded( decoration: BoxDecoration(
flex: 2, borderRadius: BorderRadius.only(
child: Container( bottomLeft: Radius.circular(10.0),
child: Text( bottomRight: Radius.circular(10.0)),
getNextActionDescription( color: Color(0xff20bc44),
widget.appoList[index].nextAction), ),
style: TextStyle( height: 30.0,
fontSize: 12.0, margin: projectViewModel.isArabic ? EdgeInsets.fromLTRB(160.0, 0.0, 30.0, 0.0) : EdgeInsets.fromLTRB(30.0, 0.0, 160.0, 0.0),
color: Colors.grey[700])), transform: Matrix4.translationValues(0.0, -8.0, 0.0),
), child: Row(
), mainAxisAlignment: MainAxisAlignment.start,
Expanded( children: [
flex: 1, widget.appoList[index].isLiveCareAppointment
child: GestureDetector( ? Container(
onTap: () { margin: EdgeInsets.fromLTRB(
navigateToAppointmentDetails( 5.0, 0.0, 5.0, 0.0),
context, widget.appoList[index]); child: Image.asset(
}, "assets/images/new-design/video.png"),
child: Container( )
child: Text( : Container(
TranslationBase.of(context) margin: EdgeInsets.fromLTRB(
.upcomingDetails, 5.0, 0.0, 5.0, 0.0),
textAlign: TextAlign.end, child: Image.asset(
style: TextStyle( "assets/images/new-design/walkin.png"),
fontSize: 12.0,
color: new Color(0xFF40ACC9),
decoration:
TextDecoration.underline)),
), ),
), widget.appoList[index].isLiveCareAppointment
) ? Container(
], child: Text(TranslationBase.of(context).videoAppo,
), style: TextStyle(
], color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 12.0)),
)
: Container(
child: Text(TranslationBase.of(context).walkinAppo,
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 12.0)),
)
],
),
), ),
), ],
), ),
); );
}, },
@ -567,12 +631,34 @@ class _ToDoState extends State<ToDo> {
} }
getPatientShare(context, AppoitmentAllHistoryResultList appo) { getPatientShare(context, AppoitmentAllHistoryResultList appo) {
GifLoaderDialogUtils.showMyDialog(context);
DoctorsListService service = new DoctorsListService(); 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) {
GifLoaderDialogUtils.hideDialog(context);
widget.patientShareResponse = new PatientShareResponse.fromJson(res);
openPaymentDialog(appo, widget.patientShareResponse);
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
AppToast.showErrorToast(message: err);
print(err);
});
}
}
getLiveCareAppointmentPatientShare(context, DoctorsListService service,
AppoitmentAllHistoryResultList appo) {
GifLoaderDialogUtils.showMyDialog(context);
service service
.getPatientShare(appo.appointmentNo.toString(), appo.clinicID, .getLiveCareAppointmentPatientShare(appo.appointmentNo.toString(),
appo.projectID, context) appo.clinicID, appo.projectID, context)
.then((res) { .then((res) {
print(res);
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
widget.patientShareResponse = new PatientShareResponse.fromJson(res); widget.patientShareResponse = new PatientShareResponse.fromJson(res);
openPaymentDialog(appo, widget.patientShareResponse); openPaymentDialog(appo, widget.patientShareResponse);
@ -674,7 +760,12 @@ class _ToDoState extends State<ToDo> {
authenticatedUser.firstName, authenticatedUser.firstName,
authenticatedUser.patientID, authenticatedUser.patientID,
authenticatedUser, authenticatedUser,
widget.browser); widget.browser,
appo.isLiveCareAppointment,
appo.appointmentDate,
appo.appointmentNo,
appo.clinicID,
appo.doctorID);
} }
onBrowserLoadStart(String url) { onBrowserLoadStart(String url) {

@ -197,7 +197,7 @@ class _TodoListCardState extends State<TodoListCard> {
), ),
) )
], ],
) ),
], ],
), ),
), ),

@ -326,6 +326,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
Permission.notification, Permission.notification,
Permission.accessMediaLocation, Permission.accessMediaLocation,
Permission.calendar, Permission.calendar,
Permission.activityRecognition
].request(); ].request();
var permissionsGranted = await deviceCalendarPlugin.hasPermissions(); var permissionsGranted = await deviceCalendarPlugin.hasPermissions();

@ -49,6 +49,7 @@ class _LiveCareHomeState extends State<LiveCareHome>
child: Column(children: [ child: Column(children: [
/// this is will not colored with theme data /// this is will not colored with theme data
TabBar( TabBar(
labelColor: Colors.black,
tabs: [ tabs: [
Tab(text: TranslationBase.of(context).consultation), Tab(text: TranslationBase.of(context).consultation),
Tab(text: TranslationBase.of(context).logs), Tab(text: TranslationBase.of(context).logs),

@ -21,7 +21,7 @@ class _ScheduleClinicCardState extends State<ScheduleClinicCard> {
return Container( return Container(
child: Card( child: Card(
margin: EdgeInsets.fromLTRB(15.0, 10.0, 15.0, 8.0), margin: EdgeInsets.fromLTRB(15.0, 10.0, 15.0, 8.0),
color: widget.isSelected ? Colors.blue : Colors.white, color: widget.isSelected ? Color(0xff06b806) : Colors.white,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10), borderRadius: BorderRadius.circular(10),
), ),
@ -35,8 +35,8 @@ class _ScheduleClinicCardState extends State<ScheduleClinicCard> {
Container( Container(
child: Text( child: Text(
widget.languageID == 'ar' widget.languageID == 'ar'
? widget.clinicsHaveScheduleList.clinicDescN ? widget.clinicsHaveScheduleList.clinicDescN != null ? widget.clinicsHaveScheduleList.clinicDescN: ""
: widget.clinicsHaveScheduleList.clinicDesc, : widget.clinicsHaveScheduleList.clinicDesc != null ? widget.clinicsHaveScheduleList.clinicDesc: "Dermatology",
style: TextStyle( style: TextStyle(
fontSize: 16.0, fontSize: 16.0,
color: color:

@ -42,10 +42,11 @@ class _LiveCareHistoryCardState extends State<LiveCareHistoryCard> {
), ),
child: Container( child: Container(
width: MediaQuery.of(context).size.width, width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height * 0.22, // height: MediaQuery.of(context).size.height * 0.22,
padding: EdgeInsets.all(10.0), padding: EdgeInsets.all(10.0),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[ children: <Widget>[
Text("Requested date:", Text("Requested date:",
style: style:

@ -283,7 +283,8 @@ class _clinic_listState extends State<ClinicList> {
authenticatedUser.firstName, authenticatedUser.firstName,
authenticatedUser.patientID, authenticatedUser.patientID,
authenticatedUser, authenticatedUser,
browser); browser,
false);
} }
onBrowserLoadStart(String url) { onBrowserLoadStart(String url) {

@ -225,7 +225,8 @@ class ConfirmPaymentPage extends StatelessWidget {
advanceModel.patientName, advanceModel.patientName,
advanceModel.fileNumber, advanceModel.fileNumber,
authenticatedUser, authenticatedUser,
browser); browser,
false);
} }
onBrowserLoadStart(String url) { onBrowserLoadStart(String url) {

@ -0,0 +1,248 @@
import 'package:charts_flutter/flutter.dart' as charts;
import 'package:diplomaticquarterapp/models/SmartWatch/YearlyStepsResModel.dart';
import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/charts/app_time_series_chart.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/material.dart';
class StepsTracker extends StatefulWidget {
@override
_StepsTrackerState createState() => _StepsTrackerState();
}
class _StepsTrackerState extends State<StepsTracker>
with SingleTickerProviderStateMixin {
TabController _tabController;
int weeklyStatsAvgValue = 0;
int monthlyStatsAvgValue = 0;
int yearlyStatsAvgValue = 0;
int avgStepsValue = 0;
int dataLength = 0;
List<YearlyStepsResModel> yearlyStepsList = List();
List<TimeSeriesSales> yearlyTimeSeriesData = [];
bool isDataLoaded = false;
@override
void initState() {
_tabController = new TabController(length: 3, vsync: this);
WidgetsBinding.instance.addPostFrameCallback((_) {
getYearlyStepsData();
});
super.initState();
}
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
appBarTitle: "Steps",
isShowDecPage: false,
body: Container(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
TabBar(
tabs: [
Tab(text: TranslationBase.of(context).weekly),
Tab(text: TranslationBase.of(context).monthly),
Tab(text: TranslationBase.of(context).yearly),
],
controller: _tabController,
),
Expanded(
child: new TabBarView(
physics: NeverScrollableScrollPhysics(),
children: [
isDataLoaded ? getWeeklyStepsDetails() : Container(),
isDataLoaded ? getMonthlyStepsDetails() : Container(),
isDataLoaded ? getYearlyStepsDetails() : Container()
],
controller: _tabController,
),
),
],
),
),
);
}
getYearlyStepsData() {
avgStepsValue = 0;
dataLength = 0;
DoctorsListService service = new DoctorsListService();
GifLoaderDialogUtils.showMyDialog(context);
service.getPatientHealthDataStats(6, 3, context).then((res) {
GifLoaderDialogUtils.hideDialog(context);
print(res['Med_GetYearStepsTransactionsStsList']);
yearlyStepsList.clear();
res['Med_GetYearStepsTransactionsStsList'].forEach((element) {
yearlyStepsList.add(new YearlyStepsResModel.fromJson(element));
if (element['ValueSum'] != null) {
double value = element['ValueSum'];
avgStepsValue += value.toInt();
dataLength++;
}
});
print(avgStepsValue);
print(dataLength);
setState(() {
yearlyStatsAvgValue = avgStepsValue ~/ dataLength;
isDataLoaded = true;
});
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
// AppToast.showErrorToast(message: err);
print(err);
});
}
generateData() {
if (yearlyStepsList.length > 0) {
yearlyTimeSeriesData.clear();
yearlyStepsList.forEach(
(element) {
yearlyTimeSeriesData.add(
TimeSeriesSales(
new DateTime(element.year, element.month, 1),
element.valueSum != null ? element.valueSum.toInt() : 0,
),
);
},
);
yearlyTimeSeriesData.forEach((element) {
print(element.sales);
print(element.time);
});
}
return [
new charts.Series<TimeSeriesSales, DateTime>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (TimeSeriesSales sales, _) => sales.time,
measureFn: (TimeSeriesSales sales, _) => sales.sales,
data: yearlyTimeSeriesData,
)
];
}
getWeeklyStepsDetails() {
return Container(
child: Text("Weekly"),
);
}
getMonthlyStepsDetails() {
return Container(
child: Text("Monthly"),
);
}
getYearlyStepsDetails() {
return Container(
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
child: AppTimeSeriesChart(
seriesList: generateData(),
chartName: "Steps",
startDate: DateTime(
yearlyStepsList[0].year, yearlyStepsList[0].month, 1),
endDate: DateTime(
yearlyStepsList[yearlyStepsList.length - 1].year,
yearlyStepsList[yearlyStepsList.length - 1].month,
1),
),
),
Container(
margin: EdgeInsets.only(top: 5.0),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
side: BorderSide(color: Colors.grey[400], width: 0.6)),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
padding: EdgeInsets.fromLTRB(30.0, 15.0, 30.0, 15.0),
child:
Text("Average Steps", style: TextStyle(fontSize: 18.0)),
),
Container(
margin: EdgeInsets.only(bottom: 10.0),
child: Text(yearlyStatsAvgValue.toString() + " Steps",
style: TextStyle(
fontSize: 20.0, fontWeight: FontWeight.bold)),
),
],
),
),
),
Container(
margin: EdgeInsets.all(10.0),
child: Divider(
color: Colors.grey[500],
),
),
Container(
transform: Matrix4.translationValues(0.0, -10.0, 0.0),
margin: EdgeInsets.fromLTRB(20.0, 0.0, 20.0, 5.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text("History", style: TextStyle(fontSize: 14.0)),
Row(
children: [
Text("view more", style: TextStyle(fontSize: 14.0)),
Container(
margin: EdgeInsets.only(left: 3.0, right: 3.0),
transform: Matrix4.translationValues(0.0, 1.5, 0.0),
width: 30.0,
height: 30.0,
child: Image.asset(
"assets/images/new-design/view_more.png",
fit: BoxFit.contain),
),
],
),
],
),
),
Container(
margin: EdgeInsets.fromLTRB(20.0, 0.0, 20.0, 5.0),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
side: BorderSide(color: Colors.grey[400], width: 0.6)),
child: Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Container(
padding: EdgeInsets.fromLTRB(30.0, 15.0, 30.0, 15.0),
child: Text("Date",
style: TextStyle(
fontSize: 18.0, fontWeight: FontWeight.bold)),
),
Container(
padding: EdgeInsets.fromLTRB(30.0, 0.0, 30.0, 0.0),
child: Text("Steps", style: TextStyle(fontSize: 18.0)),
),
],
),
),
),
],
),
);
}
}

@ -41,7 +41,8 @@ class DoctorsListService extends BaseService {
long = await this.sharedPref.getDouble(USER_LONG); long = await this.sharedPref.getDouble(USER_LONG);
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"LanguageID": languageID == 'ar' ? 1 : 2, "LanguageID": languageID == 'ar' ? 1 : 2,
@ -105,7 +106,8 @@ class DoctorsListService extends BaseService {
long = await this.sharedPref.getDouble(USER_LONG); long = await this.sharedPref.getDouble(USER_LONG);
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"LanguageID": languageID == 'ar' ? 1 : 2, "LanguageID": languageID == 'ar' ? 1 : 2,
@ -145,7 +147,8 @@ class DoctorsListService extends BaseService {
Future<Map> getDoctorsProfile( Future<Map> getDoctorsProfile(
int docID, int clinicID, int projectID, context) async { int docID, int clinicID, int projectID, context) async {
Map<String, dynamic> request; Map<String, dynamic> request;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"LanguageID": languageID == 'ar' ? 1 : 2, "LanguageID": languageID == 'ar' ? 1 : 2,
@ -177,10 +180,10 @@ class DoctorsListService extends BaseService {
return Future.value(localRes); return Future.value(localRes);
} }
Future<Map> getDoctorsRating( Future<Map> getDoctorsRating(int docID, context) async {
int docID, context) async {
Map<String, dynamic> request; Map<String, dynamic> request;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"LanguageID": languageID == 'ar' ? 1 : 2, "LanguageID": languageID == 'ar' ? 1 : 2,
@ -203,17 +206,17 @@ class DoctorsListService extends BaseService {
await baseAppClient.post(GET_DOCTOR_RATING_NOTES, await baseAppClient.post(GET_DOCTOR_RATING_NOTES,
onSuccess: (response, statusCode) async { onSuccess: (response, statusCode) async {
localRes = response; localRes = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
throw error; throw error;
}, body: request); }, body: request);
return Future.value(localRes); return Future.value(localRes);
} }
Future<Map> getDoctorsRatingDetails( Future<Map> getDoctorsRatingDetails(int docID, context) async {
int docID, context) async {
Map<String, dynamic> request; Map<String, dynamic> request;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"LanguageID": languageID == 'ar' ? 1 : 2, "LanguageID": languageID == 'ar' ? 1 : 2,
@ -236,17 +239,18 @@ class DoctorsListService extends BaseService {
await baseAppClient.post(GET_DOCTOR_RATING_DETAILS, await baseAppClient.post(GET_DOCTOR_RATING_DETAILS,
onSuccess: (response, statusCode) async { onSuccess: (response, statusCode) async {
localRes = response; localRes = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
throw error; throw error;
}, body: request); }, body: request);
return Future.value(localRes); return Future.value(localRes);
} }
Future<Map> getDoctorFreeSlots( Future<Map> getDoctorFreeSlots(
int docID, int clinicID, int projectID, BuildContext context) async { int docID, int clinicID, int projectID, BuildContext context) async {
Map<String, dynamic> request; Map<String, dynamic> request;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"DoctorID": docID, "DoctorID": docID,
@ -281,7 +285,8 @@ class DoctorsListService extends BaseService {
Future<Map> getDoctorScheduledFreeSlots(int docID, int clinicID, Future<Map> getDoctorScheduledFreeSlots(int docID, int clinicID,
int projectID, int serviceID, BuildContext context) async { int projectID, int serviceID, BuildContext context) async {
Map<String, dynamic> request; Map<String, dynamic> request;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"DoctorID": docID, "DoctorID": docID,
@ -324,7 +329,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"IsForLiveCare": false, "IsForLiveCare": false,
@ -383,7 +389,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"IsForLiveCare": true, "IsForLiveCare": true,
@ -437,7 +444,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -481,7 +489,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -526,7 +535,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -560,7 +570,8 @@ class DoctorsListService extends BaseService {
Future<Map> getPatientAppointmentCurfewHistory( Future<Map> getPatientAppointmentCurfewHistory(
bool isActiveAppointment) async { bool isActiveAppointment) async {
Map<String, dynamic> request; Map<String, dynamic> request;
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -601,7 +612,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -654,7 +666,8 @@ class DoctorsListService extends BaseService {
long = await this.sharedPref.getDouble(USER_LONG); long = await this.sharedPref.getDouble(USER_LONG);
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -701,7 +714,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -751,7 +765,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -802,7 +817,8 @@ class DoctorsListService extends BaseService {
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -847,7 +863,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"ClientRequestID": transactionID, "ClientRequestID": transactionID,
@ -886,7 +903,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"AdvanceNumber": advanceNumber, "AdvanceNumber": advanceNumber,
@ -923,7 +941,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"IsForAskYourDoctor": true, "IsForAskYourDoctor": true,
@ -963,7 +982,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"VersionID": req.VersionID, "VersionID": req.VersionID,
@ -999,7 +1019,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -1058,7 +1079,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"AppointmentNo": appoNo, "AppointmentNo": appoNo,
@ -1133,7 +1155,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"AppointmentNo": appo.appointmentNo, "AppointmentNo": appo.appointmentNo,
@ -1174,7 +1197,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"AppointmentDate": appoDate, "AppointmentDate": appoDate,
@ -1223,7 +1247,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
"ProjectID": projectID, "ProjectID": projectID,
@ -1282,7 +1307,8 @@ class DoctorsListService extends BaseService {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
var languageID = await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar'); var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest(); Request req = appGlobal.getPublicRequest();
request = { request = {
@ -1320,4 +1346,42 @@ class DoctorsListService extends BaseService {
}, body: request); }, body: request);
return Future.value(localRes); return Future.value(localRes);
} }
Future<Map> getPatientHealthDataStats(
int medCategoryId, int medCategoryStsId, BuildContext context) async {
Map<String, dynamic> request;
if (await this.sharedPref.getObject(USER_PROFILE) != null) {
var data = AuthenticatedUser.fromJson(
await this.sharedPref.getObject(USER_PROFILE));
authUser = data;
}
var languageID =
await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
Request req = appGlobal.getPublicRequest();
request = {
"MedCategoryID": medCategoryId,
"MedGetStsID": medCategoryStsId,
"VersionID": req.VersionID,
"Channel": req.Channel,
"LanguageID": languageID == 'ar' ? 1 : 2,
"IPAdress": req.IPAdress,
"generalid": req.generalid,
"PatientOutSA": authUser.outSA,
"SessionID": "YckwoXhUmWBsnHKEKig",
"isDentalAllowedBackend": false,
"DeviceTypeID": req.DeviceTypeID,
"PatientID": authUser.patientID,
"TokenID": "@dm!n",
"PatientTypeID": authUser.patientType,
"PatientType": authUser.patientType
};
dynamic localRes;
await baseAppClient.post(GET_PATIENT_HEALTH_STATS,
onSuccess: (response, statusCode) async {
localRes = response;
}, onFailure: (String error, int statusCode) {
throw error;
}, body: request);
return Future.value(localRes);
}
} }

@ -18,7 +18,8 @@ class TranslationBase {
return localizedValues[key][locale.languageCode]; return localizedValues[key][locale.languageCode];
} }
String get dashboardScreenToolbarTitle => localizedValues['dashboardScreenToolbarTitle'][locale.languageCode]; String get dashboardScreenToolbarTitle =>
localizedValues['dashboardScreenToolbarTitle'][locale.languageCode];
String get settings => localizedValues['settings'][locale.languageCode]; String get settings => localizedValues['settings'][locale.languageCode];
@ -89,19 +90,24 @@ class TranslationBase {
String get bookSuccess => localizedValues['bookSuccess'][locale.languageCode]; String get bookSuccess => localizedValues['bookSuccess'][locale.languageCode];
String get patientShare => localizedValues['patientShare'][locale.languageCode]; String get patientShare =>
localizedValues['patientShare'][locale.languageCode];
String get patientShareWithTax => localizedValues['patientShareWithTax'][locale.languageCode]; String get patientShareWithTax =>
localizedValues['patientShareWithTax'][locale.languageCode];
String get confirmAppo => localizedValues['confirmAppo'][locale.languageCode]; String get confirmAppo => localizedValues['confirmAppo'][locale.languageCode];
String get confirm => localizedValues['confirm'][locale.languageCode]; String get confirm => localizedValues['confirm'][locale.languageCode];
String get confirmLiveCare => localizedValues['confirmLiveCare'][locale.languageCode]; String get confirmLiveCare =>
localizedValues['confirmLiveCare'][locale.languageCode];
String get waitingForDoctor => localizedValues['waitingForDoctor'][locale.languageCode]; String get waitingForDoctor =>
localizedValues['waitingForDoctor'][locale.languageCode];
String get confirmLater => localizedValues['confirmLater'][locale.languageCode]; String get confirmLater =>
localizedValues['confirmLater'][locale.languageCode];
String get todoList => localizedValues['todoList'][locale.languageCode]; String get todoList => localizedValues['todoList'][locale.languageCode];
@ -117,7 +123,8 @@ class TranslationBase {
String get login => localizedValues['login'][locale.languageCode]; String get login => localizedValues['login'][locale.languageCode];
String get loginregister => localizedValues['loginregister'][locale.languageCode]; String get loginregister =>
localizedValues['loginregister'][locale.languageCode];
String get poweredBy => localizedValues['poweredBy'][locale.languageCode]; String get poweredBy => localizedValues['poweredBy'][locale.languageCode];
@ -126,7 +133,8 @@ class TranslationBase {
String get welcomeText => String get welcomeText =>
localizedValues['welcome_text'][locale.languageCode]; localizedValues['welcome_text'][locale.languageCode];
String get welcomeText2 => localizedValues['welcome_text2'][locale.languageCode]; String get welcomeText2 =>
localizedValues['welcome_text2'][locale.languageCode];
String get yes => localizedValues['yes'][locale.languageCode]; String get yes => localizedValues['yes'][locale.languageCode];
@ -289,17 +297,24 @@ class TranslationBase {
String get appsetting => localizedValues['app-settings'][locale.languageCode]; String get appsetting => localizedValues['app-settings'][locale.languageCode];
String get rateApp => localizedValues['rate-app'][locale.languageCode]; String get rateApp => localizedValues['rate-app'][locale.languageCode];
String get setReminder => localizedValues['set-reminder'][locale.languageCode]; String get setReminder =>
localizedValues['set-reminder'][locale.languageCode];
String get before => localizedValues['before'][locale.languageCode]; String get before => localizedValues['before'][locale.languageCode];
String get minute => localizedValues['minute'][locale.languageCode]; String get minute => localizedValues['minute'][locale.languageCode];
String get hour => localizedValues['hour'][locale.languageCode]; String get hour => localizedValues['hour'][locale.languageCode];
String get reminderSuccess => localizedValues['reminderSuccess'][locale.languageCode]; String get reminderSuccess =>
String get patientShareToDo => localizedValues['patientShareToDo'][locale.languageCode]; localizedValues['reminderSuccess'][locale.languageCode];
String get patientTaxToDo => localizedValues['patientTaxToDo'][locale.languageCode]; String get patientShareToDo =>
String get patientShareTotalToDo => localizedValues['patientShareTotalToDo'][locale.languageCode]; localizedValues['patientShareToDo'][locale.languageCode];
String get paymentMethod => localizedValues['paymentMethod'][locale.languageCode]; String get patientTaxToDo =>
localizedValues['patientTaxToDo'][locale.languageCode];
String get moreVerification => localizedValues['more-verify'][locale.languageCode]; String get patientShareTotalToDo =>
localizedValues['patientShareTotalToDo'][locale.languageCode];
String get paymentMethod =>
localizedValues['paymentMethod'][locale.languageCode];
String get moreVerification =>
localizedValues['more-verify'][locale.languageCode];
String get welcomeBack => String get welcomeBack =>
localizedValues['welcome-back'][locale.languageCode]; localizedValues['welcome-back'][locale.languageCode];
@ -329,11 +344,15 @@ class TranslationBase {
String get booked => localizedValues['booked'][locale.languageCode]; String get booked => localizedValues['booked'][locale.languageCode];
String get confirmed => localizedValues['confirmed'][locale.languageCode]; String get confirmed => localizedValues['confirmed'][locale.languageCode];
String get arrived => localizedValues['arrived'][locale.languageCode]; String get arrived => localizedValues['arrived'][locale.languageCode];
String get payNowBookSuccess => localizedValues['payNowBookSuccess'][locale.languageCode]; String get payNowBookSuccess =>
String get payNowBookSuccesstext1 => localizedValues['payNowBookSuccesstext1'][locale.languageCode]; localizedValues['payNowBookSuccess'][locale.languageCode];
String get payNowBookSuccesstext2 => localizedValues['payNowBookSuccesstext2'][locale.languageCode]; String get payNowBookSuccesstext1 =>
localizedValues['payNowBookSuccesstext1'][locale.languageCode];
String get payNowBookSuccesstext2 =>
localizedValues['payNowBookSuccesstext2'][locale.languageCode];
String get payLater => localizedValues['payLater'][locale.languageCode]; String get payLater => localizedValues['payLater'][locale.languageCode];
String get askDocNotAllowed => localizedValues['askDocNotAllowed'][locale.languageCode]; String get askDocNotAllowed =>
localizedValues['askDocNotAllowed'][locale.languageCode];
String get firstName => localizedValues['first-name'][locale.languageCode]; String get firstName => localizedValues['first-name'][locale.languageCode];
String get middleName => localizedValues['middle-name'][locale.languageCode]; String get middleName => localizedValues['middle-name'][locale.languageCode];
@ -344,13 +363,15 @@ class TranslationBase {
String get female => localizedValues['female'][locale.languageCode]; String get female => localizedValues['female'][locale.languageCode];
String get prefferedLanguage => localizedValues['preferred-language'][locale.languageCode]; String get prefferedLanguage =>
localizedValues['preferred-language'][locale.languageCode];
String get english => localizedValues['english'][locale.languageCode]; String get english => localizedValues['english'][locale.languageCode];
String get arabic => localizedValues['arabic'][locale.languageCode]; String get arabic => localizedValues['arabic'][locale.languageCode];
String get registrLocation => localizedValues['locations-register'][locale.languageCode]; String get registrLocation =>
localizedValues['locations-register'][locale.languageCode];
String get ksa => localizedValues['ksa'][locale.languageCode]; String get ksa => localizedValues['ksa'][locale.languageCode];
@ -360,7 +381,8 @@ class TranslationBase {
String get family => localizedValues['family'][locale.languageCode]; String get family => localizedValues['family'][locale.languageCode];
String get myFamilyFiles => localizedValues['family-title'][locale.languageCode]; String get myFamilyFiles =>
localizedValues['family-title'][locale.languageCode];
String get myFamily => localizedValues['myFamily'][locale.languageCode]; String get myFamily => localizedValues['myFamily'][locale.languageCode];
String get oxygenation => localizedValues['oxygenation'][locale.languageCode]; String get oxygenation => localizedValues['oxygenation'][locale.languageCode];
@ -443,11 +465,15 @@ class TranslationBase {
String get viewAll => localizedValues['viewAll'][locale.languageCode]; String get viewAll => localizedValues['viewAll'][locale.languageCode];
String get view => localizedValues['view'][locale.languageCode]; String get view => localizedValues['view'][locale.languageCode];
String get contactUs => localizedValues['ContactUs'][locale.languageCode]; String get contactUs => localizedValues['ContactUs'][locale.languageCode];
String get viewAllWaysReachUs => localizedValues['ViewAllWaysReachUs'][locale.languageCode]; String get viewAllWaysReachUs =>
String get medicalProfile => localizedValues['medicalProfile'][locale.languageCode]; localizedValues['ViewAllWaysReachUs'][locale.languageCode];
String get medicalProfile =>
localizedValues['medicalProfile'][locale.languageCode];
String get parking => localizedValues['parking'][locale.languageCode]; String get parking => localizedValues['parking'][locale.languageCode];
String get alhabiServices => localizedValues['alhabiServices'][locale.languageCode]; String get alhabiServices =>
String get parkingTitle => localizedValues['parkingTitle'][locale.languageCode]; localizedValues['alhabiServices'][locale.languageCode];
String get parkingTitle =>
localizedValues['parkingTitle'][locale.languageCode];
String get readBarcode => localizedValues['readBarcode'][locale.languageCode]; String get readBarcode => localizedValues['readBarcode'][locale.languageCode];
String get showMyPark => localizedValues['showMyPark'][locale.languageCode]; String get showMyPark => localizedValues['showMyPark'][locale.languageCode];
String get clearMyData => localizedValues['clearMyData'][locale.languageCode]; String get clearMyData => localizedValues['clearMyData'][locale.languageCode];
@ -455,7 +481,8 @@ class TranslationBase {
String get gate => localizedValues['gate'][locale.languageCode]; String get gate => localizedValues['gate'][locale.languageCode];
String get building => localizedValues['building'][locale.languageCode]; String get building => localizedValues['building'][locale.languageCode];
String get branch => localizedValues['branch'][locale.languageCode]; String get branch => localizedValues['branch'][locale.languageCode];
String get emergencyServices => localizedValues['emergencyServices'][locale.languageCode]; String get emergencyServices =>
localizedValues['emergencyServices'][locale.languageCode];
String get nearester => localizedValues['nearester'][locale.languageCode]; String get nearester => localizedValues['nearester'][locale.languageCode];
String get locationa => localizedValues['locationa'][locale.languageCode]; String get locationa => localizedValues['locationa'][locale.languageCode];
String get ambulancerequest => String get ambulancerequest =>
@ -551,7 +578,8 @@ class TranslationBase {
localizedValues['Prescriptions'][locale.languageCode]; localizedValues['Prescriptions'][locale.languageCode];
String get history => localizedValues['History'][locale.languageCode]; String get history => localizedValues['History'][locale.languageCode];
String get orderNo => localizedValues['OrderNo'][locale.languageCode]; String get orderNo => localizedValues['OrderNo'][locale.languageCode];
String get trackDeliveryDriver => localizedValues['trackDeliveryDriver'][locale.languageCode]; String get trackDeliveryDriver =>
localizedValues['trackDeliveryDriver'][locale.languageCode];
String get orderDetails => String get orderDetails =>
localizedValues['OrderDetails'][locale.languageCode]; localizedValues['OrderDetails'][locale.languageCode];
String get vitalSign => localizedValues['VitalSign'][locale.languageCode]; String get vitalSign => localizedValues['VitalSign'][locale.languageCode];
@ -617,8 +645,7 @@ class TranslationBase {
localizedValues['SelectFamilyPatientName'][locale.languageCode]; localizedValues['SelectFamilyPatientName'][locale.languageCode];
String get selectHospital => String get selectHospital =>
localizedValues['SelectHospital'][locale.languageCode]; localizedValues['SelectHospital'][locale.languageCode];
String get selectCity => String get selectCity => localizedValues['selectCity'][locale.languageCode];
localizedValues['selectCity'][locale.languageCode];
String get myAccount => localizedValues['MyAccount'][locale.languageCode]; String get myAccount => localizedValues['MyAccount'][locale.languageCode];
String get otherAccount => String get otherAccount =>
localizedValues['OtherAccount'][locale.languageCode]; localizedValues['OtherAccount'][locale.languageCode];
@ -727,7 +754,8 @@ class TranslationBase {
String get use => localizedValues['use'][locale.languageCode]; String get use => localizedValues['use'][locale.languageCode];
String get proceedPay => localizedValues['proceedPay'][locale.languageCode]; String get proceedPay => localizedValues['proceedPay'][locale.languageCode];
String get vat => localizedValues['vat'][locale.languageCode]; String get vat => localizedValues['vat'][locale.languageCode];
String get inclusiveVat => localizedValues['inclusiveVat'][locale.languageCode]; String get inclusiveVat =>
localizedValues['inclusiveVat'][locale.languageCode];
String get items => localizedValues['items'][locale.languageCode]; String get items => localizedValues['items'][locale.languageCode];
String get checkOut => localizedValues['checkOut'][locale.languageCode]; String get checkOut => localizedValues['checkOut'][locale.languageCode];
String get total => localizedValues['total'][locale.languageCode]; String get total => localizedValues['total'][locale.languageCode];
@ -763,15 +791,22 @@ class TranslationBase {
String get itemsNo => localizedValues['itemsNo'][locale.languageCode]; String get itemsNo => localizedValues['itemsNo'][locale.languageCode];
String get noOrder => localizedValues['noOrder'][locale.languageCode]; String get noOrder => localizedValues['noOrder'][locale.languageCode];
String get review => localizedValues['review'][locale.languageCode]; String get review => localizedValues['review'][locale.languageCode];
String get deliveredOrder => localizedValues['deliveredOrder'][locale.languageCode]; String get deliveredOrder =>
String get pendingOrder => localizedValues['pendingOrder'][locale.languageCode]; localizedValues['deliveredOrder'][locale.languageCode];
String get processingOrder => localizedValues['processingOrder'][locale.languageCode]; String get pendingOrder =>
String get cancelledOrder => localizedValues['cancelledOrder'][locale.languageCode]; localizedValues['pendingOrder'][locale.languageCode];
String get processingOrder =>
localizedValues['processingOrder'][locale.languageCode];
String get cancelledOrder =>
localizedValues['cancelledOrder'][locale.languageCode];
String get compare => localizedValues['compare'][locale.languageCode]; String get compare => localizedValues['compare'][locale.languageCode];
String get medicationsRefill => localizedValues['medicationsRefill'][locale.languageCode]; String get medicationsRefill =>
String get myPrescription => localizedValues['myPrescription'][locale.languageCode]; localizedValues['medicationsRefill'][locale.languageCode];
String get myPrescription =>
localizedValues['myPrescription'][locale.languageCode];
String get quantity => localizedValues['quantity'][locale.languageCode]; String get quantity => localizedValues['quantity'][locale.languageCode];
String get conditionsHMG => localizedValues['conditionsHMG'][locale.languageCode]; String get conditionsHMG =>
localizedValues['conditionsHMG'][locale.languageCode];
String get conditions => localizedValues['conditions'][locale.languageCode]; String get conditions => localizedValues['conditions'][locale.languageCode];
// pharmacy module // pharmacy module
@ -980,11 +1015,16 @@ class TranslationBase {
String get searchItemError => String get searchItemError =>
localizedValues['searchItemError'][locale.languageCode]; localizedValues['searchItemError'][locale.languageCode];
String get youCanFind => localizedValues['YouCanFind'][locale.languageCode]; String get youCanFind => localizedValues['YouCanFind'][locale.languageCode];
String get itemInSearch => localizedValues['ItemInSearch'][locale.languageCode]; String get itemInSearch =>
String get wantToConnectWithHmgNetwork => localizedValues['wantConnectHmgNetwork'][locale.languageCode]; localizedValues['ItemInSearch'][locale.languageCode];
String get failedToAccessHmgServices => localizedValues['failedToAccessHmgServices'][locale.languageCode]; String get wantToConnectWithHmgNetwork =>
String get enablingWifi => localizedValues['enablingWifi'][locale.languageCode]; localizedValues['wantConnectHmgNetwork'][locale.languageCode];
String get offerAndPackages => localizedValues['offerAndPackages'][locale.languageCode]; String get failedToAccessHmgServices =>
localizedValues['failedToAccessHmgServices'][locale.languageCode];
String get enablingWifi =>
localizedValues['enablingWifi'][locale.languageCode];
String get offerAndPackages =>
localizedValues['offerAndPackages'][locale.languageCode];
String get invoiceNo => localizedValues['InvoiceNo'][locale.languageCode]; String get invoiceNo => localizedValues['InvoiceNo'][locale.languageCode];
String get specialResult => String get specialResult =>
localizedValues['SpecialResult'][locale.languageCode]; localizedValues['SpecialResult'][locale.languageCode];
@ -1160,26 +1200,39 @@ class TranslationBase {
String get gallery => localizedValues['gallery'][locale.languageCode]; String get gallery => localizedValues['gallery'][locale.languageCode];
String get camera => localizedValues['camera'][locale.languageCode]; String get camera => localizedValues['camera'][locale.languageCode];
String get medReport => localizedValues['med-report'][locale.languageCode]; String get medReport => localizedValues['med-report'][locale.languageCode];
String get newMedReport => localizedValues['new-med-report'][locale.languageCode]; String get newMedReport =>
String get requestReport => localizedValues['requestReport'][locale.languageCode]; localizedValues['new-med-report'][locale.languageCode];
String get confirmMsgReport => localizedValues['confirm-msg-report'][locale.languageCode]; String get requestReport =>
String get successSendReport => localizedValues['successSendReport'][locale.languageCode]; localizedValues['requestReport'][locale.languageCode];
String get confirmMsgReport =>
localizedValues['confirm-msg-report'][locale.languageCode];
String get successSendReport =>
localizedValues['successSendReport'][locale.languageCode];
String get pulseTitle => localizedValues['pulseTitle'][locale.languageCode]; String get pulseTitle => localizedValues['pulseTitle'][locale.languageCode];
String get systolicLng => localizedValues['systolic-lng'][locale.languageCode]; String get systolicLng =>
String get diastolicLng => localizedValues['diastolic-lng'][locale.languageCode]; localizedValues['systolic-lng'][locale.languageCode];
String get policyHolder => localizedValues['policy-holder'][locale.languageCode]; String get diastolicLng =>
localizedValues['diastolic-lng'][locale.languageCode];
String get policyHolder =>
localizedValues['policy-holder'][locale.languageCode];
String get policyNo => localizedValues['policy-no'][locale.languageCode]; String get policyNo => localizedValues['policy-no'][locale.languageCode];
String get expiryDateTitle => localizedValues['expiry-date'][locale.languageCode]; String get expiryDateTitle =>
localizedValues['expiry-date'][locale.languageCode];
String get classTitle => localizedValues['class'][locale.languageCode]; String get classTitle => localizedValues['class'][locale.languageCode];
String get approval => localizedValues['approval'][locale.languageCode]; String get approval => localizedValues['approval'][locale.languageCode];
String get agree => localizedValues['agree'][locale.languageCode]; String get agree => localizedValues['agree'][locale.languageCode];
String get disagree => localizedValues['disagree'][locale.languageCode]; String get disagree => localizedValues['disagree'][locale.languageCode];
String get requestSent => localizedValues['request-sent'][locale.languageCode]; String get requestSent =>
String get attachInsuraceImage => localizedValues['attach-insurace-image'][locale.languageCode]; localizedValues['request-sent'][locale.languageCode];
String get infoInsurCards => localizedValues['info-insur-cards'][locale.languageCode]; String get attachInsuraceImage =>
localizedValues['attach-insurace-image'][locale.languageCode];
String get infoInsurCards =>
localizedValues['info-insur-cards'][locale.languageCode];
String get scanNow => localizedValues['scan-now'][locale.languageCode]; String get scanNow => localizedValues['scan-now'][locale.languageCode];
String get pharmacyServiceTermsCondition => localizedValues['pharmacyServiceTermsCondition'][locale.languageCode]; String get pharmacyServiceTermsCondition =>
String get recordDeleted => localizedValues['recordDeleted'][locale.languageCode]; localizedValues['pharmacyServiceTermsCondition'][locale.languageCode];
String get recordDeleted =>
localizedValues['recordDeleted'][locale.languageCode];
String get referralStatus => String get referralStatus =>
localizedValues['referralStatus'][locale.languageCode]; localizedValues['referralStatus'][locale.languageCode];
@ -1210,12 +1263,16 @@ class TranslationBase {
String get topBrands => localizedValues['topBrands'][locale.languageCode]; String get topBrands => localizedValues['topBrands'][locale.languageCode];
String get notifyMe => localizedValues['notifyMe'][locale.languageCode]; String get notifyMe => localizedValues['notifyMe'][locale.languageCode];
String get specification => localizedValues['specification'][locale.languageCode]; String get specification =>
String get availability => localizedValues['availability'][locale.languageCode]; localizedValues['specification'][locale.languageCode];
String get quantitySize => localizedValues['quantitySize'][locale.languageCode]; String get availability =>
localizedValues['availability'][locale.languageCode];
String get quantitySize =>
localizedValues['quantitySize'][locale.languageCode];
String get addToCart => localizedValues['addToCart'][locale.languageCode]; String get addToCart => localizedValues['addToCart'][locale.languageCode];
String get buyNow => localizedValues['buyNow'][locale.languageCode]; String get buyNow => localizedValues['buyNow'][locale.languageCode];
String get quantityShortcut => localizedValues['quantityShortcut'][locale.languageCode]; String get quantityShortcut =>
localizedValues['quantityShortcut'][locale.languageCode];
String get updatedEmail => String get updatedEmail =>
localizedValues['updated-email'][locale.languageCode]; localizedValues['updated-email'][locale.languageCode];
@ -1252,12 +1309,15 @@ class TranslationBase {
localizedValues['shoppingCart'][locale.languageCode]; localizedValues['shoppingCart'][locale.languageCode];
String get covidTest => localizedValues['covidTest'][locale.languageCode]; String get covidTest => localizedValues['covidTest'][locale.languageCode];
String get driveThru => localizedValues['driveThru'][locale.languageCode]; String get driveThru => localizedValues['driveThru'][locale.languageCode];
String get NearestErDesc => localizedValues['NearestErDesc'][locale.languageCode]; String get NearestErDesc =>
localizedValues['NearestErDesc'][locale.languageCode];
String get NearestEr => localizedValues['NearestEr'][locale.languageCode]; String get NearestEr => localizedValues['NearestEr'][locale.languageCode];
String get infoCMC => localizedValues['infoCMC'][locale.languageCode]; String get infoCMC => localizedValues['infoCMC'][locale.languageCode];
String get instructionAgree => localizedValues['instructionAgree'][locale.languageCode]; String get instructionAgree =>
localizedValues['instructionAgree'][locale.languageCode];
String get reqId => localizedValues['reqId'][locale.languageCode]; String get reqId => localizedValues['reqId'][locale.languageCode];
String get ordersLog => localizedValues['RRT-orders-log'][locale.languageCode]; String get ordersLog =>
localizedValues['RRT-orders-log'][locale.languageCode];
String get bloodSugar => localizedValues['blood-sugar'][locale.languageCode]; String get bloodSugar => localizedValues['blood-sugar'][locale.languageCode];
String get myTracker => localizedValues['my-tracker'][locale.languageCode]; String get myTracker => localizedValues['my-tracker'][locale.languageCode];
String get weekly => localizedValues['weekly'][locale.languageCode]; String get weekly => localizedValues['weekly'][locale.languageCode];
@ -1266,16 +1326,57 @@ class TranslationBase {
String get measured => localizedValues['measured'][locale.languageCode]; String get measured => localizedValues['measured'][locale.languageCode];
String get sugarAdd => localizedValues['sugar-add'][locale.languageCode]; String get sugarAdd => localizedValues['sugar-add'][locale.languageCode];
String get other => localizedValues['other'][locale.languageCode]; String get other => localizedValues['other'][locale.languageCode];
String get measureUnit => localizedValues['measure-unit'][locale.languageCode]; String get measureUnit =>
String get measureTime => localizedValues['measure-time'][locale.languageCode]; localizedValues['measure-unit'][locale.languageCode];
String get measureTime =>
localizedValues['measure-time'][locale.languageCode];
String get update => localizedValues['update'][locale.languageCode]; String get update => localizedValues['update'][locale.languageCode];
String get covid19_driveThrueTest => localizedValues['covid19_driveThrueTest'][locale.languageCode]; String get covid19_driveThrueTest =>
localizedValues['covid19_driveThrueTest'][locale.languageCode];
String get eReferral => localizedValues['E-Referral'][locale.languageCode]; String get eReferral => localizedValues['E-Referral'][locale.languageCode];
String get vaccination => localizedValues["vaccination"][locale.languageCode]; String get vaccination => localizedValues["vaccination"][locale.languageCode];
String get msg_email_address_up_to_date => localizedValues["msg_email_address_up_to_date"][locale.languageCode]; String get msg_email_address_up_to_date =>
String get updateEmailMsg => localizedValues["update-email-msg"][locale.languageCode]; localizedValues["msg_email_address_up_to_date"][locale.languageCode];
String get updateEmailMsg =>
localizedValues["update-email-msg"][locale.languageCode];
String get childName => localizedValues["childName"][locale.languageCode]; String get childName => localizedValues["childName"][locale.languageCode];
String get addNewChild =>
localizedValues["add-new-child"][locale.languageCode];
String get sendChildEmailMsg =>
localizedValues["send-child-email-msg"][locale.languageCode];
String get vaccinationAddChildMsg =>
localizedValues["vaccination-add-child-msg"][locale.languageCode];
String get childAddedSuccessfully =>
localizedValues["child_added_successfully"][locale.languageCode];
String get sugar => localizedValues["sugar"][locale.languageCode];
String get bloodCholesterol =>
localizedValues["bloodCholesterol"][locale.languageCode];
String get cholesterol => localizedValues["cholesterol"][locale.languageCode];
String get triglycerides =>
localizedValues["triglycerides"][locale.languageCode];
String get fatInBlood => localizedValues["fatInBlood"][locale.languageCode];
String get calculate => localizedValues["calculate"][locale.languageCode];
String get enterReadingValue =>
localizedValues["enterReadingValue"][locale.languageCode];
String get convertBloodSugarStatement =>
localizedValues["convertBloodSugarStatement"][locale.languageCode];
String get convertFrom => localizedValues["convertFrom"][locale.languageCode];
String get result => localizedValues["result"][locale.languageCode];
String get bloodSugarConversion =>
localizedValues["bloodSugarConversion"][locale.languageCode];
String get convertCholesterolStatement =>
localizedValues["convertCholesterolStatement"][locale.languageCode];
String get triglyceridesConvertStatement =>
localizedValues["triglyceridesConvertStatement"][locale.languageCode];
String get bloodDEnterDesc =>
localizedValues["bloodD-enter-desc"][locale.languageCode];
String get viewTermsConditions =>
localizedValues["viewTermsConditions"][locale.languageCode];
String get walkinAppo => localizedValues["WalkinAppo"][locale.languageCode];
String get videoAppo => localizedValues["videoAppo"][locale.languageCode];
String get addNewChild => localizedValues["add-new-child"][locale.languageCode]; String get addNewChild => localizedValues["add-new-child"][locale.languageCode];
String get sendChildEmailMsg => localizedValues["send-child-email-msg"][locale.languageCode]; String get sendChildEmailMsg => localizedValues["send-child-email-msg"][locale.languageCode];
String get vaccinationAddChildMsg => localizedValues["vaccination-add-child-msg"][locale.languageCode]; String get vaccinationAddChildMsg => localizedValues["vaccination-add-child-msg"][locale.languageCode];

@ -1,8 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart'; import 'package:diplomaticquarterapp/models/Appointments/AppoimentAllHistoryResultList.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart'; import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart'; import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
@ -13,14 +11,14 @@ class MyInAppBrowser extends InAppBrowser {
// static String SERVICE_URL = // static String SERVICE_URL =
// 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT // 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT
static String SERVICE_URL = static String SERVICE_URL =
'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE
// static String PREAUTH_SERVICE_URL = // static String PREAUTH_SERVICE_URL =
// 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort PreAuth Payment Gateway URL UAT // 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort PreAuth Payment Gateway URL UAT
static String PREAUTH_SERVICE_URL = static String PREAUTH_SERVICE_URL =
'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort PreAuth Payment Gateway URL Live Store
static List<String> successURLS = [ static List<String> successURLS = [
'success', 'success',
@ -42,6 +40,9 @@ class MyInAppBrowser extends InAppBrowser {
String deviceToken; String deviceToken;
double lat = 0.0;
double long = 0.0;
static bool isPaymentDone = false; static bool isPaymentDone = false;
MyInAppBrowser({this.onExitCallback, this.appo, this.onLoadStartCallback}); MyInAppBrowser({this.onExitCallback, this.appo, this.onLoadStartCallback});
@ -98,6 +99,11 @@ class MyInAppBrowser extends InAppBrowser {
await this.sharedPref.getObject(USER_PROFILE)); await this.sharedPref.getObject(USER_PROFILE));
authUser = data; authUser = data;
} }
if (await this.sharedPref.getDouble(USER_LAT) != null &&
await this.sharedPref.getDouble(USER_LONG) != null) {
lat = await this.sharedPref.getDouble(USER_LAT);
long = await this.sharedPref.getDouble(USER_LONG);
}
} }
openPaymentBrowser( openPaymentBrowser(
@ -111,12 +117,33 @@ class MyInAppBrowser extends InAppBrowser {
String patientName, String patientName,
dynamic patientID, dynamic patientID,
AuthenticatedUser authenticatedUser, AuthenticatedUser authenticatedUser,
InAppBrowser browser) { InAppBrowser browser,
getDeviceToken(); bool isLiveCareAppo,
[var appoDate,
var appoNo,
var clinicID,
var doctorID]) {
this.browser = browser; this.browser = browser;
this.browser.openUrl( getPatientData();
url: generateURL(amount, orderDesc, transactionID, projId, emailId, generateURL(
paymentMethod, patientType, patientName, patientID, authenticatedUser)); amount,
orderDesc,
transactionID,
projId,
emailId,
paymentMethod,
patientType,
patientName,
patientID,
authenticatedUser,
isLiveCareAppo,
appoDate,
appoNo,
clinicID,
doctorID)
.then((value) {
this.browser.openUrl(url: value);
});
} }
openBrowser(String url) { openBrowser(String url) {
@ -124,7 +151,7 @@ class MyInAppBrowser extends InAppBrowser {
this.browser.openUrl(url: url); this.browser.openUrl(url: url);
} }
String generateURL( Future<String> generateURL(
double amount, double amount,
String orderDesc, String orderDesc,
String transactionID, String transactionID,
@ -135,18 +162,19 @@ class MyInAppBrowser extends InAppBrowser {
String patientName, String patientName,
dynamic patientID, dynamic patientID,
AuthenticatedUser authUser, AuthenticatedUser authUser,
[var patientData, bool isLiveCareAppo,
[var appoDate,
var appoNo,
var clinicID,
var doctorID,
var patientData,
var servID, var servID,
var LiveServID]) { var LiveServID]) async {
getPatientData(); getDeviceToken();
String currentLanguageID = getLanguageID() == 'ar' ? 'AR' : 'EN'; String currentLanguageID = getLanguageID() == 'ar' ? 'AR' : 'EN';
String form = getForm(); String form = isLiveCareAppo ? getLiveCareForm() : getForm();
// if (authUser != null) { form = form.replaceFirst("EMAIL_VALUE", emailId);
// form = form.replaceFirst("EMAIL_VALUE", authUser.emailAddress);
// } else {
form = form.replaceFirst("EMAIL_VALUE", emailId);
// }
form = form.replaceFirst('AMOUNT_VALUE', amount.toString()); form = form.replaceFirst('AMOUNT_VALUE', amount.toString());
form = form.replaceFirst('ORDER_DESCRIPTION_VALUE', orderDesc); form = form.replaceFirst('ORDER_DESCRIPTION_VALUE', orderDesc);
@ -157,12 +185,13 @@ class MyInAppBrowser extends InAppBrowser {
form = form.replaceFirst('LANG_VALUE', currentLanguageID); form = form.replaceFirst('LANG_VALUE', currentLanguageID);
form = form.replaceFirst('PATIENT_OUT_SA', form = form.replaceFirst('PATIENT_OUT_SA',
authUser.outSA == 0 ? false.toString() : true.toString()); authUser.outSA == 0 ? false.toString() : true.toString());
form = form.replaceFirst('PATIENT_TYPE_ID', form = form.replaceFirst(
patientData == null ? patientType.toString() : "1"); 'PATIENT_TYPE_ID', patientData == null ? patientType.toString() : "1");
// form = form.replaceFirst('DEVICE_TOKEN', this.cs.sharedService.getSharedData(AuthenticationService.DEVICE_TOKEN, false) + "," + this.cs.sharedService.getSharedData(AuthenticationService.APNS_TOKEN, false)); form = form.replaceFirst(
// form = form.replaceFirst('LATITUDE_VALUE', this.cs.sharedService.getSharedData('userLat', false)); 'DEVICE_TOKEN', await sharedPref.getString(PUSH_TOKEN));
// form = form.replaceFirst('LONGITUDE_VALUE', this.cs.sharedService.getSharedData('userLong', false)); form = form.replaceFirst('LATITUDE_VALUE', this.lat.toString());
form = form.replaceFirst('LONGITUDE_VALUE', this.long.toString());
if (servID == "4") if (servID == "4")
form = form.replaceFirst( form = form.replaceFirst(
@ -178,17 +207,16 @@ class MyInAppBrowser extends InAppBrowser {
form = form.replaceFirst('LIVE_SERVICE_ID', "2"); form = form.replaceFirst('LIVE_SERVICE_ID', "2");
} }
// if (patientData == null) { form = form.replaceFirst('CUSTNAME_VALUE', patientName);
form = form.replaceFirst('CUSTNAME_VALUE', patientName); form = form.replaceFirst('CUSTID_VALUE', patientID.toString());
form = form.replaceFirst('CUSTID_VALUE', patientID.toString());
// } else {
// form = form.replaceFirst('CUSTNAME_VALUE', patientData.depositorName);
// form = form.replaceFirst('CUSTID_VALUE', patientData.fileNumber);
// }
form = form.replaceFirst('LATITUDE_VALUE', "24.708488"); if (isLiveCareAppo) {
form = form.replaceFirst('LONGITUDE_VALUE', "46.665925"); form = form.replaceFirst('IS_SCHEDULE_VALUE', "true");
form = form.replaceFirst('DEVICE_TOKEN', DEVICE_TOKEN); form = form.replaceFirst('APPOINTMENT_DATE_VALUE', appoDate);
form = form.replaceFirst('APPOINTMENT_NO_VALUE', appoNo.toString());
form = form.replaceFirst('DOCTOR_ID_VALUE', doctorID.toString());
form = form.replaceFirst('CLINIC_ID_VALUE', clinicID.toString());
}
var bytes = utf8.encode(form); var bytes = utf8.encode(form);
var base64Str = base64.encode(bytes); var base64Str = base64.encode(bytes);
@ -228,6 +256,42 @@ class MyInAppBrowser extends InAppBrowser {
'</body>' + '</body>' +
'</html>'; '</html>';
} }
String getLiveCareForm() {
return '<html> ' +
'<head></head>' +
'<body>' +
'<form id="paymentForm" action="SERVICE_URL_VALUE" method="post">' +
'<input type="hidden" name="Amount" value="AMOUNT_VALUE">' +
'<input type="hidden" name="ProjID" value="PROJECT_ID_VALUE">' +
'<input type="hidden" name="IsSchedule" value="IS_SCHEDULE_VALUE">' +
'<input type="hidden" name="AppointmentDate" value="APPOINTMENT_DATE_VALUE">' +
'<input type="hidden" name="AppointmentNo" value="APPOINTMENT_NO_VALUE">' +
'<input type="hidden" name="DoctorID" value="DOCTOR_ID_VALUE">' +
'<input type="hidden" name="ClinicID" value="CLINIC_ID_VALUE">' +
'<input type="hidden" name="Order_Desc" value="ORDER_DESCRIPTION_VALUE">' +
'<input type="hidden" name="OrderID" value="ORDER_ID_VALUE">' +
'<input type="hidden" name="PaymentOption" value="PAYMENT_OPTION_VALUE">' +
'<input type="hidden" name="Email" value="EMAIL_VALUE">' +
'<input type="hidden" name="ServID" value="SERV_ID" >' +
'<input type="hidden" name="ChannelID" value="2" >' +
'<input type="hidden" name="Lang" value="LANG_VALUE" >' +
'<input type="hidden" name="ReturnURL" value="" >' +
'<input type="hidden" name="CustName" value="CUSTNAME_VALUE" >' +
'<input type="hidden" name="PatientOutSA" value="PATIENT_OUT_SA" >' +
'<input type="hidden" name="PatientTypeID" value="PATIENT_TYPE_ID" >' +
'<input type="hidden" name="DeviceToken" value="DEVICE_TOKEN" >' +
'<input type="hidden" name="Longitude" value="LONGITUDE_VALUE" >' +
'<input type="hidden" name="Latitude" value="LATITUDE_VALUE" >' +
'<input type="hidden" name="Live_ServiceID" value="LIVE_SERVICE_ID" >' +
'<input type="hidden" name="CustID" value="CUSTID_VALUE" >' +
'<input type="hidden" name="ResponseContinueURL" value="http://hmg.com/Documents/success.html" >' +
'<input type="hidden" name="BackClickUrl" value="http://hmg.com/Documents/success.html" >' +
'</form>' +
'<script type="text/javascript"> document.getElementById("paymentForm").submit(); </script>' +
'</body>' +
'</html>';
}
} }
class MyChromeSafariBrowser extends ChromeSafariBrowser { class MyChromeSafariBrowser extends ChromeSafariBrowser {

Loading…
Cancel
Save