Compare commits

...

8 Commits

Author SHA1 Message Date
haroon amjad afbd73363e Merge branch 'diplomatic-quarter-live' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into diplomatic-quarter-live
# Conflicts:
#	ios/Flutter/.last_build_id
#	lib/config/config.dart
#	lib/core/service/medical/labs_service.dart
#	lib/pages/insurance/insurance_update_screen.dart
#	lib/pages/landing/home_page.dart
#	lib/pages/medical/medical_profile_page.dart
4 years ago
haroon amjad df9783cd00 DQ Latest Release 4 years ago
Mohammad Aljammal a1a70d5816 Merge branch 'sultan' into 'diplomatic-quarter-live'
Sultan

See merge request Cloud_Solution/diplomatic-quarter!306
5 years ago
Sultan Khan 49c031f404 homepage and registration changes 5 years ago
Sultan Khan b58e6a9626 home page registration changes 5 years ago
haroon amjad 0f79361b81 updated VersionID & plugin versions 5 years ago
haroon amjad 49d688e111 updated VersionID & plugin versions 5 years ago
haroon amjad ac6f217d54 DQ Param added in requests 5 years ago

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>815750722565-da8p56le8bd6apsbm9eft0jjl1rtpgkt.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.815750722565-da8p56le8bd6apsbm9eft0jjl1rtpgkt</string>
<key>ANDROID_CLIENT_ID</key>
<string>815750722565-m14h8mkosm7cnq6uh6rhqr54dn02d705.apps.googleusercontent.com</string>
<key>API_KEY</key>
<string>AIzaSyDiXnCO00li4V7Ioa2YZ_M4ECxRsu_P9tA</string>
<key>GCM_SENDER_ID</key>
<string>815750722565</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.HMG.HMG-Smartphone</string>
<key>PROJECT_ID</key>
<string>api-project-815750722565</string>
<key>STORAGE_BUCKET</key>
<string>api-project-815750722565.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:815750722565:ios:328ec247a81a2ca23c186c</string>
<key>DATABASE_URL</key>
<string>https://api-project-815750722565.firebaseio.com</string>
</dict>
</plist>

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CLIENT_ID</key>
<string>815750722565-da8p56le8bd6apsbm9eft0jjl1rtpgkt.apps.googleusercontent.com</string>
<key>REVERSED_CLIENT_ID</key>
<string>com.googleusercontent.apps.815750722565-da8p56le8bd6apsbm9eft0jjl1rtpgkt</string>
<key>ANDROID_CLIENT_ID</key>
<string>815750722565-m14h8mkosm7cnq6uh6rhqr54dn02d705.apps.googleusercontent.com</string>
<key>API_KEY</key>
<string>AIzaSyDiXnCO00li4V7Ioa2YZ_M4ECxRsu_P9tA</string>
<key>GCM_SENDER_ID</key>
<string>815750722565</string>
<key>PLIST_VERSION</key>
<string>1</string>
<key>BUNDLE_ID</key>
<string>com.HMG.Smartphone</string>
<key>PROJECT_ID</key>
<string>api-project-815750722565</string>
<key>STORAGE_BUCKET</key>
<string>api-project-815750722565.appspot.com</string>
<key>IS_ADS_ENABLED</key>
<false></false>
<key>IS_ANALYTICS_ENABLED</key>
<false></false>
<key>IS_APPINVITE_ENABLED</key>
<true></true>
<key>IS_GCM_ENABLED</key>
<true></true>
<key>IS_SIGNIN_ENABLED</key>
<true></true>
<key>GOOGLE_APP_ID</key>
<string>1:815750722565:ios:328ec247a81a2ca23c186c</string>
<key>DATABASE_URL</key>
<string>https://api-project-815750722565.firebaseio.com</string>
</dict>
</plist>

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<g id="Group_1261" data-name="Group 1261" transform="translate(-148.52 -172.52)">
<path id="Path_1724" data-name="Path 1724" d="M9,0a9,9,0,0,1,9,9,9.18,9.18,0,0,1-1.863,5.483A8.844,8.844,0,0,1,9,18,9,9,0,0,1,9,0Z" transform="translate(148.52 172.52)" fill="#e6b71b"/>
<path id="hourglass_2_" data-name="hourglass (2)" d="M10.865,10.178H10.4V8.663a2.662,2.662,0,0,0-.88-1.977l-.783-.7a.578.578,0,0,1,0-.86l.783-.7a2.665,2.665,0,0,0,.88-1.978V.925h.463a.463.463,0,0,0,0-.925h-7.4a.463.463,0,0,0,0,.925h.463V2.439a2.662,2.662,0,0,0,.88,1.977l.783.7a.578.578,0,0,1,0,.86l-.783.7a2.665,2.665,0,0,0-.88,1.978v1.514H3.463a.463.463,0,1,0,0,.925h7.4a.463.463,0,0,0,0-.925ZM5.313,8.711a1.264,1.264,0,0,1,.373-.9L6.918,6.578a.347.347,0,0,1,.491,0L8.642,7.811a1.264,1.264,0,0,1,.373.9v1.467h-3.7Z" transform="translate(150.356 175.968)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 947 B

@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<g id="Group_1261" data-name="Group 1261" transform="translate(-148.52 -172.52)">
<path id="Path_1724" data-name="Path 1724" d="M9,0a9,9,0,0,1,9,9,9.18,9.18,0,0,1-1.863,5.483A8.844,8.844,0,0,1,9,18,9,9,0,0,1,9,0Z" transform="translate(148.52 172.52)" fill="#5ab145"/>
<g id="check_4_" data-name="check (4)" transform="translate(151.64 177.596)">
<path id="Path_1722" data-name="Path 1722" d="M10.35,68.552l-5.79,5.79L1.411,71.193,0,72.6l4.56,4.56,7.2-7.2Z" transform="translate(0 -68.552)" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 627 B

3
ios/.gitignore vendored

@ -30,6 +30,3 @@ Runner/GeneratedPluginRegistrant.*
!default.mode2v3
!default.pbxuser
!default.perspectivev3
/Runner.xcworkspace/contents.xcworkspacedata
/Runner.xcodeproj/project.pbxproj
/Flutter/.last_build_id

@ -1 +1 @@
59a6c452ee075b50114918f17f1ad8f5
a30437b5671472a3d6a8672edcfc504b

@ -38,4 +38,4 @@ post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end
end

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1200"
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -27,6 +27,8 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
@ -36,8 +38,8 @@
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@ -59,6 +61,8 @@
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DisableBuildSystemDeprecationWarning</key>
<true/>
<key>PreviewsEnabled</key>
<false/>
</dict>
</plist>

@ -5,7 +5,7 @@
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>Dr. Alhabib MC</string>
<string>Dr. Sulaiman Al Habib MC</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@ -24,6 +24,8 @@
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSAppleMusicUsageDescription</key>
<string>Required usage description for a Flutter dependency</string>
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This App requires access to Bluetooth to connect blood pressure &amp; blood sugar devices with the app to analyze the data.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
@ -50,12 +52,11 @@
<string>This app requires photo library access to select image as document &amp; upload it.</string>
<key>NSRemindersUsageDescription</key>
<string>This app requires calendar access to set reminders for Virtual &amp; Normal Appointments.</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>This app requires access to speech recognition to identify which words are spoken into the microphone.</string>
<key>NSAppleMusicUsageDescription</key>
<string>Required usage description for a Flutter dependency</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>This app requires access to speech recognition to identify which words are spoken into the microphone.</string>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>remote-notification</string>
</array>
<key>UILaunchStoryboardName</key>
@ -75,7 +76,5 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>io.flutter.embedded_views_preview</key>
<true/>
</dict>
</plist>

@ -38,12 +38,10 @@ const GET_PRESCRIPTION_REPORT_ENH =
const GET_Patient_LAB_ORDERS = 'Services/Patients.svc/REST/GetPatientLabOrders';
const GET_Patient_LAB_SPECIAL_RESULT =
'Services/Patients.svc/REST/GetPatientLabSpecialResults';
const SEND_LAB_RESULT_EMAIL =
'Services/Notifications.svc/REST/SendLabReportEmail';
const GET_Patient_LAB_RESULT =
'Services/Patients.svc/REST/GetPatientLabResults';
const GET_Patient_LAB_ORDERS_RESULT =
'Services/Patients.svc/REST/GetPatientLabOrdersResults';
const GET_Patient_LAB_RESULT = 'Services/Patients.svc/REST/GetPatientLabResults';
const GET_Patient_LAB_ORDERS_RESULT = 'Services/Patients.svc/REST/GetPatientLabOrdersResults';
const SEND_LAB_REPORT_EMAIL = 'Services/Notifications.svc/REST/SendLabReportEmail';
///
const GET_PATIENT_ORDERS = 'Services/Patients.svc/REST/GetPatientRadOrders';
@ -253,7 +251,7 @@ const UPDATE_HEALTH_TERMS =
const CHANNEL = 3;
const GENERAL_ID = 'Cs2020@2016\$2958';
const IP_ADDRESS = '10.20.10.20';
const VERSION_ID = 5.8;
const VERSION_ID = 7.0;
const SETUP_ID = '91877';
const LANGUAGE = 2;
const PATIENT_OUT_SA = 0;
@ -393,7 +391,7 @@ class AppGlobal {
Request getPublicRequest() {
Request request = new Request();
request.VersionID = 5.6; //3.6;
request.VersionID = 7.0; //3.6;
request.Channel = 3;
request.IPAdress = "10.20.10.20";
request.generalid = 'Cs2020@2016\$2958';
@ -402,8 +400,6 @@ class AppGlobal {
request.IPAdress = IP_ADDRESS; //"10.20.10.20";
request.generalid = GENERAL_ID; //'Cs2020@2016\$2958';
request.PatientOutSA = 0;
request.SessionID = "wEVNbagIkaNhGECWZjHaA";
request.TokenID = "@dm!n";
request.isDentalAllowedBackend = false;
request.DeviceTypeID = Platform.isIOS ? 1 : 2;
request.DeviceType = Platform.isIOS ? "iOS" : "Android";

@ -13,7 +13,7 @@ class HospitalsModel {
String latitude;
String longitude;
dynamic mainProjectID;
Null projectOutSA;
bool projectOutSA;
bool usingInDoctorApp;
HospitalsModel(

@ -49,7 +49,7 @@ class BaseAppClient {
body['VersionID'] = VERSION_ID;
body['Channel'] = CHANNEL;
body['LanguageID'] = languageID == 'ar' ? 1 : 2;
body['IsDQ'] = true;
body['IPAdress'] = IP_ADDRESS;
body['generalid'] = GENERAL_ID;

@ -120,7 +120,7 @@ class LabsService extends BaseService {
_requestSendLabReportEmail.projectName = patientLabOrder.projectName;
_requestSendLabReportEmail.setupID = user.setupID;
await baseAppClient.post(SEND_LAB_RESULT_EMAIL,
await baseAppClient.post(SEND_LAB_REPORT_EMAIL,
onSuccess: (dynamic response, int statusCode) {
}, onFailure: (String error, int statusCode) {

@ -1,5 +1,5 @@
import 'dart:convert';
import 'package:barcode_scan_fix/barcode_scan.dart';
// import 'package:barcode_scan/barcode_scan.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/qr/qr_parking_model.dart';
@ -15,11 +15,11 @@ class QrViewModel extends BaseViewModel {
readQr() async {
//TODO fix the barcode scan
String result = await BarcodeScanner.scan();
var data = json.decode(result);
var qRParkingID = data['QRParkingID'];
// ScanResult result = await BarcodeScanner.scan();
// var data = json.decode(result.rawContent);
// var qRParkingID = data['QRParkingID'];
setState(ViewState.BusyLocal);
await _qrService.getQRParkingByID(qRParkingID);
// await _qrService.getQRParkingByID(qRParkingID);
if (_qrService.hasError) {
error = _qrService.error;
setState(ViewState.ErrorLocal);

@ -61,71 +61,72 @@ class AuthenticatedUser {
dynamic tempAddress;
dynamic zipCode;
dynamic isFamily;
dynamic cRSVerificationStatus;
// dynamic patientPayType;
// dynamic patientType;
// dynamic status;
AuthenticatedUser({
this.setupID,
this.patientType,
this.patientID,
this.firstName,
this.middleName,
this.lastName,
this.firstNameN,
this.middleNameN,
this.lastNameN,
this.relationshipID,
this.gender,
this.dateofBirth,
this.dateofBirthN,
this.nationalityID,
this.phoneResi,
this.phoneOffice,
this.mobileNumber,
this.faxNumber,
this.emailAddress,
this.bloodGroup,
this.rHFactor,
this.isEmailAlertRequired,
this.isSMSAlertRequired,
this.preferredLanguage,
this.isPrivilegedMember,
this.memberID,
this.expiryDate,
this.isHmgEmployee,
this.employeeID,
this.emergencyContactName,
this.emergencyContactNo,
this.patientPayType,
this.dHCCPatientRefID,
this.isPatientDummy,
this.status,
this.isStatusCleared,
this.patientIdentificationType,
this.patientIdentificationNo,
this.projectID,
this.infoSourceID,
this.address,
this.age,
this.ageDesc,
this.areaID,
this.createdBy,
this.genderDescription,
this.iR,
this.iSOCityID,
this.iSOCountryID,
this.listPrivilege,
this.marital,
this.outSA,
this.pOBox,
this.receiveHealthSummaryReport,
this.sourceType,
this.strDateofBirth,
this.tempAddress,
this.zipCode,
this.isFamily
});
AuthenticatedUser(
{this.setupID,
this.patientType,
this.patientID,
this.firstName,
this.middleName,
this.lastName,
this.firstNameN,
this.middleNameN,
this.lastNameN,
this.relationshipID,
this.gender,
this.dateofBirth,
this.dateofBirthN,
this.nationalityID,
this.phoneResi,
this.phoneOffice,
this.mobileNumber,
this.faxNumber,
this.emailAddress,
this.bloodGroup,
this.rHFactor,
this.isEmailAlertRequired,
this.isSMSAlertRequired,
this.preferredLanguage,
this.isPrivilegedMember,
this.memberID,
this.expiryDate,
this.isHmgEmployee,
this.employeeID,
this.emergencyContactName,
this.emergencyContactNo,
this.patientPayType,
this.dHCCPatientRefID,
this.isPatientDummy,
this.status,
this.isStatusCleared,
this.patientIdentificationType,
this.patientIdentificationNo,
this.projectID,
this.infoSourceID,
this.address,
this.age,
this.ageDesc,
this.areaID,
this.createdBy,
this.genderDescription,
this.iR,
this.iSOCityID,
this.iSOCountryID,
this.listPrivilege,
this.marital,
this.outSA,
this.pOBox,
this.receiveHealthSummaryReport,
this.sourceType,
this.strDateofBirth,
this.tempAddress,
this.zipCode,
this.isFamily,
this.cRSVerificationStatus});
AuthenticatedUser.fromJson(Map<String, dynamic> json) {
setupID = json['SetupID'];
@ -193,6 +194,7 @@ class AuthenticatedUser {
tempAddress = json['TempAddress'];
zipCode = json['ZipCode'];
isFamily = json['IsFamily'];
cRSVerificationStatus = json['CRSVerificationStatus'];
}
Map<String, dynamic> toJson() {
@ -259,6 +261,7 @@ class AuthenticatedUser {
data['TempAddress'] = this.tempAddress;
data['ZipCode'] = this.zipCode;
data['IsFamily'] = this.isFamily;
data['CRSVerificationStatus'] = this.cRSVerificationStatus;
return data;
}
}

@ -329,67 +329,67 @@ class List {
dynamic strDateofBirth;
dynamic tempAddress;
dynamic zipCode;
List({
this.setupID,
this.patientType,
this.patientID,
this.firstName,
this.middleName,
this.lastName,
this.firstNameN,
this.middleNameN,
this.lastNameN,
this.relationshipID,
this.gender,
this.dateofBirth,
this.dateofBirthN,
this.nationalityID,
this.phoneResi,
this.phoneOffice,
this.mobileNumber,
this.faxNumber,
this.emailAddress,
this.bloodGroup,
this.rHFactor,
this.isEmailAlertRequired,
this.isSMSAlertRequired,
this.preferredLanguage,
this.isPrivilegedMember,
this.memberID,
this.expiryDate,
this.isHmgEmployee,
this.employeeID,
this.emergencyContactName,
this.emergencyContactNo,
this.patientPayType,
this.dHCCPatientRefID,
this.isPatientDummy,
this.status,
this.isStatusCleared,
this.patientIdentificationType,
this.patientIdentificationNo,
this.projectID,
this.infoSourceID,
this.address,
this.age,
this.ageDesc,
this.areaID,
this.createdBy,
this.genderDescription,
this.iR,
this.iSOCityID,
this.iSOCountryID,
this.listPrivilege,
this.marital,
this.outSA,
this.pOBox,
this.receiveHealthSummaryReport,
this.sourceType,
this.strDateofBirth,
this.tempAddress,
this.zipCode,
});
dynamic cRSVerificationStatus;
List(
{this.setupID,
this.patientType,
this.patientID,
this.firstName,
this.middleName,
this.lastName,
this.firstNameN,
this.middleNameN,
this.lastNameN,
this.relationshipID,
this.gender,
this.dateofBirth,
this.dateofBirthN,
this.nationalityID,
this.phoneResi,
this.phoneOffice,
this.mobileNumber,
this.faxNumber,
this.emailAddress,
this.bloodGroup,
this.rHFactor,
this.isEmailAlertRequired,
this.isSMSAlertRequired,
this.preferredLanguage,
this.isPrivilegedMember,
this.memberID,
this.expiryDate,
this.isHmgEmployee,
this.employeeID,
this.emergencyContactName,
this.emergencyContactNo,
this.patientPayType,
this.dHCCPatientRefID,
this.isPatientDummy,
this.status,
this.isStatusCleared,
this.patientIdentificationType,
this.patientIdentificationNo,
this.projectID,
this.infoSourceID,
this.address,
this.age,
this.ageDesc,
this.areaID,
this.createdBy,
this.genderDescription,
this.iR,
this.iSOCityID,
this.iSOCountryID,
this.listPrivilege,
this.marital,
this.outSA,
this.pOBox,
this.receiveHealthSummaryReport,
this.sourceType,
this.strDateofBirth,
this.tempAddress,
this.zipCode,
this.cRSVerificationStatus});
List.fromJson(Map<String, dynamic> json) {
setupID = json['SetupID'];
@ -452,6 +452,7 @@ class List {
strDateofBirth = json['StrDateofBirth'];
tempAddress = json['TempAddress'];
zipCode = json['ZipCode'];
cRSVerificationStatus = json['CRSVerificationStatus'];
}
Map<String, dynamic> toJson() {
@ -516,7 +517,7 @@ class List {
data['StrDateofBirth'] = this.strDateofBirth;
data['TempAddress'] = this.tempAddress;
data['ZipCode'] = this.zipCode;
data['CRSVerificationStatus'] = this.cRSVerificationStatus;
return data;
}
}

@ -88,7 +88,7 @@ class Patientobject {
String sourceType;
String preferredLanguage;
String marital;
String eHealthIDField;
Patientobject(
{this.tempValue,
this.patientIdentificationType,
@ -96,11 +96,11 @@ class Patientobject {
this.mobileNumber,
this.patientOutSA,
this.firstName,
this.middleName,
this.lastName,
this.firstNameN,
this.middleNameN,
this.lastNameN,
this.middleName,
this.lastName,
this.firstNameN,
this.middleNameN,
this.lastNameN,
this.strDateofBirth,
this.dateofBirth,
this.gender,
@ -109,7 +109,8 @@ class Patientobject {
this.emailAddress,
this.sourceType,
this.preferredLanguage,
this.marital});
this.marital,
this.eHealthIDField});
Patientobject.fromJson(Map<String, dynamic> json) {
tempValue = json['TempValue'];
@ -133,6 +134,7 @@ class Patientobject {
preferredLanguage = json['PreferredLanguage'];
marital = json['Marital'];
eHealthIDField = json['eHealthIDField'];
}
Map<String, dynamic> toJson() {
@ -158,6 +160,7 @@ class Patientobject {
data['PreferredLanguage'] = this.preferredLanguage;
data['Marital'] = this.marital;
data['eHealthIDField'] = this.eHealthIDField;
return data;
}
}

@ -187,6 +187,7 @@ class _SearchByClinicState extends State<SearchByClinic> {
GifLoaderDialogUtils.hideDialog(context);
} else {}
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
print(err);
GifLoaderDialogUtils.hideDialog(context);
});
@ -209,6 +210,7 @@ class _SearchByClinicState extends State<SearchByClinic> {
isProjectLoaded = false;
}
}).catchError((err) {
GifLoaderDialogUtils.hideDialog(context);
print(err);
});
}

@ -34,8 +34,8 @@ class ArrivedButtons {
"caller": "insertComplaint"
},
{
"title": TranslationBase.of(AppGlobal.context).insuranceApproval,
"subtitle": TranslationBase.of(AppGlobal.context).insuranceSubtitle,
"title": TranslationBase.of(AppGlobal.context).insurance,
"subtitle": TranslationBase.of(AppGlobal.context).approvals,
"icon": "assets/images/new-design/insurance_approvals_icon.png",
"caller": "Insurance"
},

@ -1,11 +1,8 @@
import 'package:diplomaticquarterapp/core/model/ImagesInfo.dart';
import 'package:diplomaticquarterapp/core/service/insurance_service.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/pages/insurance/insurance_details.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
@ -15,9 +12,6 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
import 'insurance_card_update_details.dart';
import 'insurance_page.dart';
class InsuranceUpdate extends StatefulWidget {
@override
_InsuranceUpdateState createState() => _InsuranceUpdateState();
@ -26,13 +20,12 @@ class InsuranceUpdate extends StatefulWidget {
class _InsuranceUpdateState extends State<InsuranceUpdate>
with SingleTickerProviderStateMixin {
TabController _tabController;
List<ImagesInfo> imagesInfo = List();
InsuranceCardService _insuranceCardService = locator<InsuranceCardService>();
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
imagesInfo.add(ImagesInfo(imageEn: 'https://hmgwebservices.com/Images/MobileAppDq/imges-info/insurance-card/en/0.png',imageAr: 'https://hmgwebservices.com/Images/MobileAppDq/imges-info/insurance-card/ar/0.png'));
}
void dispose() {
@ -40,17 +33,14 @@ class _InsuranceUpdateState extends State<InsuranceUpdate>
_tabController.dispose();
}
//TODO implement update card
Widget build(BuildContext context) {
return BaseView<InsuranceViewModel>(
onModelReady: (model) => model.getInsuranceUpdated(),
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
AppScaffold(
appBarTitle: TranslationBase.of(context).insurCards,
description: TranslationBase.of(context).infoInsurCards,
infoList: TranslationBase.of(context).infoPrescriptionsPoints,
imagesInfo: imagesInfo,
isShowAppBar: true,
isShowDecPage: true,
baseViewModel: model,
body: Scaffold(
extendBodyBehindAppBar: true,
@ -111,7 +101,196 @@ class _InsuranceUpdateState extends State<InsuranceUpdate>
physics: BouncingScrollPhysics(),
controller: _tabController,
children: <Widget>[
InsurancePage(model:model),
Container(
child: model.getAllSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList.isNotEmpty
? ListView.builder(
itemCount: model.getAllSharedRecordsByStatusResponse
.getAllSharedRecordsByStatusList.length,
itemBuilder: (BuildContext context, int index) {
return model.getAllSharedRecordsByStatusResponse.getAllSharedRecordsByStatusList[index].status == 3
? Container(
margin: EdgeInsets.all(10.0),
child: Card(
margin: EdgeInsets.fromLTRB(
8.0, 16.0, 8.0, 8.0),
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.circular(10),
),
child: Container(
width:
MediaQuery.of(context).size.width,
padding: EdgeInsets.all(10.0),
child: Row(
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Expanded(
flex: 3,
child: Container(
margin: EdgeInsets.only(
top: 2.0,
left: 10.0,
right: 20.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment
.start,
children: <Widget>[
Texts(
model
.getAllSharedRecordsByStatusResponse
.getAllSharedRecordsByStatusList[
index]
.patientName,
fontSize: 14,
color: Colors.black,
fontWeight:
FontWeight.w500,
),
SizedBox(
height: 8,
),
Texts(
TranslationBase.of(
context)
.fileno +
": " +
model
.getAllSharedRecordsByStatusResponse
.getAllSharedRecordsByStatusList[
index]
.patientID
.toString(),
fontSize: 14,
color: Colors.black,
fontWeight:
FontWeight.w500,
)
],
),
),
),
if (false)
Expanded(
flex: 2,
child: Container(
margin:
EdgeInsets.only(top: 2.0),
child: Column(
children: <Widget>[
Container(
child: SecondaryButton(
label: TranslationBase
.of(context)
.fetchData,
small: true,
textColor:
Colors.white,
onTap: () {
getDetails(
model);
},
),
),
],
),
),
)
],
),
),
),
)
: Container();
})
: Container(
height: 80,
margin: EdgeInsets.all(10.0),
child: Column(
children: [
SizedBox(height: 65,),
Container(
color: Colors.white,
width: MediaQuery.of(context).size.width,
padding: EdgeInsets.all(10.0),
child: Row(
crossAxisAlignment:
CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
Expanded(
flex: 3,
child: Container(
margin: EdgeInsets.only(
top: 2.0,
left: 10.0,
right: 20.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment
.start,
children: <Widget>[
Texts(
model.user.firstName+" "+model.user.lastName,
fontSize: 14,
color: Colors.black,
fontWeight:
FontWeight.w500,
),
SizedBox(
height: 8,
),
Texts(
TranslationBase.of(
context)
.fileno +
": " +
model.user.patientID.toString(),
fontSize: 14,
color: Colors.black,
fontWeight:
FontWeight.w500,
)
],
),
),
),
if (false)
Expanded(
flex: 2,
child: Container(
margin:
EdgeInsets.only(top: 2.0),
child: Column(
children: <Widget>[
Container(
child: SecondaryButton(
label: TranslationBase
.of(context)
.fetchData,
small: true,
textColor:
Colors.white,
onTap: () {
getDetails(
model);
},
),
),
],
),
),
)
],
),
),
],
),
),
),
Container(
child: ListView.builder(
itemCount: model.insuranceUpdate == null
@ -228,5 +407,12 @@ class _InsuranceUpdateState extends State<InsuranceUpdate>
);
}
getDetails(data) {
GifLoaderDialogUtils.showMyDialog(context);
_insuranceCardService.getInsuranceDetails(data).then((value) => {
GifLoaderDialogUtils.hideDialog(context),
Navigator.push(context,
FadePage(page: InsuranceCardDetails(data: value[0]['CheckList'])))
});
}
}

@ -26,6 +26,7 @@ import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
import '../../widgets/data_display/medical/LabResult/LineChartCurved.dart';
@ -219,15 +220,31 @@ class _HomePageState extends State<HomePage> {
SizedBox(
height: 8,
),
Texts(
projectViewModel
.user.firstName +
" " +
projectViewModel
.user.lastName,
color: Colors.grey[100],
bold: true,
fontSize: 15,
Row(
children: [
Texts(
projectViewModel.user
.firstName +
" " +
projectViewModel
.user.lastName,
color: Colors.grey[100],
bold: true,
fontSize: 15,
),
projectViewModel.user
.cRSVerificationStatus ==
2
? SvgPicture.asset(
'assets/images/svg/verification_check.svg')
: projectViewModel
.user
.cRSVerificationStatus ==
3
? SvgPicture.asset(
'assets/images/svg/pending.svg')
: SizedBox()
],
),
Texts(
'${projectViewModel.user.patientID}',
@ -615,7 +632,8 @@ class _HomePageState extends State<HomePage> {
child: MedicalProfileItem(
title: TranslationBase.of(context).lab,
imagePath: 'lab_result_icon.png',
subTitle: TranslationBase.of(context).lab,
subTitle:
TranslationBase.of(context).radiologySubtitle,
),
),
),

@ -52,9 +52,9 @@ class _RegisterInfo extends State<RegisterInfo> {
String location = '1';
AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
locator<AuthenticatedUserObject>();
AppointmentRateViewModel appointmentRateViewModel =
locator<AppointmentRateViewModel>();
locator<AppointmentRateViewModel>();
ProjectViewModel projectViewModel;
@override
@ -291,36 +291,35 @@ class _RegisterInfo extends State<RegisterInfo> {
dynamic request = getTempUserRequest();
GifLoaderDialogUtils.showMyDialog(context);
this.authService.registerUser(request).then((result) => {
GifLoaderDialogUtils.hideDialog(context),
GifLoaderDialogUtils.hideDialog(context),
// userData = result.list;
//AuthenticatedUser.fromJson(result['List'][0]),
if(result is String){
new ConfirmDialog(
context: context,
confirmMessage: result,
okText: TranslationBase.of(context).ok,
cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => {
ConfirmDialog.closeAlertDialog(context)
},
cancelFunction: () => {ConfirmDialog.closeAlertDialog(context)})
.showAlertDialog(context)
}else
{
sharedPref.remove(FAMILY_FILE),
result['List'][0]['IsFamily'] = false,
sharedPref.setObject(USER_PROFILE, result['List'][0]),
this.sharedPref.setObject(MAIN_USER, result['List'][0]),
sharedPref.setObject(LOGIN_TOKEN_ID, result["LogInTokenID"]),
sharedPref.setString(TOKEN, result["AuthenticationTokenID"]),
authenticatedUserObject.isLogin = true,
appointmentRateViewModel.isLogin = true,
projectViewModel.isLogin = true,
Navigator.of(context).pushNamed(HOME),
AppToast.showSuccessToast(message: result["ErrorEndUserMessage"])
}
if (result is String)
{
new ConfirmDialog(
context: context,
confirmMessage: result,
okText: TranslationBase.of(context).ok,
cancelText: TranslationBase.of(context).cancel_nocaps,
okFunction: () => {ConfirmDialog.closeAlertDialog(context)},
cancelFunction: () => {
ConfirmDialog.closeAlertDialog(context)
}).showAlertDialog(context)
}
else
{
sharedPref.remove(FAMILY_FILE),
result['List'][0]['IsFamily'] = false,
sharedPref.setObject(USER_PROFILE, result['List'][0]),
this.sharedPref.setObject(MAIN_USER, result['List'][0]),
sharedPref.setObject(LOGIN_TOKEN_ID, result["LogInTokenID"]),
sharedPref.setString(TOKEN, result["AuthenticationTokenID"]),
authenticatedUserObject.isLogin = true,
appointmentRateViewModel.isLogin = true,
projectViewModel.isLogin = true,
Navigator.of(context).pushNamed(HOME),
AppToast.showSuccessToast(message: result["ErrorEndUserMessage"])
}
});
// .catchError((err) {
// GifLoaderDialogUtils.hideDialog(context);
@ -366,12 +365,16 @@ class _RegisterInfo extends State<RegisterInfo> {
"PatientIdentificationNo": registerInfo.idNumber,
"MobileNumber": registerd_data.patientMobileNumber,
"PatientOutSA": registerd_data.zipCode == '966' ? 0 : 1,
"FirstNameN":registerInfo.firstNameAr =='-' ?"": registerInfo.firstNameAr,
"FirstName": registerInfo.firstNameEn =='-' ?"":registerInfo.firstNameEn,
"MiddleNameN":registerInfo.secondNameAr,
"MiddleName":registerInfo.secondNameEn,
"LastNameN": registerInfo.lastNameAr =='-'? "" : registerInfo.lastNameAr,
"LastName": registerInfo.lastNameEn =='-' ? "": registerInfo.lastNameEn,
"FirstNameN":
registerInfo.firstNameAr == '-' ? "" : registerInfo.firstNameAr,
"FirstName":
registerInfo.firstNameEn == '-' ? "" : registerInfo.firstNameEn,
"MiddleNameN": registerInfo.secondNameAr,
"MiddleName": registerInfo.secondNameEn,
"LastNameN":
registerInfo.lastNameAr == '-' ? "" : registerInfo.lastNameAr,
"LastName":
registerInfo.lastNameEn == '-' ? "" : registerInfo.lastNameEn,
"StrDateofBirth": registerInfo.dateOfBirth,
"DateofBirth": DateUtil.convertISODateToJsonDate(
registerInfo.dateOfBirth.replaceAll('/', '-')),
@ -386,6 +389,7 @@ class _RegisterInfo extends State<RegisterInfo> {
: registerInfo.maritalStatusCode == 'M'
? '1'
: '2',
"eHealthIDField": registerInfo.healthId
},
"PatientIdentificationID": registerInfo.idNumber,
"PatientMobileNumber": registerd_data.patientMobileNumber,

@ -81,13 +81,10 @@ class ClinicListService extends BaseService {
request = {
"LanguageID": languageID == 'ar' ? 1 : 2,
"IPAdress": "10.20.10.20",
"VersionID": req.VersionID,
"Channel": req.Channel,
"generalid": 'Cs2020@2016\$2958',
"PatientOutSA": 0,
"TokenID": "",
"DeviceTypeID": req.DeviceTypeID,
"SessionID": null
"DeviceTypeID": req.DeviceTypeID
};
dynamic localRes;
@ -121,7 +118,7 @@ class ClinicListService extends BaseService {
"SelectedDate": "",
"SelectedTime": "",
"License": true,
"VersionID": 5.6,
"VersionID": 6.0,
"Channel": 3,
"LanguageID": languageID == 'ar' ? 1 : 2,
"IPAdress": "10.20.10.20",
@ -168,7 +165,7 @@ class ClinicListService extends BaseService {
request = {
"ChiefComplaintID": chiefComplaintID,
"ProjectID": projectID,
"VersionID": 5.6,
"VersionID": 6.0,
"Channel": 3,
"LanguageID": languageID == 'ar' ? 1 : 2,
"IPAdress": req.IPAdress,

@ -2,7 +2,7 @@ name: diplomaticquarterapp
description: A new Flutter application.
version: 1.0.4+5
version: 1.1.0+11
environment:
sdk: ">=2.6.0 <3.0.0"
@ -17,7 +17,7 @@ dependencies:
sdk: flutter
intl: ^0.16.1
# web view
webview_flutter: ^0.3.24
webview_flutter: ^1.0.7
# http client
http: ^0.12.1
connectivity: ^0.4.9+3
@ -38,7 +38,7 @@ dependencies:
giffy_dialog: ^1.8.0
# Flutter Html View
flutter_html: 1.0.2
flutter_html: 1.2.0
# Native
flutter_device_type: ^0.2.0
@ -58,7 +58,7 @@ dependencies:
feather_icons_flutter: any
eva_icons_flutter: any
font_awesome_flutter: any
cupertino_icons: ^0.1.3
cupertino_icons: ^1.0.0
# Image Attachments
image_picker: ^0.6.7+1
@ -80,10 +80,10 @@ dependencies:
# charts
charts_flutter: ^0.9.0
google_maps_flutter: ^1.0.3
google_maps_flutter: ^1.2.0
# Qr code Scanner
barcode_scan_fix: ^1.0.2
# barcode_scan: ^3.0.1
# Rating Stars
rating_bar: ^0.2.0
@ -92,7 +92,7 @@ dependencies:
table_calendar: ^2.3.0
# SVG Images
flutter_svg: ^0.18.0
flutter_svg: ^0.19.1
# Location Helper
map_launcher: ^0.8.1
@ -152,9 +152,9 @@ dependencies:
native_device_orientation: ^0.3.0
enum_to_string: ^1.0.9
# recase: ^3.0.0
wakelock: ^0.1.4
wakelock: ^0.2.1+1
after_layout: ^1.0.7
twilio_programmable_video: ^0.6.3+1
twilio_programmable_video: ^0.6.3
flutter_tts: any
vibration: ^1.7.2
speech_to_text:

Loading…
Cancel
Save