Merge branch 'master' of https://gitlab.com/Cloud_Solution/diplomatic-quarter into h20_E_referral

 Conflicts:
	lib/config/config.dart
	lib/locator.dart
	lib/pages/landing/landing_page.dart
	pubspec.yaml
merge-update-with-lab-changes
Elham Rababah 5 years ago
commit bf6a8cecc6

@ -15,7 +15,8 @@
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_CALENDAR" />
<uses-permission android:name="android.permission.WRITE_CALENDAR" />
<application
android:name="io.flutter.app.FlutterApplication"
android:icon="@mipmap/ic_launcher"
@ -55,6 +56,15 @@
</activity>
<!-- Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<action android:name="android.intent.action.MY_PACKAGE_REPLACED"/>
</intent-filter>
</receiver>
<receiver android:name="com.dexterous.flutterlocalnotifications.ScheduledNotificationReceiver" />
<meta-data
android:name="flutterEmbedding"
android:value="2" />

@ -1,11 +1,36 @@
package com.cloud.diplomaticquarterapp
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
import android.content.ContentResolver
import android.content.Context
import android.media.RingtoneManager
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterFragmentActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
class MainActivity : FlutterActivity() {
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine)
MethodChannel(flutterEngine.dartExecutor, "crossingthestreams.io/resourceResolver").setMethodCallHandler { call: MethodCall, result: MethodChannel.Result ->
if ("drawableToUri" == call.method) {
val resourceId = this@MainActivity.resources.getIdentifier(call.arguments as String, "drawable", this@MainActivity.packageName)
result.success(resourceToUriString(this@MainActivity.applicationContext, resourceId))
}
if ("getAlarmUri" == call.method) {
result.success(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM).toString())
}
}
}
companion object {
private fun resourceToUriString(context: Context, resId: Int): String {
return (ContentResolver.SCHEME_ANDROID_RESOURCE
+ "://"
+ context.resources.getResourcePackageName(resId)
+ "/"
+ context.resources.getResourceTypeName(resId)
+ "/"
+ context.resources.getResourceEntryName(resId))
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1021 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@drawable/*,@raw/slow_spring_board" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

@ -1,618 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
5A016D0DD1095D385566337C /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC606583E610E227F8186476 /* Pods_Runner.framework */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
9705A1C41CF9048500538489 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
09DDD2020D673759BD0E86B8 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
A8949DBAE70E5B302D91F1DB /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
AC606583E610E227F8186476 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
E2D9C922B5D0172FE487333D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
5A016D0DD1095D385566337C /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0A1F078D9C068A8B18DE1EDB /* Pods */ = {
isa = PBXGroup;
children = (
A8949DBAE70E5B302D91F1DB /* Pods-Runner.debug.xcconfig */,
E2D9C922B5D0172FE487333D /* Pods-Runner.release.xcconfig */,
09DDD2020D673759BD0E86B8 /* Pods-Runner.profile.xcconfig */,
);
name = Pods;
path = Pods;
sourceTree = "<group>";
};
44EDA189DE1BB86E3A41BD4A /* Frameworks */ = {
isa = PBXGroup;
children = (
AC606583E610E227F8186476 /* Pods_Runner.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
);
name = Flutter;
sourceTree = "<group>";
};
97C146E51CF9000F007C117D = {
isa = PBXGroup;
children = (
9740EEB11CF90186004384FC /* Flutter */,
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
0A1F078D9C068A8B18DE1EDB /* Pods */,
44EDA189DE1BB86E3A41BD4A /* Frameworks */,
);
sourceTree = "<group>";
};
97C146EF1CF9000F007C117D /* Products */ = {
isa = PBXGroup;
children = (
97C146EE1CF9000F007C117D /* Runner.app */,
);
name = Products;
sourceTree = "<group>";
};
97C146F01CF9000F007C117D /* Runner */ = {
isa = PBXGroup;
children = (
97C146FA1CF9000F007C117D /* Main.storyboard */,
97C146FD1CF9000F007C117D /* Assets.xcassets */,
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
97C147021CF9000F007C117D /* Info.plist */,
97C146F11CF9000F007C117D /* Supporting Files */,
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
);
path = Runner;
sourceTree = "<group>";
};
97C146F11CF9000F007C117D /* Supporting Files */ = {
isa = PBXGroup;
children = (
);
name = "Supporting Files";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
97C146ED1CF9000F007C117D /* Runner */ = {
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
B4860726BBF5BF6213BBC91C /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
72E9699567A7106FD141B9B3 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = Runner;
productName = Runner;
productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1020;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
CreatedOnToolsVersion = 7.3.1;
LastSwiftMigration = 1100;
};
};
};
buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 97C146E51CF9000F007C117D;
productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
97C146ED1CF9000F007C117D /* Runner */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
97C146EC1CF9000F007C117D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Thin Binary";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
72E9699567A7106FD141B9B3 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
"${PODS_ROOT}/../Flutter/Flutter.framework",
"${BUILT_PRODUCTS_DIR}/GoogleUtilities/GoogleUtilities.framework",
"${BUILT_PRODUCTS_DIR}/MTBBarcodeScanner/MTBBarcodeScanner.framework",
"${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework",
"${BUILT_PRODUCTS_DIR}/Protobuf/protobuf.framework",
"${BUILT_PRODUCTS_DIR}/Reachability/Reachability.framework",
"${BUILT_PRODUCTS_DIR}/SwiftProtobuf/SwiftProtobuf.framework",
"${BUILT_PRODUCTS_DIR}/TOCropViewController/TOCropViewController.framework",
"${BUILT_PRODUCTS_DIR}/barcode_scan/barcode_scan.framework",
"${BUILT_PRODUCTS_DIR}/connectivity/connectivity.framework",
"${BUILT_PRODUCTS_DIR}/device_info/device_info.framework",
"${BUILT_PRODUCTS_DIR}/flutter_flexible_toast/flutter_flexible_toast.framework",
"${BUILT_PRODUCTS_DIR}/flutter_inappwebview/flutter_inappwebview.framework",
"${BUILT_PRODUCTS_DIR}/flutter_local_notifications/flutter_local_notifications.framework",
"${BUILT_PRODUCTS_DIR}/flutter_plugin_android_lifecycle/flutter_plugin_android_lifecycle.framework",
"${BUILT_PRODUCTS_DIR}/hexcolor/hexcolor.framework",
"${BUILT_PRODUCTS_DIR}/image_cropper/image_cropper.framework",
"${BUILT_PRODUCTS_DIR}/image_picker/image_picker.framework",
"${BUILT_PRODUCTS_DIR}/local_auth/local_auth.framework",
"${BUILT_PRODUCTS_DIR}/manage_calendar_events/manage_calendar_events.framework",
"${BUILT_PRODUCTS_DIR}/map_launcher/map_launcher.framework",
"${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework",
"${BUILT_PRODUCTS_DIR}/shared_preferences/shared_preferences.framework",
"${BUILT_PRODUCTS_DIR}/url_launcher/url_launcher.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Flutter.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/GoogleUtilities.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MTBBarcodeScanner.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/protobuf.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Reachability.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftProtobuf.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/TOCropViewController.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/barcode_scan.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/connectivity.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/device_info.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_flexible_toast.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_inappwebview.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_local_notifications.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/flutter_plugin_android_lifecycle.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/hexcolor.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_cropper.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/image_picker.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/local_auth.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/manage_calendar_events.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/map_launcher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/shared_preferences.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/url_launcher.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
B4860726BBF5BF6213BBC91C /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-Runner-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
97C146EA1CF9000F007C117D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
97C146FA1CF9000F007C117D /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C146FB1CF9000F007C117D /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
97C147001CF9000F007C117D /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Profile;
};
249021D4217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.cloud.diplomaticquarterapp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
TARGETED_DEVICE_FAMILY = "1,2";
VALIDATE_PRODUCT = YES;
};
name = Release;
};
97C147061CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.cloud.diplomaticquarterapp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
};
97C147071CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
PRODUCT_BUNDLE_IDENTIFIER = com.cloud.diplomaticquarterapp;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147031CF9000F007C117D /* Debug */,
97C147041CF9000F007C117D /* Release */,
249021D3217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
isa = XCConfigurationList;
buildConfigurations = (
97C147061CF9000F007C117D /* Debug */,
97C147071CF9000F007C117D /* Release */,
249021D4217E4FDB00AE95B9 /* Profile */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 97C146E61CF9000F007C117D /* Project object */;
}

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
</Workspace>

@ -1,8 +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>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -1,8 +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>PreviewsEnabled</key>
<false/>
</dict>
</plist>

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1020"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Profile"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "97C146ED1CF9000F007C117D"
BuildableName = "Runner.app"
BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:Runner.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

@ -1,8 +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>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

@ -1,8 +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>PreviewsEnabled</key>
<false/>
</dict>
</plist>

@ -1,13 +0,0 @@
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}

@ -22,6 +22,8 @@
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCalendarsUsageDescription</key>
<string>We Need to access the calender to add reminder for you</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>

@ -1 +0,0 @@
#import "GeneratedPluginRegistrant.h"

@ -6,7 +6,7 @@ import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';
const MAX_SMALL_SCREEN = 660;
const BASE_URL = 'https://hmgwebservices.com/';
const BASE_URL = 'https://uat.hmgwebservices.com/';
const GET_PROJECT = 'Services/Lists.svc/REST/GetProject';
@ -177,7 +177,7 @@ const CHANNEL = 3;
const GENERAL_ID = 'Cs2020@2016\$2958';
const IP_ADDRESS = '10.20.10.20';
const VERSION_ID = 5.6;
const SETUP_ID = '91877';
const SETUP_ID = '91877';
const LANGUAGE = 2;
const PATIENT_OUT_SA = 0;
const SESSION_ID = 'TMRhVmkGhOsvamErw';
@ -211,6 +211,33 @@ const GET_PATIENT_INFO_BY_ID_AND_MOBILE_NUMBER = 'Services/Patients.svc/REST/AP_
const SEND_ACTIVATION_CODE_FOR_ADVANCE_PAYMENT = 'Services/Authentication.svc/REST/SendActivationCodeForAdvancePayment';
const CHECK_ACTIVATION_CODE_FOR_ADVANCE_PAYMENT = 'Services/Authentication.svc/REST/CheckActivationCodeForAdvancePayment';
///My Trackers
const GET_DIABETIC_RESULT_AVERAGE='Services/Patients.svc/REST/Patient_GetDiabeticResultAverage';
const GET_DIABTEC_RESULT='Services/Patients.svc/REST/Patient_GetDiabtecResults';
const ADD_DIABTEC_RESULT='Services/Patients.svc/REST/Patient_AddDiabtecResult';
const GET_BLOOD_PRESSURE_RESULT_AVERAGE='Services/Patients.svc/REST/Patient_GetBloodPressureResultAverage';
const GET_BLOOD_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_GetBloodPressureResult';
const ADD_BLOOD_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_AddBloodPressureResult';
const GET_WEIGHT_PRESSURE_RESULT_AVERAGE='Services/Patients.svc/REST/Patient_GetWeightMeasurementResultAverage';
const GET_WEIGHT_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_GetWeightMeasurementResult';
const ADD_WEIGHT_PRESSURE_RESULT='Services/Patients.svc/REST/Patient_AddWeightMeasurementResult';
const ADD_ACTIVE_PRESCRIPTIONS_REPORT_BY_PATIENT_ID='Services/Patients.svc/Rest/GetActivePrescriptionReportByPatientID';
const GET_CALL_INFO_HOURS_RESULT = 'Services/Doctors.svc/REST/GetCallInfoHoursResult';
const GET_CALL_REQUEST_TYPE_LOV = 'Services/Doctors.svc/REST/GetCallRequestType_LOV';
const GET_DOCTOR_RESPONSE = 'Services/Patients.svc/REST/GetDoctorResponse';
const UPDATE_READ_STATUS = 'Services/Patients.svc/REST/UpdateReadStatus';
const INSERT_CALL_INFO = 'Services/Doctors.svc/REST/InsertCallInfo';
const GET_PATIENT_ALLERGIES = 'Services/Patients.svc/REST/GetPatientAllergies';
// H2O

@ -430,7 +430,7 @@ const Map<String, Map<String, String>> localizedValues = {
"UpdateInsuranceSubtitle": {"en": "Card", "ar": "التأمين"},
"InsuranceApproval": {"en": "Insurance Approval", "ar": "موافقات"},
"InsuranceApprovalSubtitle": {"en": "Approvals", "ar": "موافقات التأمين"},
"Allergies": {"en": "Approvals", "ar": "الحساسية"},
"Allergies": {"en": "Allergies", "ar": "الحساسية"},
"AllergiesSubtitle": {"en": "Diagnosed", "ar": "مسجلة"},
"MyVaccines": {"en": "My Vaccines", "ar": "تطعيماتي"},
"MyVaccinesSubtitle": {"en": "List", "ar": "قائمة"},
@ -534,4 +534,38 @@ const Map<String, Map<String, String>> localizedValues = {
"en": "Please enter the verification code send to",
"ar": "الرجاء إدخال رمز التحقق المرسل إلى"
},
"EyeMeasurements":{"en":"Eye Measurements","ar":"قياسات النظر"},
"Measurements":{"en":"Measurements","ar":"قياسات"},
"Classes":{"en":"Classes","ar":"نظارات"},
"ContactLens":{"en":"Contact Lens","ar":"العدسات اللاصقة"},
"RightEye":{"en":"Right Eye","ar":"العين اليمين"},
"Sphere":{"en":"Sphere","ar":"القوة"},
"Cylinder":{"en":"Cylinder","ar":"الدائرية"},
"Axis":{"en":"Axis","ar":"المحاور"},
"Prism":{"en":"Prism","ar":"موشور"},
"VA":{"en":"Prism","ar":"المحاور"},
"LeftEye":{"en":"Left Eye","ar":"العين اليسرى"},
"Brand":{"en":"Brand","ar":"النوع"},
"Power":{"en":"Power","ar":"القوة"},
"Diameter":{"en":"Diameter","ar":"القطر"},
"Remarks":{"en":"Remarks","ar":"ملاحضات"},
"ActiveMedications":{"en":"Active Medications","ar":"ادويتي النشطة"},
"ExpDate":{"en":"Active Exp Date :","VA":"تاريخ الإنتهاء"},
"Route":{"en":"Route :","ar":"الطريقة"},
"Frequency":{"en":"Frequency :","ar":"المعدل"},
"DailyQuantity":{"en":"Daily Quantity :","ar":"جرعات يومية"},
"AddReminder":{"en":"Add Reminder","ar":"إضافة تذكير"},
"reminderDes":{"en":"Please select treatment start day and time to be notified when it\'s time to take the medicine","ar":" يرجى تحديد يوم بدء العلاج والوقت ليتم ارسال تنبيه عندما يحين الوقت لتناول الدواء"},
"StartDay":{"en":"Start Day","ar":"يوم البداية"},
"EndDay":{"en":"End Day","ar":"يوم الانتهاء"},
"Days":{"en":"Days ","ar":"أيام"},
"ScheduleTime":{"en":"Schedule time","ar":"الجدول الزمني"},
"AskDoctor":{"en":"Ask Doctor","ar":"اسأل طبيبك"},
"DoctorResponses":{"en":"Doctor Responses","ar":"ردود الأطباء"},
"New":{"en":"New","ar":"جديد"},
"All":{"en":"All","ar":"الكل"},
"QuestionHere":{"en":"Enter the question here...","ar":"اضف الاستفسار هنا"},
"ViewDoctorResponses":{"en":"View Doctor Responses","ar":"الاطلاع على ردود الأطباء"},
};

@ -0,0 +1,48 @@
class Allergy {
int patientID;
int allergyDiseaseType;
int allergyDiseaseID;
String description;
dynamic descriptionN;
dynamic remarks;
dynamic avgDoctorRatingList;
dynamic doctorRatingDetailsList;
dynamic notesDoctorRatingList;
Allergy(
{this.patientID,
this.allergyDiseaseType,
this.allergyDiseaseID,
this.description,
this.descriptionN,
this.remarks,
this.avgDoctorRatingList,
this.doctorRatingDetailsList,
this.notesDoctorRatingList});
Allergy.fromJson(Map<String, dynamic> json) {
patientID = json['PatientID'];
allergyDiseaseType = json['AllergyDiseaseType'];
allergyDiseaseID = json['AllergyDiseaseID'];
description = json['Description'];
descriptionN = json['DescriptionN'];
remarks = json['Remarks'];
avgDoctorRatingList = json['AvgDoctorRatingList'];
doctorRatingDetailsList = json['DoctorRatingDetailsList'];
notesDoctorRatingList = json['NotesDoctorRatingList'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientID'] = this.patientID;
data['AllergyDiseaseType'] = this.allergyDiseaseType;
data['AllergyDiseaseID'] = this.allergyDiseaseID;
data['Description'] = this.description;
data['DescriptionN'] = this.descriptionN;
data['Remarks'] = this.remarks;
data['AvgDoctorRatingList'] = this.avgDoctorRatingList;
data['DoctorRatingDetailsList'] = this.doctorRatingDetailsList;
data['NotesDoctorRatingList'] = this.notesDoctorRatingList;
return data;
}
}

@ -0,0 +1,146 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class ActivePrescriptionReport {
dynamic address;
int appointmentNo;
dynamic clinic;
dynamic companyName;
int days;
dynamic doctorName;
int doseDailyQuantity;
String frequency;
int frequencyNumber;
List<int> image;
String imageExtension;
dynamic imageSRCUrl;
String imageString;
dynamic imageThumbUrl;
dynamic isCovered;
String itemDescription;
int itemID;
DateTime orderDate;
int patientID;
dynamic patientName;
dynamic phoneOffice1;
dynamic prescriptionQR;
int prescriptionTimes;
dynamic productImage;
String productImageBase64;
String productImageString;
int projectID;
dynamic projectName;
dynamic remarks;
String route;
String sKU;
int scaleOffset;
DateTime startDate;
ActivePrescriptionReport(
{this.address,
this.appointmentNo,
this.clinic,
this.companyName,
this.days,
this.doctorName,
this.doseDailyQuantity,
this.frequency,
this.frequencyNumber,
this.image,
this.imageExtension,
this.imageSRCUrl,
this.imageString,
this.imageThumbUrl,
this.isCovered,
this.itemDescription,
this.itemID,
this.orderDate,
this.patientID,
this.patientName,
this.phoneOffice1,
this.prescriptionQR,
this.prescriptionTimes,
this.productImage,
this.productImageBase64,
this.productImageString,
this.projectID,
this.projectName,
this.remarks,
this.route,
this.sKU,
this.scaleOffset,
this.startDate});
ActivePrescriptionReport.fromJson(Map<String, dynamic> json) {
address = json['Address'];
appointmentNo = json['AppointmentNo'];
clinic = json['Clinic'];
companyName = json['CompanyName'];
days = json['Days'];
doctorName = json['DoctorName'];
doseDailyQuantity = json['DoseDailyQuantity'];
frequency = json['Frequency'];
frequencyNumber = json['FrequencyNumber'];
image = json['Image'].cast<int>();
imageExtension = json['ImageExtension'];
imageSRCUrl = json['ImageSRCUrl'];
imageString = json['ImageString'];
imageThumbUrl = json['ImageThumbUrl'];
isCovered = json['IsCovered'];
itemDescription = json['ItemDescription'];
itemID = json['ItemID'];
orderDate = DateUtil.convertStringToDate(json['OrderDate']);
patientID = json['PatientID'];
patientName = json['PatientName'];
phoneOffice1 = json['PhoneOffice1'];
prescriptionQR = json['PrescriptionQR'];
prescriptionTimes = json['PrescriptionTimes'];
productImage = json['ProductImage'];
productImageBase64 = json['ProductImageBase64'];
productImageString = json['ProductImageString'];
projectID = json['ProjectID'];
projectName = json['ProjectName'];
remarks = json['Remarks'];
route = json['Route'];
sKU = json['SKU'];
scaleOffset = json['ScaleOffset'];
startDate = DateUtil.convertStringToDate(json['StartDate']);
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['Address'] = this.address;
data['AppointmentNo'] = this.appointmentNo;
data['Clinic'] = this.clinic;
data['CompanyName'] = this.companyName;
data['Days'] = this.days;
data['DoctorName'] = this.doctorName;
data['DoseDailyQuantity'] = this.doseDailyQuantity;
data['Frequency'] = this.frequency;
data['FrequencyNumber'] = this.frequencyNumber;
data['Image'] = this.image;
data['ImageExtension'] = this.imageExtension;
data['ImageSRCUrl'] = this.imageSRCUrl;
data['ImageString'] = this.imageString;
data['ImageThumbUrl'] = this.imageThumbUrl;
data['IsCovered'] = this.isCovered;
data['ItemDescription'] = this.itemDescription;
data['ItemID'] = this.itemID;
data['OrderDate'] = this.orderDate;
data['PatientID'] = this.patientID;
data['PatientName'] = this.patientName;
data['PhoneOffice1'] = this.phoneOffice1;
data['PrescriptionQR'] = this.prescriptionQR;
data['PrescriptionTimes'] = this.prescriptionTimes;
data['ProductImage'] = this.productImage;
data['ProductImageBase64'] = this.productImageBase64;
data['ProductImageString'] = this.productImageString;
data['ProjectID'] = this.projectID;
data['ProjectName'] = this.projectName;
data['Remarks'] = this.remarks;
data['Route'] = this.route;
data['SKU'] = this.sKU;
data['ScaleOffset'] = this.scaleOffset;
data['StartDate'] = this.startDate;
return data;
}
}

@ -0,0 +1,92 @@
class AskDoctorReqTypes {
dynamic setupID;
int parameterGroup;
int parameterType;
int parameterCode;
String description;
dynamic descriptionN;
dynamic alias;
dynamic aliasN;
dynamic prefix;
dynamic suffix;
dynamic isColorCodingRequired;
dynamic backColor;
dynamic foreColor;
bool isBuiltIn;
bool isActive;
int createdBy;
String createdOn;
dynamic editedBy;
dynamic editedOn;
dynamic rowVer;
AskDoctorReqTypes(
{this.setupID,
this.parameterGroup,
this.parameterType,
this.parameterCode,
this.description,
this.descriptionN,
this.alias,
this.aliasN,
this.prefix,
this.suffix,
this.isColorCodingRequired,
this.backColor,
this.foreColor,
this.isBuiltIn,
this.isActive,
this.createdBy,
this.createdOn,
this.editedBy,
this.editedOn,
this.rowVer});
AskDoctorReqTypes.fromJson(Map<String, dynamic> json) {
setupID = json['SetupID'];
parameterGroup = json['ParameterGroup'];
parameterType = json['ParameterType'];
parameterCode = json['ParameterCode'];
description = json['Description'];
descriptionN = json['DescriptionN'];
alias = json['Alias'];
aliasN = json['AliasN'];
prefix = json['Prefix'];
suffix = json['Suffix'];
isColorCodingRequired = json['IsColorCodingRequired'];
backColor = json['BackColor'];
foreColor = json['ForeColor'];
isBuiltIn = json['IsBuiltIn'];
isActive = json['IsActive'];
createdBy = json['CreatedBy'];
createdOn = json['CreatedOn'];
editedBy = json['EditedBy'];
editedOn = json['EditedOn'];
rowVer = json['RowVer'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['SetupID'] = this.setupID;
data['ParameterGroup'] = this.parameterGroup;
data['ParameterType'] = this.parameterType;
data['ParameterCode'] = this.parameterCode;
data['Description'] = this.description;
data['DescriptionN'] = this.descriptionN;
data['Alias'] = this.alias;
data['AliasN'] = this.aliasN;
data['Prefix'] = this.prefix;
data['Suffix'] = this.suffix;
data['IsColorCodingRequired'] = this.isColorCodingRequired;
data['BackColor'] = this.backColor;
data['ForeColor'] = this.foreColor;
data['IsBuiltIn'] = this.isBuiltIn;
data['IsActive'] = this.isActive;
data['CreatedBy'] = this.createdBy;
data['CreatedOn'] = this.createdOn;
data['EditedBy'] = this.editedBy;
data['EditedOn'] = this.editedOn;
data['RowVer'] = this.rowVer;
return data;
}
}

@ -0,0 +1,76 @@
class DoctorResponse {
int projectID;
int transactionNo;
int patientID;
int doctorID;
int requestType;
String requestTypeDescription;
dynamic requestTypeDescriptionN;
int status;
String remarks;
String createdOn;
dynamic readStatus;
String doctorName;
bool isDoctorRespond;
bool isPatientRead;
List<dynamic> transactions;
DoctorResponse(
{this.projectID,
this.transactionNo,
this.patientID,
this.doctorID,
this.requestType,
this.requestTypeDescription,
this.requestTypeDescriptionN,
this.status,
this.remarks,
this.createdOn,
this.readStatus,
this.doctorName,
this.isDoctorRespond,
this.isPatientRead,
this.transactions});
DoctorResponse.fromJson(Map<String, dynamic> json) {
projectID = json['ProjectID'];
transactionNo = json['TransactionNo'];
patientID = json['PatientID'];
doctorID = json['DoctorID'];
requestType = json['RequestType'];
requestTypeDescription = json['RequestTypeDescription'];
requestTypeDescriptionN = json['RequestTypeDescriptionN'];
status = json['Status'];
remarks = json['Remarks'];
createdOn = json['CreatedOn'];
readStatus = json['ReadStatus'];
doctorName = json['DoctorName'];
isDoctorRespond = json['IsDoctorRespond'];
isPatientRead = json['IsPatientRead'];
if (json['Transactions'] != null) {
transactions = json['Transactions'];
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ProjectID'] = this.projectID;
data['TransactionNo'] = this.transactionNo;
data['PatientID'] = this.patientID;
data['DoctorID'] = this.doctorID;
data['RequestType'] = this.requestType;
data['RequestTypeDescription'] = this.requestTypeDescription;
data['RequestTypeDescriptionN'] = this.requestTypeDescriptionN;
data['Status'] = this.status;
data['Remarks'] = this.remarks;
data['CreatedOn'] = this.createdOn;
data['ReadStatus'] = this.readStatus;
data['DoctorName'] = this.doctorName;
data['IsDoctorRespond'] = this.isDoctorRespond;
data['IsPatientRead'] = this.isPatientRead;
if (this.transactions != null) {
data['Transactions'] = this.transactions.map((v) => v.toJson()).toList();
}
return data;
}
}

@ -0,0 +1,497 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class AppoimentAllHistoryResultList {
String setupID;
int projectID;
int appointmentNo;
String appointmentDate;
Null appointmentDateN;
int appointmentType;
DateTime bookDate;
dynamic patientType;
int patientID;
dynamic clinicID;
int doctorID;
String endDate;
String startTime;
String endTime;
dynamic status;
dynamic visitType;
int visitFor;
int patientStatusType;
int companyID;
int bookedBy;
String bookedOn;
int confirmedBy;
String confirmedOn;
int arrivalChangedBy;
String arrivedOn;
Null editedBy;
Null editedOn;
Null doctorName;
Null doctorNameN;
String statusDesc;
Null statusDescN;
bool vitalStatus;
Null vitalSignAppointmentNo;
int episodeID;
int actualDoctorRate;
String clinicName;
bool complainExists;
String doctorImageURL;
String doctorNameObj;
int doctorRate;
List<String> doctorSpeciality;
String doctorTitle;
int gender;
String genderDescription;
bool iSAllowOnlineCheckedIN;
bool isActiveDoctor;
bool isActiveDoctorProfile;
bool isDoctorAllowVedioCall;
bool isExecludeDoctor;
int isFollowup;
bool isLiveCareAppointment;
bool isMedicalReportRequested;
bool isOnlineCheckedIN;
String latitude;
List<ListHISGetContactLensPerscription> listHISGetContactLensPerscription;
List<ListHISGetGlassPerscription> listHISGetGlassPerscription;
String longitude;
int nextAction;
int noOfPatientsRate;
int originalClinicID;
int originalProjectID;
String projectName;
String qR;
int remaniningHoursTocanPay;
bool sMSButtonVisable;
AppoimentAllHistoryResultList(
{this.setupID,
this.projectID,
this.appointmentNo,
this.appointmentDate,
this.appointmentDateN,
this.appointmentType,
this.bookDate,
this.patientID,
this.doctorID,
this.endDate,
this.startTime,
this.endTime,
this.status,
this.visitFor,
this.patientStatusType,
this.companyID,
this.bookedBy,
this.bookedOn,
this.confirmedBy,
this.confirmedOn,
this.arrivalChangedBy,
this.arrivedOn,
this.editedBy,
this.editedOn,
this.doctorName,
this.doctorNameN,
this.statusDesc,
this.statusDescN,
this.vitalStatus,
this.vitalSignAppointmentNo,
this.episodeID,
this.actualDoctorRate,
this.clinicName,
this.complainExists,
this.doctorImageURL,
this.doctorNameObj,
this.doctorRate,
this.doctorSpeciality,
this.doctorTitle,
this.gender,
this.genderDescription,
this.iSAllowOnlineCheckedIN,
this.isActiveDoctor,
this.isActiveDoctorProfile,
this.isDoctorAllowVedioCall,
this.isExecludeDoctor,
this.isFollowup,
this.isLiveCareAppointment,
this.isMedicalReportRequested,
this.isOnlineCheckedIN,
this.latitude,
this.listHISGetContactLensPerscription,
this.listHISGetGlassPerscription,
this.longitude,
this.nextAction,
this.noOfPatientsRate,
this.originalClinicID,
this.originalProjectID,
this.projectName,
this.qR,
this.remaniningHoursTocanPay,
this.sMSButtonVisable,
this.clinicID,
this.patientType,
this.visitType});
AppoimentAllHistoryResultList.fromJson(Map<String, dynamic> json) {
setupID = json['SetupID'];
projectID = json['ProjectID'];
appointmentNo = json['AppointmentNo'];
appointmentDate = json['AppointmentDate'];
appointmentDateN = json['AppointmentDateN'];
appointmentType = json['AppointmentType'];
bookDate = DateUtil.convertStringToDate(json['BookDate']);
patientType = json['PatientType'];
patientID = json['PatientID'];
clinicID = json['ClinicID'];
doctorID = json['DoctorID'];
endDate = json['EndDate'];
startTime = json['StartTime'];
endTime = json['EndTime'];
status = json['Status'];
visitType = json['VisitType'];
visitFor = json['VisitFor'];
patientStatusType = json['PatientStatusType'];
companyID = json['CompanyID'];
bookedBy = json['BookedBy'];
bookedOn = json['BookedOn'];
confirmedBy = json['ConfirmedBy'];
confirmedOn = json['ConfirmedOn'];
arrivalChangedBy = json['ArrivalChangedBy'];
arrivedOn = json['ArrivedOn'];
editedBy = json['EditedBy'];
editedOn = json['EditedOn'];
doctorName = json['DoctorName'];
doctorNameN = json['DoctorNameN'];
statusDesc = json['StatusDesc'];
statusDescN = json['StatusDescN'];
vitalStatus = json['VitalStatus'];
vitalSignAppointmentNo = json['VitalSignAppointmentNo'];
episodeID = json['EpisodeID'];
actualDoctorRate = json['ActualDoctorRate'];
clinicName = json['ClinicName'];
complainExists = json['ComplainExists'];
doctorImageURL = json['DoctorImageURL'];
doctorNameObj = json['DoctorNameObj'];
doctorRate = json['DoctorRate'];
// doctorSpeciality = json['DoctorSpeciality'].cast<String>();
doctorTitle = json['DoctorTitle'];
gender = json['Gender'];
genderDescription = json['GenderDescription'];
iSAllowOnlineCheckedIN = json['ISAllowOnlineCheckedIN'];
isActiveDoctor = json['IsActiveDoctor'];
isActiveDoctorProfile = json['IsActiveDoctorProfile'];
isDoctorAllowVedioCall = json['IsDoctorAllowVedioCall'];
isExecludeDoctor = json['IsExecludeDoctor'];
isFollowup = json['IsFollowup'];
isLiveCareAppointment = json['IsLiveCareAppointment'];
isMedicalReportRequested = json['IsMedicalReportRequested'];
isOnlineCheckedIN = json['IsOnlineCheckedIN'];
latitude = json['Latitude'];
if (json['List_HIS_GetContactLensPerscription'] != null) {
listHISGetContactLensPerscription =
new List<ListHISGetContactLensPerscription>();
json['List_HIS_GetContactLensPerscription'].forEach((v) {
listHISGetContactLensPerscription
.add(new ListHISGetContactLensPerscription.fromJson(v));
});
}
if (json['List_HIS_GetGlassPerscription'] != null) {
listHISGetGlassPerscription = new List<ListHISGetGlassPerscription>();
json['List_HIS_GetGlassPerscription'].forEach((v) {
listHISGetGlassPerscription
.add(new ListHISGetGlassPerscription.fromJson(v));
});
}
longitude = json['Longitude'];
nextAction = json['NextAction'];
noOfPatientsRate = json['NoOfPatientsRate'];
originalClinicID = json['OriginalClinicID'];
originalProjectID = json['OriginalProjectID'];
projectName = json['ProjectName'];
qR = json['QR'];
remaniningHoursTocanPay = json['RemaniningHoursTocanPay'];
sMSButtonVisable = json['SMSButtonVisable'];
clinicID = json['clinicID'];
patientType = json['patientType'];
status = json['status'];
visitType = json['visitType'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['SetupID'] = this.setupID;
data['ProjectID'] = this.projectID;
data['AppointmentNo'] = this.appointmentNo;
data['AppointmentDate'] = this.appointmentDate;
data['AppointmentDateN'] = this.appointmentDateN;
data['AppointmentType'] = this.appointmentType;
data['BookDate'] = this.bookDate;
data['PatientType'] = this.patientType;
data['PatientID'] = this.patientID;
data['ClinicID'] = this.clinicID;
data['DoctorID'] = this.doctorID;
data['EndDate'] = this.endDate;
data['StartTime'] = this.startTime;
data['EndTime'] = this.endTime;
data['Status'] = this.status;
data['VisitType'] = this.visitType;
data['VisitFor'] = this.visitFor;
data['PatientStatusType'] = this.patientStatusType;
data['CompanyID'] = this.companyID;
data['BookedBy'] = this.bookedBy;
data['BookedOn'] = this.bookedOn;
data['ConfirmedBy'] = this.confirmedBy;
data['ConfirmedOn'] = this.confirmedOn;
data['ArrivalChangedBy'] = this.arrivalChangedBy;
data['ArrivedOn'] = this.arrivedOn;
data['EditedBy'] = this.editedBy;
data['EditedOn'] = this.editedOn;
data['DoctorName'] = this.doctorName;
data['DoctorNameN'] = this.doctorNameN;
data['StatusDesc'] = this.statusDesc;
data['StatusDescN'] = this.statusDescN;
data['VitalStatus'] = this.vitalStatus;
data['VitalSignAppointmentNo'] = this.vitalSignAppointmentNo;
data['EpisodeID'] = this.episodeID;
data['ActualDoctorRate'] = this.actualDoctorRate;
data['ClinicName'] = this.clinicName;
data['ComplainExists'] = this.complainExists;
data['DoctorImageURL'] = this.doctorImageURL;
data['DoctorNameObj'] = this.doctorNameObj;
data['DoctorRate'] = this.doctorRate;
data['DoctorSpeciality'] = this.doctorSpeciality;
data['DoctorTitle'] = this.doctorTitle;
data['Gender'] = this.gender;
data['GenderDescription'] = this.genderDescription;
data['ISAllowOnlineCheckedIN'] = this.iSAllowOnlineCheckedIN;
data['IsActiveDoctor'] = this.isActiveDoctor;
data['IsActiveDoctorProfile'] = this.isActiveDoctorProfile;
data['IsDoctorAllowVedioCall'] = this.isDoctorAllowVedioCall;
data['IsExecludeDoctor'] = this.isExecludeDoctor;
data['IsFollowup'] = this.isFollowup;
data['IsLiveCareAppointment'] = this.isLiveCareAppointment;
data['IsMedicalReportRequested'] = this.isMedicalReportRequested;
data['IsOnlineCheckedIN'] = this.isOnlineCheckedIN;
data['Latitude'] = this.latitude;
if (this.listHISGetContactLensPerscription != null) {
data['List_HIS_GetContactLensPerscription'] = this
.listHISGetContactLensPerscription
.map((v) => v.toJson())
.toList();
}
if (this.listHISGetGlassPerscription != null) {
data['List_HIS_GetGlassPerscription'] =
this.listHISGetGlassPerscription.map((v) => v.toJson()).toList();
}
data['Longitude'] = this.longitude;
data['NextAction'] = this.nextAction;
data['NoOfPatientsRate'] = this.noOfPatientsRate;
data['OriginalClinicID'] = this.originalClinicID;
data['OriginalProjectID'] = this.originalProjectID;
data['ProjectName'] = this.projectName;
data['QR'] = this.qR;
data['RemaniningHoursTocanPay'] = this.remaniningHoursTocanPay;
data['SMSButtonVisable'] = this.sMSButtonVisable;
data['clinicID'] = this.clinicID;
data['patientType'] = this.patientType;
data['status'] = this.status;
data['visitType'] = this.visitType;
return data;
}
}
class ListHISGetContactLensPerscription {
String setupId;
int projectId;
int patientType;
int patientId;
int encounterType;
int encounterNo;
int oDOS;
dynamic brand;
dynamic baseCurve;
dynamic power;
dynamic diameter;
dynamic oZ;
dynamic cT;
dynamic blend;
String remarks;
int status;
bool isActive;
String createdOn;
ListHISGetContactLensPerscription(
{this.setupId,
this.projectId,
this.patientType,
this.patientId,
this.encounterType,
this.encounterNo,
this.oDOS,
this.brand,
this.baseCurve,
this.power,
this.diameter,
this.oZ,
this.cT,
this.blend,
this.remarks,
this.status,
this.isActive,
this.createdOn});
ListHISGetContactLensPerscription.fromJson(Map<String, dynamic> json) {
setupId = json['SetupId'];
projectId = json['ProjectId'];
patientType = json['PatientType'];
patientId = json['PatientId'];
encounterType = json['EncounterType'];
encounterNo = json['EncounterNo'];
oDOS = json['OD_OS'];
brand = json['Brand'];
baseCurve = json['BaseCurve'];
power = json['Power'];
diameter = json['Diameter'];
oZ = json['OZ'];
cT = json['CT'];
blend = json['Blend'];
remarks = json['Remarks'];
status = json['Status'];
isActive = json['IsActive'];
createdOn = json['CreatedOn'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['SetupId'] = this.setupId;
data['ProjectId'] = this.projectId;
data['PatientType'] = this.patientType;
data['PatientId'] = this.patientId;
data['EncounterType'] = this.encounterType;
data['EncounterNo'] = this.encounterNo;
data['OD_OS'] = this.oDOS;
data['Brand'] = this.brand;
data['BaseCurve'] = this.baseCurve;
data['Power'] = this.power;
data['Diameter'] = this.diameter;
data['OZ'] = this.oZ;
data['CT'] = this.cT;
data['Blend'] = this.blend;
data['Remarks'] = this.remarks;
data['Status'] = this.status;
data['IsActive'] = this.isActive;
data['CreatedOn'] = this.createdOn;
return data;
}
}
class ListHISGetGlassPerscription {
dynamic projectID;
String setupID;
dynamic patientId;
dynamic encounterType;
dynamic encounterNo;
String visionType;
double rightEyeSpherical;
dynamic rightEyeCylinder;
dynamic rightEyeAxis;
dynamic rightEyePrism;
dynamic rightEyeVA;
String rightEyeRemarks;
dynamic leftEyeSpherical;
dynamic leftEyeCylinder;
dynamic leftEyeAxis;
dynamic leftEyePrism;
dynamic leftEyeVA;
String leftEyeRemarks;
dynamic pD;
dynamic bVD;
dynamic status;
bool isActive;
String createdOn;
ListHISGetGlassPerscription(
{this.projectID,
this.setupID,
this.patientId,
this.encounterType,
this.encounterNo,
this.visionType,
this.rightEyeSpherical,
this.rightEyeCylinder,
this.rightEyeAxis,
this.rightEyePrism,
this.rightEyeVA,
this.rightEyeRemarks,
this.leftEyeSpherical,
this.leftEyeCylinder,
this.leftEyeAxis,
this.leftEyePrism,
this.leftEyeVA,
this.leftEyeRemarks,
this.pD,
this.bVD,
this.status,
this.isActive,
this.createdOn});
ListHISGetGlassPerscription.fromJson(Map<String, dynamic> json) {
projectID = json['ProjectID'];
setupID = json['SetupID'];
patientId = json['PatientId'];
encounterType = json['EncounterType'];
encounterNo = json['EncounterNo'];
visionType = json['VisionType'];
rightEyeSpherical = json['RightEyeSpherical'];
rightEyeCylinder = json['RightEyeCylinder'];
rightEyeAxis = json['RightEyeAxis'];
rightEyePrism = json['RightEyePrism'];
rightEyeVA = json['RightEyeVA'];
rightEyeRemarks = json['RightEyeRemarks'];
leftEyeSpherical = json['LeftEyeSpherical'];
leftEyeCylinder = json['LeftEyeCylinder'];
leftEyeAxis = json['LeftEyeAxis'];
leftEyePrism = json['LeftEyePrism'];
leftEyeVA = json['LeftEyeVA'];
leftEyeRemarks = json['LeftEyeRemarks'];
pD = json['PD'];
bVD = json['BVD'];
status = json['Status'];
isActive = json['IsActive'];
createdOn = json['CreatedOn'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ProjectID'] = this.projectID;
data['SetupID'] = this.setupID;
data['PatientId'] = this.patientId;
data['EncounterType'] = this.encounterType;
data['EncounterNo'] = this.encounterNo;
data['VisionType'] = this.visionType;
data['RightEyeSpherical'] = this.rightEyeSpherical;
data['RightEyeCylinder'] = this.rightEyeCylinder;
data['RightEyeAxis'] = this.rightEyeAxis;
data['RightEyePrism'] = this.rightEyePrism;
data['RightEyeVA'] = this.rightEyeVA;
data['RightEyeRemarks'] = this.rightEyeRemarks;
data['LeftEyeSpherical'] = this.leftEyeSpherical;
data['LeftEyeCylinder'] = this.leftEyeCylinder;
data['LeftEyeAxis'] = this.leftEyeAxis;
data['LeftEyePrism'] = this.leftEyePrism;
data['LeftEyeVA'] = this.leftEyeVA;
data['LeftEyeRemarks'] = this.leftEyeRemarks;
data['PD'] = this.pD;
data['BVD'] = this.bVD;
data['Status'] = this.status;
data['IsActive'] = this.isActive;
data['CreatedOn'] = this.createdOn;
return data;
}
}

@ -0,0 +1,12 @@
import 'AppoimentAllHistoryResult.dart';
class AppointmentFilter {
List<AppoimentAllHistoryResultList> appointmentAllHistoryResultList = List();
String filterName;
AppointmentFilter(
AppoimentAllHistoryResultList allHistoryResultList, String filterName) {
appointmentAllHistoryResultList.add(allHistoryResultList);
this.filterName = filterName;
}
}

@ -0,0 +1,90 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class BloodPressureResult {
int patientID;
int lineItemNo;
DateTime bloodPressureDate;
int measuredArm;
int systolicePressure;
int diastolicPressure;
dynamic remark;
bool isActive;
int chartYear;
String chartMonth;
dynamic yearSystolicePressureAverageResult;
dynamic monthSystolicePressureResult;
dynamic weekSystolicePressureResult;
int yearDiastolicPressureAverageResult;
dynamic monthDiastolicPressureResult;
dynamic weekDiastolicPressureResult;
String measuredArmDesc;
dynamic weekDesc;
BloodPressureResult(
{this.patientID,
this.lineItemNo,
this.bloodPressureDate,
this.measuredArm,
this.systolicePressure,
this.diastolicPressure,
this.remark,
this.isActive,
this.chartYear,
this.chartMonth,
this.yearSystolicePressureAverageResult,
this.monthSystolicePressureResult,
this.weekSystolicePressureResult,
this.yearDiastolicPressureAverageResult,
this.monthDiastolicPressureResult,
this.weekDiastolicPressureResult,
this.measuredArmDesc,
this.weekDesc});
BloodPressureResult.fromJson(Map<String, dynamic> json) {
patientID = json['PatientID'];
lineItemNo = json['LineItemNo'];
bloodPressureDate =DateUtil.convertStringToDate(json['BloodPressureDate']);
measuredArm = json['MeasuredArm'];
systolicePressure = json['SystolicePressure'];
diastolicPressure = json['DiastolicPressure'];
remark = json['Remark'];
isActive = json['IsActive'];
chartYear = json['ChartYear'];
chartMonth = json['ChartMonth'];
yearSystolicePressureAverageResult =
json['YearSystolicePressureAverageResult'];
monthSystolicePressureResult = json['MonthSystolicePressureResult'];
weekSystolicePressureResult = json['WeekSystolicePressureResult'];
yearDiastolicPressureAverageResult =
json['YearDiastolicPressureAverageResult'];
monthDiastolicPressureResult = json['MonthDiastolicPressureResult'];
weekDiastolicPressureResult = json['WeekDiastolicPressureResult'];
measuredArmDesc = json['MeasuredArmDesc'];
weekDesc = json['WeekDesc'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientID'] = this.patientID;
data['LineItemNo'] = this.lineItemNo;
data['BloodPressureDate'] = this.bloodPressureDate;
data['MeasuredArm'] = this.measuredArm;
data['SystolicePressure'] = this.systolicePressure;
data['DiastolicPressure'] = this.diastolicPressure;
data['Remark'] = this.remark;
data['IsActive'] = this.isActive;
data['ChartYear'] = this.chartYear;
data['ChartMonth'] = this.chartMonth;
data['YearSystolicePressureAverageResult'] =
this.yearSystolicePressureAverageResult;
data['MonthSystolicePressureResult'] = this.monthSystolicePressureResult;
data['WeekSystolicePressureResult'] = this.weekSystolicePressureResult;
data['YearDiastolicPressureAverageResult'] =
this.yearDiastolicPressureAverageResult;
data['MonthDiastolicPressureResult'] = this.monthDiastolicPressureResult;
data['WeekDiastolicPressureResult'] = this.weekDiastolicPressureResult;
data['MeasuredArmDesc'] = this.measuredArmDesc;
data['WeekDesc'] = this.weekDesc;
return data;
}
}

@ -0,0 +1,76 @@
class MonthBloodPressureResultAverage {
dynamic weekfourSystolicePressureAverageResult;
dynamic weekfourDiastolicPressureAverageResult;
dynamic weekthreeSystolicePressureAverageResult;
dynamic weekthreeDiastolicPressureAverageResult;
dynamic weektwoSystolicePressureAverageResult;
dynamic weektwoDiastolicPressureAverageResult;
dynamic weekoneSystolicePressureAverageResult;
dynamic weekoneDiastolicPressureAverageResult;
String weekDesc;
int weekDiastolicPressureAverageResult;
int weekSystolicePressureAverageResult;
MonthBloodPressureResultAverage(
{this.weekfourSystolicePressureAverageResult,
this.weekfourDiastolicPressureAverageResult,
this.weekthreeSystolicePressureAverageResult,
this.weekthreeDiastolicPressureAverageResult,
this.weektwoSystolicePressureAverageResult,
this.weektwoDiastolicPressureAverageResult,
this.weekoneSystolicePressureAverageResult,
this.weekoneDiastolicPressureAverageResult,
this.weekDesc,
this.weekDiastolicPressureAverageResult,
this.weekSystolicePressureAverageResult});
MonthBloodPressureResultAverage.fromJson(Map<String, dynamic> json) {
weekfourSystolicePressureAverageResult =
json['weekfourSystolicePressureAverageResult'];
weekfourDiastolicPressureAverageResult =
json['weekfourDiastolicPressureAverageResult'];
weekthreeSystolicePressureAverageResult =
json['weekthreeSystolicePressureAverageResult'];
weekthreeDiastolicPressureAverageResult =
json['weekthreeDiastolicPressureAverageResult'];
weektwoSystolicePressureAverageResult =
json['weektwoSystolicePressureAverageResult'];
weektwoDiastolicPressureAverageResult =
json['weektwoDiastolicPressureAverageResult'];
weekoneSystolicePressureAverageResult =
json['weekoneSystolicePressureAverageResult'];
weekoneDiastolicPressureAverageResult =
json['weekoneDiastolicPressureAverageResult'];
weekDesc = json['WeekDesc'];
weekDiastolicPressureAverageResult =
json['WeekDiastolicPressureAverageResult'];
weekSystolicePressureAverageResult =
json['WeekSystolicePressureAverageResult'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['weekfourSystolicePressureAverageResult'] =
this.weekfourSystolicePressureAverageResult;
data['weekfourDiastolicPressureAverageResult'] =
this.weekfourDiastolicPressureAverageResult;
data['weekthreeSystolicePressureAverageResult'] =
this.weekthreeSystolicePressureAverageResult;
data['weekthreeDiastolicPressureAverageResult'] =
this.weekthreeDiastolicPressureAverageResult;
data['weektwoSystolicePressureAverageResult'] =
this.weektwoSystolicePressureAverageResult;
data['weektwoDiastolicPressureAverageResult'] =
this.weektwoDiastolicPressureAverageResult;
data['weekoneSystolicePressureAverageResult'] =
this.weekoneSystolicePressureAverageResult;
data['weekoneDiastolicPressureAverageResult'] =
this.weekoneDiastolicPressureAverageResult;
data['WeekDesc'] = this.weekDesc;
data['WeekDiastolicPressureAverageResult'] =
this.weekDiastolicPressureAverageResult;
data['WeekSystolicePressureAverageResult'] =
this.weekSystolicePressureAverageResult;
return data;
}
}

@ -0,0 +1,30 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class WeekBloodPressureResultAverage {
int dailySystolicePressureAverageResult;
int dailyDiastolicPressureAverageResult;
DateTime bloodPressureDate;
WeekBloodPressureResultAverage(
{this.dailySystolicePressureAverageResult,
this.dailyDiastolicPressureAverageResult,
this.bloodPressureDate});
WeekBloodPressureResultAverage.fromJson(Map<String, dynamic> json) {
dailySystolicePressureAverageResult =
json['DailySystolicePressureAverageResult'];
dailyDiastolicPressureAverageResult =
json['DailyDiastolicPressureAverageResult'];
bloodPressureDate = DateUtil.convertStringToDate(json['BloodPressureDate']);
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['DailySystolicePressureAverageResult'] =
this.dailySystolicePressureAverageResult;
data['DailyDiastolicPressureAverageResult'] =
this.dailyDiastolicPressureAverageResult;
data['BloodPressureDate'] = this.bloodPressureDate;
return data;
}
}

@ -0,0 +1,41 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class YearBloodPressureResultAverage {
int monthSystolicePressureAverageResult;
int monthDiastolicPressureAverageResult;
dynamic monthNumber;
String monthName;
String yearName;
DateTime date;
YearBloodPressureResultAverage(
{this.monthSystolicePressureAverageResult,
this.monthDiastolicPressureAverageResult,
this.monthNumber,
this.monthName,
this.yearName});
YearBloodPressureResultAverage.fromJson(Map<String, dynamic> json) {
monthSystolicePressureAverageResult =
json['monthSystolicePressureAverageResult'];
monthDiastolicPressureAverageResult =
json['monthDiastolicPressureAverageResult'];
monthNumber = json['monthNumber'];
monthName = json['monthName'];
yearName = json['yearName'];
date = DateUtil.getMonthDateTime(monthName,yearName);
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['monthSystolicePressureAverageResult'] =
this.monthSystolicePressureAverageResult;
data['monthDiastolicPressureAverageResult'] =
this.monthDiastolicPressureAverageResult;
data['monthNumber'] = this.monthNumber;
data['monthName'] = this.monthName;
data['yearName'] = this.yearName;
return data;
}
}

@ -0,0 +1,98 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class DiabtecPatientResult {
String chartMonth;
var chartYear;
DateTime dateChart;
var description;
var descriptionN;
int diabtecAvarage;
bool isActive;
int lineItemNo;
var listMonth;
var listWeek;
int measured;
String measuredDesc;
var monthAverageResult;
int patientID;
var remark;
var resultDesc;
int resultValue;
String unit;
var weekAverageResult;
String weekDesc;
var yearAverageResult;
DiabtecPatientResult(
{this.chartMonth,
this.chartYear,
this.dateChart,
this.description,
this.descriptionN,
this.diabtecAvarage,
this.isActive,
this.lineItemNo,
this.listMonth,
this.listWeek,
this.measured,
this.measuredDesc,
this.monthAverageResult,
this.patientID,
this.remark,
this.resultDesc,
this.resultValue,
this.unit,
this.weekAverageResult,
this.weekDesc,
this.yearAverageResult});
DiabtecPatientResult.fromJson(Map<String, dynamic> json) {
chartMonth = json['ChartMonth'];
chartYear = json['ChartYear'];
dateChart = DateUtil.convertStringToDate(json['DateChart']);
description = json['Description'];
descriptionN = json['DescriptionN'];
diabtecAvarage = json['DiabtecAvarage'];
isActive = json['IsActive'];
lineItemNo = json['LineItemNo'];
listMonth = json['List_Month'];
listWeek = json['List_Week'];
measured = json['Measured'];
measuredDesc = json['MeasuredDesc'];
monthAverageResult = json['MonthAverageResult'];
patientID = json['PatientID'];
remark = json['Remark'];
resultDesc = json['ResultDesc'];
resultValue = json['ResultValue'];
unit = json['Unit'];
weekAverageResult = json['WeekAverageResult'];
weekDesc = json['WeekDesc'];
yearAverageResult = json['YearAverageResult'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ChartMonth'] = this.chartMonth;
data['ChartYear'] = this.chartYear;
data['DateChart'] = DateUtil.convertDateToString(this.dateChart);
data['Description'] = this.description;
data['DescriptionN'] = this.descriptionN;
data['DiabtecAvarage'] = this.diabtecAvarage;
data['IsActive'] = this.isActive;
data['LineItemNo'] = this.lineItemNo;
data['List_Month'] = this.listMonth;
data['List_Week'] = this.listWeek;
data['Measured'] = this.measured;
data['MeasuredDesc'] = this.measuredDesc;
data['MonthAverageResult'] = this.monthAverageResult;
data['PatientID'] = this.patientID;
data['Remark'] = this.remark;
data['ResultDesc'] = this.resultDesc;
data['ResultValue'] = this.resultValue;
data['Unit'] = this.unit;
data['WeekAverageResult'] = this.weekAverageResult;
data['WeekDesc'] = this.weekDesc;
data['YearAverageResult'] = this.yearAverageResult;
return data;
}
}

@ -0,0 +1,36 @@
class MonthDiabtectResultAverage {
var weekfourAverageResult;
var weekthreeAverageResult;
var weektwoAverageResult;
var weekoneAverageResult;
dynamic weekAverageResult;
String weekDesc;
MonthDiabtectResultAverage(
{this.weekfourAverageResult,
this.weekthreeAverageResult,
this.weektwoAverageResult,
this.weekoneAverageResult,
this.weekAverageResult,
this.weekDesc});
MonthDiabtectResultAverage.fromJson(Map<String, dynamic> json) {
weekfourAverageResult = json['weekfourAverageResult'];
weekthreeAverageResult = json['weekthreeAverageResult'];
weektwoAverageResult = json['weektwoAverageResult'];
weekoneAverageResult = json['weekoneAverageResult'];
weekAverageResult = json['WeekAverageResult'];
weekDesc = json['WeekDesc'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['weekfourAverageResult'] = this.weekfourAverageResult;
data['weekthreeAverageResult'] = this.weekthreeAverageResult;
data['weektwoAverageResult'] = this.weektwoAverageResult;
data['weekoneAverageResult'] = this.weekoneAverageResult;
data['WeekAverageResult'] = this.weekAverageResult;
data['WeekDesc'] = this.weekDesc;
return data;
}
}

@ -0,0 +1,20 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class WeekDiabtectResultAverage {
int dailyAverageResult;
DateTime dateChart;
WeekDiabtectResultAverage({this.dailyAverageResult, this.dateChart});
WeekDiabtectResultAverage.fromJson(Map<String, dynamic> json) {
dailyAverageResult = json['DailyAverageResult'];
dateChart = DateUtil.convertStringToDate(json['DateChart']);
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['DailyAverageResult'] = this.dailyAverageResult;
data['DateChart'] = DateUtil.convertDateToString(this.dateChart);
return data;
}
}

@ -0,0 +1,36 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class YearDiabtecResultAverage {
dynamic monthAverageResult;
var monthNumber;
String monthName;
String yearName;
DateTime date;
YearDiabtecResultAverage(
{this.monthAverageResult,
this.monthNumber,
this.monthName,
this.yearName});
YearDiabtecResultAverage.fromJson(Map<String, dynamic> json) {
try {
monthAverageResult = json['monthAverageResult'];
monthNumber = json['monthNumber'];
monthName = json['monthName'];
yearName = json['yearName'];
date = DateUtil.getMonthDateTime(monthName,yearName);
} catch (e) {
print(e);
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['monthAverageResult'] = this.monthAverageResult;
data['monthNumber'] = this.monthNumber;
data['monthName'] = this.monthName;
data['yearName'] = this.yearName;
return data;
}
}

@ -0,0 +1,6 @@
class WeekChartDate {
final DateTime x;
final dynamic y;
WeekChartDate({this.x, this.y});
}

@ -0,0 +1,6 @@
class YearMonthlyChartDate {
final dynamic x;
final dynamic y;
YearMonthlyChartDate({this.x, this.y});
}

@ -0,0 +1,36 @@
class MonthWeightMeasurementResultAverage {
dynamic weekfourAverageResult;
dynamic weekthreeAverageResult;
dynamic weektwoAverageResult;
dynamic weekoneAverageResult;
dynamic weekAverageResult;
String weekDesc;
MonthWeightMeasurementResultAverage(
{this.weekfourAverageResult,
this.weekthreeAverageResult,
this.weektwoAverageResult,
this.weekoneAverageResult,
this.weekAverageResult,
this.weekDesc});
MonthWeightMeasurementResultAverage.fromJson(Map<String, dynamic> json) {
weekfourAverageResult = json['weekfourAverageResult'];
weekthreeAverageResult = json['weekthreeAverageResult'];
weektwoAverageResult = json['weektwoAverageResult'];
weekoneAverageResult = json['weekoneAverageResult'];
weekAverageResult = json['WeekAverageResult'];
weekDesc = json['WeekDesc'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['weekfourAverageResult'] = this.weekfourAverageResult;
data['weekthreeAverageResult'] = this.weekthreeAverageResult;
data['weektwoAverageResult'] = this.weektwoAverageResult;
data['weekoneAverageResult'] = this.weekoneAverageResult;
data['WeekAverageResult'] = this.weekAverageResult;
data['WeekDesc'] = this.weekDesc;
return data;
}
}

@ -0,0 +1,21 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class WeekWeightMeasurementResultAverage {
dynamic dailyAverageResult;
DateTime weightDate;
WeekWeightMeasurementResultAverage(
{this.dailyAverageResult, this.weightDate});
WeekWeightMeasurementResultAverage.fromJson(Map<String, dynamic> json) {
dailyAverageResult = json['DailyAverageResult'];
weightDate = DateUtil.convertStringToDate(json['WeightDate']);
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['DailyAverageResult'] = this.dailyAverageResult;
data['WeightDate'] = this.weightDate;
return data;
}
}

@ -0,0 +1,74 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class WeightMeasurementResult {
int patientID;
int lineItemNo;
int weightMeasured;
DateTime weightDate;
dynamic remark;
bool isActive;
int measured;
dynamic unit;
int chartYear;
dynamic chartMonth;
double yearAverageResult;
dynamic monthAverageResult;
dynamic weekAverageResult;
dynamic weekDesc;
WeightMeasurementResult(
{this.patientID,
this.lineItemNo,
this.weightMeasured,
this.weightDate,
this.remark,
this.isActive,
this.measured,
this.unit,
this.chartYear,
this.chartMonth,
this.yearAverageResult,
this.monthAverageResult,
this.weekAverageResult,
this.weekDesc});
WeightMeasurementResult.fromJson(Map<String, dynamic> json) {
try {
patientID = json['PatientID'];
lineItemNo = json['LineItemNo'];
weightMeasured = json['WeightMeasured'];
weightDate = DateUtil.convertStringToDate(json['WeightDate']);
remark = json['Remark'];
isActive = json['IsActive'];
measured = json['Measured'];
unit = json['Unit'];
chartYear = json['ChartYear'];
chartMonth = json['ChartMonth'];
yearAverageResult = json['YearAverageResult'];
monthAverageResult = json['MonthAverageResult'];
weekAverageResult = json['WeekAverageResult'];
weekDesc = json['WeekDesc'];
} catch (e) {
print(e);
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientID'] = this.patientID;
data['LineItemNo'] = this.lineItemNo;
data['WeightMeasured'] = this.weightMeasured;
data['WeightDate'] = this.weightDate;
data['Remark'] = this.remark;
data['IsActive'] = this.isActive;
data['Measured'] = this.measured;
data['Unit'] = this.unit;
data['ChartYear'] = this.chartYear;
data['ChartMonth'] = this.chartMonth;
data['YearAverageResult'] = this.yearAverageResult;
data['MonthAverageResult'] = this.monthAverageResult;
data['WeekAverageResult'] = this.weekAverageResult;
data['WeekDesc'] = this.weekDesc;
return data;
}
}

@ -0,0 +1,33 @@
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class YearWeightMeasurementResultAverage {
dynamic monthAverageResult;
int monthNumber;
String monthName;
String yearName;
DateTime date;
YearWeightMeasurementResultAverage(
{this.monthAverageResult,
this.monthNumber,
this.monthName,
this.yearName});
YearWeightMeasurementResultAverage.fromJson(Map<String, dynamic> json) {
monthAverageResult = json['monthAverageResult'];
monthNumber = json['monthNumber'];
monthName = json['monthName'];
yearName = json['yearName'];
date = DateUtil.getMonthDateTime(monthName,yearName);
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['monthAverageResult'] = this.monthAverageResult;
data['monthNumber'] = this.monthNumber;
data['monthName'] = this.monthName;
data['yearName'] = this.yearName;
return data;
}
}

@ -2,35 +2,35 @@ import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class PrescriptionsOrder {
int iD;
String patientID;
dynamic patientID;
bool patientOutSA;
bool isOutPatient;
int projectID;
int nearestProjectID;
double longitude;
double latitude;
String appointmentNo;
String dischargeID;
dynamic appointmentNo;
dynamic dischargeID;
int lineItemNo;
int status;
String description;
String descriptionN;
dynamic description;
dynamic descriptionN;
DateTime createdOn;
int serviceID;
int createdBy;
DateTime editedOn;
int editedBy;
int channel;
String clientRequestID;
dynamic clientRequestID;
bool returnedToQueue;
Null pickupDateTime;
Null pickupLocationName;
Null dropoffLocationName;
dynamic pickupDateTime;
dynamic pickupLocationName;
dynamic dropoffLocationName;
int realRRTHaveTransactions;
String nearestProjectDescription;
String nearestProjectDescriptionN;
String projectDescription;
String projectDescriptionN;
dynamic nearestProjectDescription;
dynamic nearestProjectDescriptionN;
dynamic projectDescription;
dynamic projectDescriptionN;
PrescriptionsOrder(
{this.iD,

@ -0,0 +1,27 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/active_medications/ActivePrescriptionReport.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class ActiveMedicationsService extends BaseService{
List<ActivePrescriptionReport> activePrescriptionReport = List();
getActiveMedication() async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(ADD_ACTIVE_PRESCRIPTIONS_REPORT_BY_PATIENT_ID,
onSuccess: (response, statusCode) async {
activePrescriptionReport.clear();
response['List_ActiveGetPrescriptionReportByPatientID'].forEach((appoitment) {
activePrescriptionReport
.add(ActivePrescriptionReport.fromJson(appoitment));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -0,0 +1,25 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/Allergy/Allergy.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class AllergiesService extends BaseService {
List<Allergy> allergies = List();
getAllergies() async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
body['OutSA'] = 0;
await baseAppClient.post(GET_PATIENT_ALLERGIES,
onSuccess: (response, statusCode) async {
allergies.clear();
response['Patient_Allergies'].forEach((allergy) {
allergies.add(Allergy.fromJson(allergy));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -0,0 +1,100 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/BloodPressureResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/MonthBloodPressureResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/WeekBloodPressureResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/YearBloodPressureResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/MonthDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/WeekDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/YearDiabtecResultAverage.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class BloodPressureService extends BaseService {
List<MonthBloodPressureResultAverage> monthDiabtectResultAverageList = List();
List<WeekBloodPressureResultAverage> weekDiabtectResultAverageList = List();
List<YearBloodPressureResultAverage> yearDiabtecResultAverageList = List();
///Result
List<BloodPressureResult> monthDiabtecPatientResult = List();
List<BloodPressureResult> weekDiabtecPatientResult = List();
List<BloodPressureResult> yearDiabtecPatientResult = List();
Future getBloodSugar() async {
hasError = false;
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_BLOOD_PRESSURE_RESULT_AVERAGE,
onSuccess: (dynamic response, int statusCode) {
monthDiabtectResultAverageList.clear();
weekDiabtectResultAverageList.clear();
yearDiabtecResultAverageList.clear();
response['List_MonthBloodPressureResultAverage'].forEach((item) {
monthDiabtectResultAverageList
.add(MonthBloodPressureResultAverage.fromJson(item));
});
response['List_WeekBloodPressureResultAverage'].forEach((item) {
weekDiabtectResultAverageList
.add(WeekBloodPressureResultAverage.fromJson(item));
});
response['List_YearBloodPressureResultAverage'].forEach((item) {
yearDiabtecResultAverageList
.add(YearBloodPressureResultAverage.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future getDiabtecResults() async {
hasError = false;
await baseAppClient.post(GET_BLOOD_PRESSURE_RESULT,
onSuccess: (dynamic response, int statusCode) {
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
response['List_WeekBloodPressureResult'].forEach((item) {
weekDiabtecPatientResult.add(BloodPressureResult.fromJson(item));
});
response['List_MonthBloodPressureResult'].forEach((item) {
monthDiabtecPatientResult.add(BloodPressureResult.fromJson(item));
});
response['List_YearBloodPressureResult'].forEach((item) {
yearDiabtecPatientResult.add(BloodPressureResult.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: Map());
}
addDiabtecResult(
{String bloodPressureDate,
String diastolicPressure,
String systolicePressure,
int measuredArm}) async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['BloodPressureDate'] = bloodPressureDate;
body['DiastolicPressure'] = diastolicPressure;
body['SystolicePressure'] = systolicePressure;
body['MeasuredArm'] = measuredArm;
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(ADD_BLOOD_PRESSURE_RESULT,
onSuccess: (response, statusCode) async {
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -0,0 +1,96 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/MonthDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/WeekDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/YearDiabtecResultAverage.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class BloodSugarService extends BaseService {
List<MonthDiabtectResultAverage> monthDiabtectResultAverageList = List();
List<WeekDiabtectResultAverage> weekDiabtectResultAverageList = List();
List<YearDiabtecResultAverage> yearDiabtecResultAverageList = List();
///Result
List<DiabtecPatientResult> monthDiabtecPatientResult = List();
List<DiabtecPatientResult> weekDiabtecPatientResult = List();
List<DiabtecPatientResult> yearDiabtecPatientResult = List();
Future getBloodSugar() async {
hasError = false;
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_DIABETIC_RESULT_AVERAGE,
onSuccess: (dynamic response, int statusCode) {
monthDiabtectResultAverageList.clear();
weekDiabtectResultAverageList.clear();
yearDiabtecResultAverageList.clear();
response['List_MonthDiabtectResultAverage'].forEach((item) {
monthDiabtectResultAverageList
.add(MonthDiabtectResultAverage.fromJson(item));
});
response['List_WeekDiabtectResultAverage'].forEach((item) {
weekDiabtectResultAverageList
.add(WeekDiabtectResultAverage.fromJson(item));
});
response['List_YearDiabtecResultAverage'].forEach((item) {
yearDiabtecResultAverageList
.add(YearDiabtecResultAverage.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future getDiabtecResults() async {
hasError = false;
await baseAppClient.post(GET_DIABTEC_RESULT,
onSuccess: (dynamic response, int statusCode) {
monthDiabtecPatientResult.clear();
weekDiabtecPatientResult.clear();
yearDiabtecPatientResult.clear();
response['List_MonthDiabtecPatientResult'].forEach((item) {
monthDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item));
});
response['List_WeekDiabtecPatientResult'].forEach((item) {
weekDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item));
});
response['List_YearDiabtecPatientResult'].forEach((item) {
yearDiabtecPatientResult.add(DiabtecPatientResult.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: Map());
}
addDiabtecResult(
{String bloodSugerDateChart,
String bloodSugerResult,
String diabtecUnit,
int measuredTime}) async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['BloodSugerDateChart'] = bloodSugerDateChart;
body['BloodSugerResult'] = bloodSugerResult;
body['DiabtecUnit'] = diabtecUnit;
body['MeasuredTime'] =2;// measuredTime;
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(ADD_BLOOD_PRESSURE_RESULT,
onSuccess: (response, statusCode) async {
var asd ="";
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -0,0 +1,26 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class EyeService extends BaseService {
List<AppoimentAllHistoryResultList> appoimentAllHistoryResultList = List();
getEyeMeasurement() async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
body['IsIrisPrescription'] = true;
await baseAppClient.post(GET_PATIENT_APPOINTMENT_HISTORY,
onSuccess: (response, statusCode) async {
appoimentAllHistoryResultList.clear();
response['AppoimentAllHistoryResultList'].forEach((appoitment) {
appoimentAllHistoryResultList
.add(AppoimentAllHistoryResultList.fromJson(appoitment));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -0,0 +1,104 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/BloodPressureResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/MonthBloodPressureResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/WeekBloodPressureResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/YearBloodPressureResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/MonthDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/WeekDiabtectResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/YearDiabtecResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/weight/MonthWeightMeasurementResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/weight/WeekWeightMeasurementResultAverage.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/weight/WeightMeasurementResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/weight/YearWeightMeasurementResultAverage.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
class WeightService extends BaseService {
///Average
List<MonthWeightMeasurementResultAverage> monthWeightMeasurementResultAverage = List();
List<WeekWeightMeasurementResultAverage> weekWeightMeasurementResultAverage = List();
List<YearWeightMeasurementResultAverage> yearWeightMeasurementResultAverage = List();
///Result
List<WeightMeasurementResult> monthWeightMeasurementResult = List();
List<WeightMeasurementResult> weekWeightMeasurementResult = List();
List<WeightMeasurementResult> yearWeightMeasurementResult = List();
Future getWeightAverage() async {
hasError = false;
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_WEIGHT_PRESSURE_RESULT_AVERAGE,
onSuccess: (dynamic response, int statusCode) {
monthWeightMeasurementResultAverage.clear();
weekWeightMeasurementResultAverage.clear();
yearWeightMeasurementResultAverage.clear();
response['List_MonthWeightMeasurementResultAverage'].forEach((item) {
monthWeightMeasurementResultAverage
.add(MonthWeightMeasurementResultAverage.fromJson(item));
});
response['List_WeekWeightMeasurementResultAverage'].forEach((item) {
weekWeightMeasurementResultAverage
.add(WeekWeightMeasurementResultAverage.fromJson(item));
});
response['List_YearWeightMeasurementResultAverage'].forEach((item) {
yearWeightMeasurementResultAverage
.add(YearWeightMeasurementResultAverage.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future getWeightMeasurementResult() async {
hasError = false;
await baseAppClient.post(GET_WEIGHT_PRESSURE_RESULT,
onSuccess: (dynamic response, int statusCode) {
monthWeightMeasurementResult.clear();
weekWeightMeasurementResult.clear();
yearWeightMeasurementResult.clear();
response['List_WeekWeightMeasurementResult'].forEach((item) {
weekWeightMeasurementResult.add(WeightMeasurementResult.fromJson(item));
});
response['List_MonthWeightMeasurementResult'].forEach((item) {
monthWeightMeasurementResult.add(WeightMeasurementResult.fromJson(item));
});
response['List_YearWeightMeasurementResult'].forEach((item) {
yearWeightMeasurementResult.add(WeightMeasurementResult.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: Map());
}
addWeightResult(
{String weightDate,
String weightMeasured,
int weightUnit}) async {
hasError = false;
super.error = "";
Map<String, dynamic> body = Map();
body['WeightDate'] = weightDate;
body['WeightMeasured'] = weightMeasured;
body['weightUnit'] = weightUnit;
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(ADD_WEIGHT_PRESSURE_RESULT,
onSuccess: (response, statusCode) async {
},
onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -0,0 +1,106 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/ask_doctor/AskDoctorReqTypes.dart';
import 'package:diplomaticquarterapp/core/model/ask_doctor/DoctorResponse.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class AskDoctorService extends BaseService {
List<AskDoctorReqTypes> askDoctorReqTypes = List();
List<DoctorResponse> doctorResponseList = List();
Future getCallInfoHoursResult({int projectId, int doctorId}) async {
hasError = false;
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
body['DoctorID'] = doctorId;
body['ProjectID'] = projectId;
await baseAppClient.post(GET_CALL_INFO_HOURS_RESULT,
onSuccess: (dynamic response, int statusCode) {
///OKAY
var asd="";
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future getCallRequestTypeLOV() async {
hasError =false;
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_CALL_REQUEST_TYPE_LOV,
onSuccess: (dynamic response, int statusCode) {
askDoctorReqTypes.clear();
response['ListReqTypes'].forEach((reqType) {
askDoctorReqTypes.add(AskDoctorReqTypes.fromJson(reqType));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future getDoctorResponse() async {
hasError =false;
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
body['from'] =
"${DateTime.now().year}-${DateTime.now().month}-${DateTime.now().day} 00:00:00";
body['from'] =
"${DateTime.now().year}-${DateTime.now().month}-${DateTime.now().day} ${DateTime.now().hour}:${DateTime.now().minute}:00";
await baseAppClient.post(GET_DOCTOR_RESPONSE,
onSuccess: (dynamic response, int statusCode) {
doctorResponseList.clear();
response['List_DoctorResponse'].forEach((reqType) {
doctorResponseList.add(DoctorResponse.fromJson(reqType));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future updateReadStatus({int transactionNo}) async {
hasError =false;
Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false;
body['TransactionNo'] = transactionNo;
await baseAppClient.post(UPDATE_READ_STATUS,
onSuccess: (dynamic response, int statusCode) {
//TODO fix it
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
Future sendRequestLOV({DoctorList doctorList,String requestType,String remark}) async {
hasError =false;
Map<String, dynamic> body = Map();
body['ProjectID'] = doctorList.projectID;
body['SetupID'] = doctorList.setupID;
body['DoctorID'] = doctorList.doctorID;
body['PatientMobileNumber'] = user.mobileNumber;
body['IsMessageSent'] = false;
body['RequestDate'] = DateUtil.yearMonthDay(DateTime.now());
body['RequestTime'] = DateUtil.time(DateTime.now());
body['Remarks'] = remark;
body['Status'] = 2;// 4 for testing only.."cancelled status insert" else should be changed to 1 in live version
body['CreatedBy'] = 102;
body['CreatedOn'] = DateUtil.yearMonthDay(DateTime.now());
body['EditedBy'] = 102;
body['EditedOn'] = DateUtil.yearMonthDay(DateTime.now());
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(INSERT_CALL_INFO,
onSuccess: (dynamic response, int statusCode) {
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
}

@ -15,22 +15,8 @@ class MyDoctorService extends BaseService {
RequestPatientDoctorAppointment patientDoctorAppointmentRequest =
RequestPatientDoctorAppointment(
top: 0,
versionID: 5.5,
beforeDays: 0,
exludType: 4,
channel: 3,
languageID: 2,
iPAdress: '10.20.10.20',
generalid: 'Cs2020@2016\$2958',
patientOutSA: 0,
sessionID: 'TMRhVmkGhOsvamErw',
isDentalAllowedBackend: false,
deviceTypeID: 1,
patientID: 1231755,
tokenID: '@dm!n',
patientType: 1,
patientTypeID: 1);
isDentalAllowedBackend: false,
);
RequestDoctorRating _requestDoctorRating = RequestDoctorRating(
channel: 3,
@ -44,7 +30,12 @@ class MyDoctorService extends BaseService {
generalid: 'Cs2020@2016\$2958',
isDentalAllowedBackend: false);
Future getPatientDoctorAppointmentList() async {
Future getPatientDoctorAppointmentList({int top = 0, int beforeDays = 0,int exludType=4}) async {
hasError = false;
patientDoctorAppointmentRequest.top = top;
patientDoctorAppointmentRequest.beforeDays = beforeDays;
patientDoctorAppointmentRequest.exludType = exludType;
await baseAppClient.post(GET_MY_DOCTOR,
onSuccess: (dynamic response, int statusCode) {
patientDoctorAppointmentList.clear();
@ -75,7 +66,8 @@ class MyDoctorService extends BaseService {
deviceTypeID: 2,
);
Future getDoctorProfileAndRating({int doctorId,int clinicID,int projectID }) async {
Future getDoctorProfileAndRating(
{int doctorId, int clinicID, int projectID}) async {
///GET DOCTOR PROFILE
_requestDoctorProfile.doctorID = doctorId;
_requestDoctorProfile.clinicID = clinicID;
@ -89,8 +81,6 @@ class MyDoctorService extends BaseService {
doctorList.doctorTitle = doctorProfile.doctorTitleForProfile;
doctorList.name = doctorProfile.doctorName;
doctorList.projectName = doctorProfile.projectName;
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;

@ -18,7 +18,11 @@ class BaseViewModel extends ChangeNotifier {
void setState(ViewState viewState) {
_state = viewState;
notifyListeners();
if (viewState == ViewState.Busy || viewState == ViewState.BusyLocal)
error = "";
if (hasListeners) notifyListeners();
}
BaseViewModel() {
@ -34,4 +38,10 @@ class BaseViewModel extends ChangeNotifier {
notifyListeners();
}
@override
void dispose() {
removeListener(() {});
super.dispose();
}
}

@ -0,0 +1,28 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/active_medications/ActivePrescriptionReport.dart';
import 'package:diplomaticquarterapp/core/service/medical/ActiveMedicationsService.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
class ActiveMedicationsViewModel extends BaseViewModel {
ActiveMedicationsService _activeMedicationsService =
locator<ActiveMedicationsService>();
List<ActivePrescriptionReport> get activePrescriptionReport =>
_activeMedicationsService.activePrescriptionReport;
getActiveMedication() async {
setState(ViewState.Busy);
await _activeMedicationsService.getActiveMedication();
if (_activeMedicationsService.hasError) {
error = _activeMedicationsService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
}

@ -0,0 +1,22 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/Allergy/Allergy.dart';
import 'package:diplomaticquarterapp/core/service/medical/AllergiesService.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import '../../../locator.dart';
class AllergiesViewModel extends BaseViewModel {
AllergiesService _allergiesService = locator<AllergiesService>();
List<Allergy> get allergies => _allergiesService.allergies;
getAllergies() async {
setState(ViewState.Busy);
await _allergiesService.getAllergies();
if (_allergiesService.hasError) {
error = _allergiesService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
}

@ -0,0 +1,46 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart';
import 'package:diplomaticquarterapp/core/model/eye/AppointmentFilter.dart';
import 'package:diplomaticquarterapp/core/service/medical/EyeService.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
class EyeViewModel extends BaseViewModel {
EyeService _eyeService = locator<EyeService>();
List<AppoimentAllHistoryResultList> get appoimentAllHistoryResultList =>
_eyeService.appoimentAllHistoryResultList;
List<AppointmentFilter> appointmentFilter = List();
getEyeMeasurement() async {
setState(ViewState.Busy);
await _eyeService.getEyeMeasurement();
if (_eyeService.hasError) {
error = _eyeService.error;
setState(ViewState.Error);
} else {
_eyeService.appoimentAllHistoryResultList.forEach((element) {
List<AppointmentFilter> _appointmentFilter = appointmentFilter
.where(
(elementFilter) =>
elementFilter.filterName == element.projectName,
)
.toList();
if (_appointmentFilter.length != 0) {
appointmentFilter[appointmentFilter.indexOf(_appointmentFilter[0])]
.appointmentAllHistoryResultList
.add(element);
} else {
appointmentFilter.add(AppointmentFilter(
element,
element.projectName,
));
}
});
setState(ViewState.Idle);
}
}
}

@ -0,0 +1,110 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/ask_doctor/AskDoctorReqTypes.dart';
import 'package:diplomaticquarterapp/core/model/ask_doctor/DoctorResponse.dart';
import 'package:diplomaticquarterapp/core/service/medical/ask_doctor_services.dart';
import 'package:diplomaticquarterapp/core/service/medical/my_doctor_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
class AskDoctorViewModel extends BaseViewModel {
AskDoctorService _askDoctorService = locator<AskDoctorService>();
MyDoctorService _myDoctorService = locator<MyDoctorService>();
List<PatientDoctorAppointmentList> patientDoctorAppointmentListHospital =
List();
List<AskDoctorReqTypes> get askDoctorReqTypes =>
_askDoctorService.askDoctorReqTypes;
List<DoctorResponse> get doctorResponseList =>
_askDoctorService.doctorResponseList;
Future getMyDoctor() async {
setState(ViewState.Busy);
await _myDoctorService.getPatientDoctorAppointmentList(
top: 25, beforeDays: 15);
if (_myDoctorService.hasError) {
error = _myDoctorService.error;
setState(ViewState.Error);
} else
var asd = "";
_myDoctorService.patientDoctorAppointmentList.forEach((element) {
List<PatientDoctorAppointmentList> doctorByClinic =
patientDoctorAppointmentListHospital
.where((elementClinic) =>
elementClinic.filterName == element.projectName)
.toList();
if (doctorByClinic.length != 0) {
patientDoctorAppointmentListHospital[
patientDoctorAppointmentListHospital.indexOf(doctorByClinic[0])]
.patientDoctorAppointmentList
.add(element);
} else {
patientDoctorAppointmentListHospital.add(PatientDoctorAppointmentList(
filterName: element.projectName,
patientDoctorAppointment: element));
}
setState(ViewState.Idle);
});
}
Future getCallRequestTypeLOVs() async {
setState(ViewState.Busy);
await _askDoctorService.getCallRequestTypeLOV();
if (_askDoctorService.hasError) {
error = _askDoctorService.error;
setState(ViewState.ErrorLocal);
AppToast.showErrorToast(message: error);
} else
setState(ViewState.Idle);
}
Future getCallInfoHoursResult({int projectId, int doctorId}) async {
setState(ViewState.Busy);
await _askDoctorService.getCallInfoHoursResult(
projectId: projectId, doctorId: doctorId);
if (_askDoctorService.hasError) {
error = _askDoctorService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
getDoctorResponse() async {
setState(ViewState.Busy);
await _askDoctorService.getDoctorResponse();
if (_askDoctorService.hasError) {
error = _askDoctorService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
Future updateReadStatus({int transactionNo}) async {
setState(ViewState.Busy);
await _askDoctorService.updateReadStatus(transactionNo: transactionNo);
if (_askDoctorService.hasError) {
error = _askDoctorService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
Future sendRequestLOV(
{DoctorList doctorList, String requestType, String remark}) async {
setState(ViewState.BusyLocal);
await _askDoctorService.sendRequestLOV(
doctorList: doctorList, requestType: requestType, remark: remark);
if (_askDoctorService.hasError) {
error = _askDoctorService.error;
setState(ViewState.ErrorLocal);
AppToast.showErrorToast(message: error);
} else
setState(ViewState.Idle);
}
}

@ -0,0 +1,151 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/BloodPressureResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/chartData/WeekChartDate.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/chartData/YearMonthlyChartDate.dart';
import 'package:diplomaticquarterapp/core/service/medical/BloodPressureService.dart';
import 'package:diplomaticquarterapp/core/service/medical/BloodSugarService.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:charts_flutter/flutter.dart' as charts;
import '../../../core/viewModels/base_view_model.dart';
class BloodPressureViewMode extends BaseViewModel {
BloodPressureService bloodPressureService = locator<BloodPressureService>();
///BLOOD
List<WeekChartDate> _bloodDiastolicPressureWeeklyTimeSeriesSalesList = List();
List<WeekChartDate> _bloodSystolicePressureWeeklyTimeSeriesSalesList = List();
List<YearMonthlyChartDate> _bloodDiastolicMonthlyTimeSeriesSalesList = List();
List<YearMonthlyChartDate> _bloodSystolicMonthlyTimeSeriesSalesList = List();
List<WeekChartDate> _bloodSystoliceYearTimeSeriesSalesList = List();
List<WeekChartDate> _bloodDiastolicYearTimeSeriesSalesList = List();
List<BloodPressureResult> get monthDiabtecPatientResult => bloodPressureService.monthDiabtecPatientResult;
List<BloodPressureResult> get weekDiabtecPatientResult => bloodPressureService.weekDiabtecPatientResult;
List<BloodPressureResult> get yearDiabtecPatientResult => bloodPressureService.yearDiabtecPatientResult;
Future getBloodPressure() async {
setState(ViewState.Busy);
await bloodPressureService.getBloodSugar();
await bloodPressureService.getDiabtecResults();
if (bloodPressureService.hasError) {
error = bloodPressureService.error;
setState(ViewState.Error);
} else {
bloodPressureService.weekDiabtectResultAverageList.forEach((element) {
_bloodDiastolicPressureWeeklyTimeSeriesSalesList.add(WeekChartDate(
x: element.bloodPressureDate,
y: element.dailyDiastolicPressureAverageResult));
_bloodSystolicePressureWeeklyTimeSeriesSalesList.add(WeekChartDate(
x: element.bloodPressureDate,
y: element.dailySystolicePressureAverageResult));
});
for (int index = 0;
index < bloodPressureService.monthDiabtectResultAverageList.length;
index++) {
_bloodDiastolicMonthlyTimeSeriesSalesList.add(YearMonthlyChartDate(
x: index,
y: bloodPressureService.monthDiabtectResultAverageList[index]
.weekDiastolicPressureAverageResult));
_bloodSystolicMonthlyTimeSeriesSalesList.add(YearMonthlyChartDate(
x: index,
y: bloodPressureService.monthDiabtectResultAverageList[index]
.weekSystolicePressureAverageResult));
}
bloodPressureService.yearDiabtecResultAverageList.forEach((element) {
_bloodSystoliceYearTimeSeriesSalesList
.add(WeekChartDate(x: element.date, y: element.monthSystolicePressureAverageResult));
_bloodDiastolicYearTimeSeriesSalesList
.add(WeekChartDate(x: element.date, y: element.monthDiastolicPressureAverageResult));
});
setState(ViewState.Idle);
}
}
List<charts.Series<WeekChartDate, DateTime>> getBloodWeeklySeries() {
return [
charts.Series<WeekChartDate, DateTime>(
id: 'Diastolic',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _bloodDiastolicPressureWeeklyTimeSeriesSalesList,
),
charts.Series<WeekChartDate, DateTime>(
id: 'Systolice',
colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _bloodSystolicePressureWeeklyTimeSeriesSalesList,
)
];
}
List<charts.Series<YearMonthlyChartDate, int>>
getBloodMonthlyTimeSeriesSales() {
return [
charts.Series<YearMonthlyChartDate, int>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (YearMonthlyChartDate sales, _) => sales.x,
measureFn: (YearMonthlyChartDate sales, _) => sales.y,
data: _bloodDiastolicMonthlyTimeSeriesSalesList,
),
charts.Series<YearMonthlyChartDate, int>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
domainFn: (YearMonthlyChartDate sales, _) => sales.x,
measureFn: (YearMonthlyChartDate sales, _) => sales.y,
data: _bloodSystolicMonthlyTimeSeriesSalesList,
),
];
}
List<charts.Series<WeekChartDate, DateTime>> getBloodYearTimeSeriesSales() {
return [
charts.Series<WeekChartDate, DateTime>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _bloodSystoliceYearTimeSeriesSalesList,
),
charts.Series<WeekChartDate, DateTime>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.blue.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _bloodDiastolicYearTimeSeriesSalesList,
)
];
}
addDiabtecResult(
{String bloodPressureDate,
String diastolicPressure,
String systolicePressure,
int measuredArm}) async {
setState(ViewState.BusyLocal);
await bloodPressureService.addDiabtecResult(
bloodPressureDate: bloodPressureDate,
diastolicPressure: diastolicPressure,
systolicePressure: systolicePressure,
measuredArm: measuredArm);
if (bloodPressureService.hasError) {
error = bloodPressureService.error;
setState(ViewState.Error);
} else {
await getBloodPressure();
setState(ViewState.Idle);
}
}
}

@ -0,0 +1,119 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/chartData/WeekChartDate.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/chartData/YearMonthlyChartDate.dart';
import 'package:diplomaticquarterapp/core/service/medical/BloodSugarService.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:charts_flutter/flutter.dart' as charts;
import '../../../core/viewModels/base_view_model.dart';
class BloodSugarViewMode extends BaseViewModel {
BloodSugarService bloodSugarService = locator<BloodSugarService>();
///BLOOD
List<WeekChartDate> _bloodWeeklyTimeSeriesSalesList = List();
List<YearMonthlyChartDate> _bloodMonthlyTimeSeriesSalesList = List();
List<WeekChartDate> _bloodYearTimeSeriesSalesList = List();
List<DiabtecPatientResult> get monthDiabtecPatientResult =>
bloodSugarService.monthDiabtecPatientResult;
List<DiabtecPatientResult> get weekDiabtecPatientResult =>
bloodSugarService.weekDiabtecPatientResult;
List<DiabtecPatientResult> get yearDiabtecPatientResult =>
bloodSugarService.yearDiabtecPatientResult;
Future getBloodSugar() async {
setState(ViewState.Busy);
await bloodSugarService.getBloodSugar();
await bloodSugarService.getDiabtecResults();
if (bloodSugarService.hasError) {
error = bloodSugarService.error;
setState(ViewState.Error);
} else {
bloodSugarService.weekDiabtectResultAverageList.forEach((element) {
_bloodWeeklyTimeSeriesSalesList.add(
WeekChartDate(x: element.dateChart, y: element.dailyAverageResult));
});
for (int index = 0;
index < bloodSugarService.monthDiabtectResultAverageList.length;
index++) {
_bloodMonthlyTimeSeriesSalesList.add(YearMonthlyChartDate(
x: index,
y: bloodSugarService
.monthDiabtectResultAverageList[index].weekAverageResult));
var asd="";
}
bloodSugarService.yearDiabtecResultAverageList.forEach((element) {
_bloodYearTimeSeriesSalesList
.add(WeekChartDate(x: element.date, y: element.monthAverageResult));
});
setState(ViewState.Idle);
}
}
List<charts.Series<WeekChartDate, DateTime>> getBloodWeeklySeries() {
return [
new charts.Series<WeekChartDate, DateTime>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _bloodWeeklyTimeSeriesSalesList,
)
];
}
List<charts.Series<YearMonthlyChartDate, int>>
getBloodMonthlyTimeSeriesSales() {
return [
new charts.Series<YearMonthlyChartDate, int>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (YearMonthlyChartDate sales, _) => sales.x,
measureFn: (YearMonthlyChartDate sales, _) => sales.y,
data: _bloodMonthlyTimeSeriesSalesList,
)
];
}
List<charts.Series<WeekChartDate, DateTime>> getBloodYearTimeSeriesSales() {
return [
new charts.Series<WeekChartDate, DateTime>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _bloodYearTimeSeriesSalesList,
)
];
}
addDiabtecResult(
{String bloodSugerDateChart,
String bloodSugerResult,
String diabtecUnit,
int measuredTime}) async {
setState(ViewState.BusyLocal);
await bloodSugarService.addDiabtecResult(
bloodSugerDateChart: bloodSugerDateChart,
bloodSugerResult: bloodSugerResult ,
diabtecUnit: diabtecUnit,
measuredTime: measuredTime);
if (bloodSugarService.hasError) {
error = bloodSugarService.error;
setState(ViewState.Error);
} else {
await getBloodSugar();
setState(ViewState.Idle);
}
}
}

@ -10,9 +10,10 @@ class MedicalViewModel extends BaseViewModel {
List<AppoitmentAllHistoryResultList> get appoitmentAllHistoryResultList =>
_medicalService.appoitmentAllHistoryResultList;
getAppointmentHistory() async{
getAppointmentHistory() async {
setState(ViewState.Busy);
await _medicalService.getAppointmentHistory();
if (_medicalService.appoitmentAllHistoryResultList.length == 0)
await _medicalService.getAppointmentHistory();
if (_medicalService.hasError) {
error = _medicalService.error;
setState(ViewState.Error);

@ -0,0 +1,113 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/BloodPressureResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/blood_sugar/DiabtecPatientResult.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/chartData/WeekChartDate.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/chartData/YearMonthlyChartDate.dart';
import 'package:diplomaticquarterapp/core/model/my_trakers/weight/WeightMeasurementResult.dart';
import 'package:diplomaticquarterapp/core/service/medical/BloodPressureService.dart';
import 'package:diplomaticquarterapp/core/service/medical/BloodSugarService.dart';
import 'package:diplomaticquarterapp/core/service/medical/WeightPressureService.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:charts_flutter/flutter.dart' as charts;
import '../../../core/viewModels/base_view_model.dart';
class WeightPressureViewMode extends BaseViewModel {
WeightService weightService = locator<WeightService>();
List<WeekChartDate> _weightWeeklyTimeSeriesSalesList = List();
List<YearMonthlyChartDate> _weightMonthlyTimeSeriesSalesList = List();
List<WeekChartDate> _weightYearTimeSeriesSalesList = List();
List<WeightMeasurementResult> get monthWeightMeasurementResult =>
weightService.monthWeightMeasurementResult;
List<WeightMeasurementResult> get weekWeightMeasurementResult =>
weightService.weekWeightMeasurementResult;
List<WeightMeasurementResult> get yearWeightMeasurementResult =>
weightService.yearWeightMeasurementResult;
Future getWeight() async {
setState(ViewState.Busy);
await weightService.getWeightAverage();
await weightService.getWeightMeasurementResult();
if (weightService.hasError) {
error = weightService.error;
setState(ViewState.Error);
} else {
weightService.weekWeightMeasurementResultAverage.forEach((element) {
_weightWeeklyTimeSeriesSalesList.add(WeekChartDate(
x: element.weightDate, y: element.dailyAverageResult));
});
for (int index = 0;
index < weightService.monthWeightMeasurementResultAverage.length;
index++) {
_weightMonthlyTimeSeriesSalesList.add(YearMonthlyChartDate(
x: index,
y: weightService.monthWeightMeasurementResultAverage[index].weekAverageResult));
}
weightService.yearWeightMeasurementResultAverage.forEach((element) {
_weightYearTimeSeriesSalesList
.add(WeekChartDate(x: element.date, y: element.monthAverageResult));
});
setState(ViewState.Idle);
}
}
List<charts.Series<WeekChartDate, DateTime>> getWeightWeeklySeries() {
return [
charts.Series<WeekChartDate, DateTime>(
id: 'Diastolic',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _weightWeeklyTimeSeriesSalesList,
),
];
}
List<charts.Series<YearMonthlyChartDate, int>>
getWeightMonthlyTimeSeriesSales() {
return [
charts.Series<YearMonthlyChartDate, int>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (YearMonthlyChartDate sales, _) => sales.x,
measureFn: (YearMonthlyChartDate sales, _) => sales.y,
data: _weightMonthlyTimeSeriesSalesList,
),
];
}
List<charts.Series<WeekChartDate, DateTime>> getWeightYearTimeSeriesSales() {
return [
charts.Series<WeekChartDate, DateTime>(
id: 'Sales',
colorFn: (_, __) => charts.MaterialPalette.red.shadeDefault,
domainFn: (WeekChartDate sales, _) => sales.x,
measureFn: (WeekChartDate sales, _) => sales.y,
data: _weightYearTimeSeriesSalesList,
),
];
}
addWeightResult(
{String weightDate, String weightMeasured, int weightUnit}) async {
setState(ViewState.BusyLocal);
await weightService.addWeightResult(
weightDate: weightDate,
weightMeasured: weightMeasured,
weightUnit: weightUnit,);
if (weightService.hasError) {
error = weightService.error;
setState(ViewState.Error);
} else {
await getWeight();
setState(ViewState.Idle);
}
}
}

@ -3,8 +3,10 @@ import 'dart:async';
import 'package:connectivity/connectivity.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
class ProjectViewModel extends BaseViewModel {
AppSharedPreferences sharedPref = AppSharedPreferences();
@ -19,7 +21,9 @@ class ProjectViewModel extends BaseViewModel {
dynamic get searchValue => searchvalue;
Locale get appLocal => _appLocale;
LocaleType get localeType => isArabic? LocaleType.en:LocaleType.ar;
bool get isArabic => _isArabic;
// BaseViewModel baseViewModel = locator<BaseViewModel>()
StreamSubscription subscription;
ProjectViewModel() {

@ -14,7 +14,14 @@ import 'core/service/er/am_service.dart';
import 'core/service/er/er_service.dart';
import 'core/service/feedback/feedback_service.dart';
import 'core/service/hospital_service.dart';
import 'core/service/medical/ActiveMedicationsService.dart';
import 'core/service/medical/AllergiesService.dart';
import 'core/service/medical/BloodPressureService.dart';
import 'core/service/medical/BloodSugarService.dart';
import 'core/service/medical/EyeService.dart';
import 'core/service/medical/PatientSickLeaveService.dart';
import 'core/service/medical/WeightPressureService.dart';
import 'core/service/medical/ask_doctor_services.dart';
import 'core/service/medical/labs_service.dart';
import 'core/service/medical/medical_service.dart';
import 'core/service/medical/my_balance_service.dart';
@ -32,16 +39,23 @@ import 'core/viewModels/er/near_hospital_view_model.dart';
import 'core/viewModels/feedback/feedback_view_model.dart';
import 'core/service/medical/reports_service.dart';
import 'core/viewModels/hospital_view_model.dart';
import 'core/viewModels/medical/ActiveMedicationsViewModel.dart';
import 'core/viewModels/medical/AllergiesViewModel.dart';
import 'core/viewModels/medical/EyeViewModel.dart';
import 'core/viewModels/medical/ask_doctor_view_model.dart';
import 'core/viewModels/medical/blood_pressure_view_model.dart';
import 'core/viewModels/medical/labs_view_model.dart';
import 'core/viewModels/medical/medical_view_model.dart';
import 'core/viewModels/medical/my_balance_view_model.dart';
import 'core/viewModels/medical/my_doctor_view_model.dart';
import 'core/viewModels/medical/blood_sugar_view_model.dart';
import 'core/viewModels/medical/patient_sick_leave_view_model.dart';
import 'core/viewModels/medical/prescriptions_view_model.dart';
import 'core/viewModels/medical/radiology_view_model.dart';
import 'core/viewModels/medical/reports_monthly_view_model.dart';
import 'core/viewModels/medical/vital_sign_view_model.dart';
import 'core/viewModels/medical/reports_view_model.dart';
import 'core/viewModels/medical/weight_pressure_view_model.dart';
import 'core/viewModels/pharmacies_view_model.dart';
import 'core/service/pharmacies_service.dart';
import 'core/service/insurance_service.dart';
@ -79,6 +93,13 @@ void setupLocator() {
locator.registerLazySingleton(() => PatientSickLeaveService());
locator.registerLazySingleton(() => MyBalanceService());
locator.registerLazySingleton(() => BloodSugarService());
locator.registerLazySingleton(() => BloodPressureService());
locator.registerLazySingleton(() => WeightService());
locator.registerLazySingleton(() => EyeService());
locator.registerLazySingleton(() => ActiveMedicationsService());
locator.registerLazySingleton(() => AskDoctorService());
locator.registerLazySingleton(() => AllergiesService());
locator.registerLazySingleton(() => FindusService());
locator.registerLazySingleton(() => LiveChatService());
locator.registerLazySingleton(() => H2OService());
@ -109,4 +130,11 @@ void setupLocator() {
locator.registerFactory(() => LiveChatViewModel());
locator.registerFactory(() => H2OViewModel());
locator.registerFactory(() => BloodSugarViewMode());
locator.registerFactory(() => BloodPressureViewMode());
locator.registerFactory(() => WeightPressureViewMode());
locator.registerFactory(() => EyeViewModel());
locator.registerFactory(() => ActiveMedicationsViewModel());
locator.registerFactory(() => AskDoctorViewModel());
locator.registerFactory(() => AllergiesViewModel());
}

@ -13,6 +13,7 @@ class DoctorView extends StatelessWidget {
final DoctorList doctor;
DoctorView({@required this.doctor});
@override

@ -139,7 +139,7 @@ class _HospitalsLiveChatPageState extends State<HospitalsLiveChatPage> {
IconButton(
icon: Icon(
Icons
.arrow_forward_rounded,
.arrow_forward,
color:
tappedIndex == index
? Colors.white

@ -38,7 +38,10 @@ class _BaseViewState<T extends BaseViewModel> extends State<BaseView<T>> {
@override
void dispose() {
if (model != null) model = null;
if (model != null) {
model = null;
}
super.dispose();
}
}

@ -1,4 +1,5 @@
import 'dart:io';
import 'dart:typed_data';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
@ -12,6 +13,8 @@ import 'package:diplomaticquarterapp/pages/livecare/incoming_call.dart';
import 'package:diplomaticquarterapp/pages/medical/medical_profile_page.dart';
import 'package:diplomaticquarterapp/pages/medical/my_admissions_page.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart';
import 'package:diplomaticquarterapp/uitl/LocalNotification.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/bottom_navigation/bottom_nav_bar.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/confirm_dialog.dart';
@ -19,10 +22,16 @@ import 'package:diplomaticquarterapp/widgets/drawer/app_drawer_widget.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
import 'package:permission_handler/permission_handler.dart';
import 'package:provider/provider.dart';
import 'package:rxdart/rxdart.dart';
import 'home_page.dart';
class LandingPage extends StatefulWidget {
static bool isOpenCallPage = false;
@ -39,6 +48,16 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
final authService = new AuthProvider();
void _requestIOSPermissions() {
flutterLocalNotificationsPlugin
.resolvePlatformSpecificImplementation<
IOSFlutterLocalNotificationsPlugin>()
?.requestPermissions(
alert: true,
badge: true,
sound: true,
);
}
bool isPageNavigated = false;
_changeCurrentTab(int tab) {
@ -102,6 +121,7 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
setState(() {
AppGlobal.context = context;
});
_requestIOSPermissions();
pageController = PageController(keepPage: true);
_firebaseMessaging.setAutoInitEnabled(true);
@ -119,9 +139,8 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
print(err);
});
// TODO fix hot reload issue
//_firebase Background message handler
// _firebaseMessaging.configure(
_firebaseMessaging.configure(
// onMessage: (Map<String, dynamic> message) async {
// showDialog("onMessage: $message");
// print("onMessage: $message");
@ -211,17 +230,18 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
// print(route.settings.name);
// }
//
// Map<String, dynamic> myMap = new Map<String, dynamic>.from(message);
// Map<String, dynamic> myMap =
// new Map<String, dynamic>.from(message);
// print(myMap);
// LandingPage.isOpenCallPage = true;
// LandingPage.incomingCallData = IncomingCallData.fromJson(myMap);
// if (!isPageNavigated) {
// isPageNavigated = true;
// Navigator.push(
// context,
// MaterialPageRoute(
// builder: (context) => IncomingCall(
// incomingCallData: LandingPage.incomingCallData)))
// context,
// MaterialPageRoute(
// builder: (context) => IncomingCall(
// incomingCallData: LandingPage.incomingCallData)))
// .then((value) {
// isPageNavigated = false;
// });
@ -233,10 +253,12 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
// print("Is Call Not Found iOS");
// }
// },
// );
);
}
showDialog(String message) {
showDialogs(String message) {
ConfirmDialog dialog = new ConfirmDialog(
context: context,
confirmMessage: message,
@ -254,10 +276,55 @@ class _LandingPageState extends State<LandingPage> with WidgetsBindingObserver {
Permission.camera,
Permission.photos,
Permission.notification,
Permission.accessMediaLocation
Permission.accessMediaLocation,
Permission.calendar,
].request();
var permissionsGranted = await deviceCalendarPlugin.hasPermissions();
if (permissionsGranted.isSuccess && !permissionsGranted.data) {
permissionsGranted = await deviceCalendarPlugin.requestPermissions();
if (!permissionsGranted.isSuccess || !permissionsGranted.data) {
return;
}
}
}
Future<void> _scheduleNotification() async {
var scheduledNotificationDateTime =
DateTime.now().add(Duration(seconds: 5));
var vibrationPattern = Int64List(4);
vibrationPattern[0] = 0;
vibrationPattern[1] = 1000;
vibrationPattern[2] = 5000;
vibrationPattern[3] = 2000;
var androidPlatformChannelSpecifics = AndroidNotificationDetails(
'your other channel id',
'your other channel name',
'your other channel description',
// icon: 'secondary_icon',
sound: RawResourceAndroidNotificationSound('slow_spring_board'),
largeIcon: DrawableResourceAndroidBitmap('sample_large_icon'),
vibrationPattern: vibrationPattern,
enableLights: true,
color: const Color.fromARGB(255, 255, 0, 0),
ledColor: const Color.fromARGB(255, 255, 0, 0),
ledOnMs: 1000,
ledOffMs: 500);
var iOSPlatformChannelSpecifics =
IOSNotificationDetails(sound: 'slow_spring_board.aiff');
var platformChannelSpecifics = NotificationDetails(
androidPlatformChannelSpecifics, iOSPlatformChannelSpecifics);
await flutterLocalNotificationsPlugin.schedule(
0,
'scheduled title',
'scheduled body',
scheduledNotificationDateTime,
platformChannelSpecifics);
}
@override
Widget build(BuildContext context) {
//final searchValue = Provider.of<SearchProvider>(context);

@ -131,6 +131,7 @@ class _Login extends State<Login> {
}
void validateForm() {
//TODO fix login
if (util.validateIDBox(nationalIDorFile.text, loginType) == true &&
mobileNo.length >= 9 &&
util.isSAUDIIDValid(nationalIDorFile.text, loginType) == true) {
@ -139,7 +140,7 @@ class _Login extends State<Login> {
});
} else {
setState(() {
isButtonDisabled = true;
isButtonDisabled = false;
});
}
}

@ -0,0 +1,131 @@
import 'package:diplomaticquarterapp/config/size_config.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/ActiveMedicationsViewModel.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/active_medications/reminder_page.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ActiveMedicationsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BaseView<ActiveMedicationsViewModel>(
onModelReady: (model) => model.getActiveMedication(),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
appBarTitle: TranslationBase.of(context).activeMedications,
isShowAppBar: true,
body: Container(
child: ListView.builder(
itemCount: model.activePrescriptionReport.length,
itemBuilder: (context, index) => Container(
padding: EdgeInsets.all(10),
margin: EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8), color: Colors.white),
child: Row(
children: [
Image.memory(
Utils.dataFromBase64String(model
.activePrescriptionReport[index].productImageBase64),
height: SizeConfig.imageSizeMultiplier * 19,
width: SizeConfig.imageSizeMultiplier * 18,
fit: BoxFit.cover,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Texts(
model.activePrescriptionReport[index].itemDescription,
bold: true,
),
SizedBox(
height: 5,
),
Texts(
TranslationBase.of(context).expDate+' :' +
DateUtil.getDayMonthYearDateFormatted(model
.activePrescriptionReport[index].orderDate),
),
SizedBox(
height: 5,
),
Texts(
TranslationBase.of(context).route+ ' :' +
model.activePrescriptionReport[index].route,
),
SizedBox(
height: 5,
),
Texts(
TranslationBase.of(context).frequency+ ' :' +
model.activePrescriptionReport[index].frequency,
),
SizedBox(
height: 5,
),
Texts(
TranslationBase.of(context).dailyQuantity + ' :${model.activePrescriptionReport[index].doseDailyQuantity}',
),
],
),
),
Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Icon(
Icons.notifications,
color: Colors.red,
size: 28,
),
SizedBox(height: 25,),
InkWell(
onTap: (){
Navigator.push(
context,
FadePage(
page: ReminderPage(
frequency: model.activePrescriptionReport[index]
.frequencyNumber,
days: model.activePrescriptionReport[index].days,
itemDescription: model
.activePrescriptionReport[index]
.itemDescription,
),
),
);
},
child: Row(
children: [
Icon(
Icons.notifications_active,
color: Colors.red,
size: 28,
),
Texts(
TranslationBase.of(context).addReminder,
color: Colors.red,
)
],
),
)
],
),
)
],
),
),
),
),
),
);
}
}

@ -0,0 +1,161 @@
import 'package:device_calendar/device_calendar.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class DayCheckBoxDialog extends StatefulWidget {
final Function(List<DayOfWeek>) onValueSelected;
final String title;
final List<DayOfWeek> selectedDaysOfWeek;
final List<DayOfWeek> daysOfWeek = [
DayOfWeek.Monday,
DayOfWeek.Tuesday,
DayOfWeek.Wednesday,
DayOfWeek.Thursday,
DayOfWeek.Friday,
DayOfWeek.Saturday,
DayOfWeek.Sunday,
];
DayCheckBoxDialog(
{Key key, this.onValueSelected, this.selectedDaysOfWeek, this.title});
@override
_DayCheckBoxDialogState createState() => _DayCheckBoxDialogState();
}
class _DayCheckBoxDialogState extends State<DayCheckBoxDialog> {
@override
Widget build(BuildContext context) {
return SimpleDialog(
title: Container(
width: double.infinity,
child: Center(
child: Texts(
widget.title,
textAlign: TextAlign.center,
))),
children: [
Container(
height: widget.daysOfWeek.length > 3
? MediaQuery.of(context).size.height * 0.6
: null,
child: SingleChildScrollView(
child: Column(
children: [
Divider(),
...List.generate(
widget.daysOfWeek.length,
(index) => Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 2,
),
Row(
children: <Widget>[
Expanded(
flex: 1,
child: InkWell(
onTap: () {
setState(() {
if (widget.selectedDaysOfWeek
.contains(widget.daysOfWeek[index]))
widget.selectedDaysOfWeek
.remove(widget.daysOfWeek[index]);
else
widget.selectedDaysOfWeek
.add(widget.daysOfWeek[index]);
});
},
child: ListTile(
title: Text(DateUtil.getDay(widget.daysOfWeek[index])),
leading: Checkbox(
value: widget.selectedDaysOfWeek
.contains(widget.daysOfWeek[index]),
onChanged: (value) {
setState(() {
if (widget.selectedDaysOfWeek
.contains(widget.daysOfWeek[index]))
widget.selectedDaysOfWeek
.remove(widget.daysOfWeek[index]);
else
widget.selectedDaysOfWeek
.add(widget.daysOfWeek[index]);
});
},
),
),
),
)
],
),
SizedBox(
height: 5.0,
),
],
),
),
SizedBox(
height: 5.0,
),
Row(
children: <Widget>[
Expanded(
flex: 1,
child: InkWell(
onTap: () {
Navigator.pop(context);
},
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Container(
child: Center(
child: Texts(
TranslationBase.of(context)
.cancel
.toUpperCase(),
color: Colors.red,
),
),
),
),
),
),
Container(
width: 1,
height: 30,
color: Colors.grey[500],
),
Expanded(
flex: 1,
child: InkWell(
onTap: () {
widget.onValueSelected(widget.selectedDaysOfWeek);
Navigator.pop(context);
},
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Center(
child: Texts(
TranslationBase.of(context).ok,
fontWeight: FontWeight.w400,
),
),
),
),
),
],
)
],
),
),
)
],
);
}
}

@ -0,0 +1,332 @@
import 'package:device_calendar/device_calendar.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/ActiveMedicationsViewModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/CalendarUtils.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:provider/provider.dart';
import 'DayCheckBoxDialog.dart';
// ignore: must_be_immutable
class ReminderPage extends StatefulWidget {
final int frequency;
final int days;
final String itemDescription;
List<DateTime> _scheduleList = List();
List<DayOfWeek> daysOfWeek = [
DayOfWeek.Monday,
DayOfWeek.Tuesday,
DayOfWeek.Wednesday,
DayOfWeek.Thursday,
DayOfWeek.Friday,
DayOfWeek.Saturday,
DayOfWeek.Sunday
];
DateTime startDay;
DateTime endDay;
ReminderPage({Key key, this.frequency, this.days, this.itemDescription}) {
startDay = DateTime.now();
endDay = DateTime.now().add(Duration(days: days));
int hour = (24 ~/ frequency).round();
int durations = 24 ~/ hour;
for (int count = 0; count < durations; count++) {
_scheduleList.add(DateTime(DateTime.now().year, DateTime.now().month,
DateTime.now().day, (hour * count)));
}
}
@override
_ReminderPageState createState() => _ReminderPageState();
}
class _ReminderPageState extends State<ReminderPage> {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<ActiveMedicationsViewModel>(
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).reminder,
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: double.maxFinite,
child: Texts(TranslationBase.of(context).reminderDes),
),
Divider(),
SizedBox(
height: 12,
),
Texts(TranslationBase.of(context).startDay),
SizedBox(
height: 6,
),
InkWell(
onTap: () {
DatePicker.showDatePicker(context,
showTitleActions: true,
minTime: DateTime(
DateTime.now().year, DateTime.now().month - 1, 1),
maxTime: DateTime.now(), onConfirm: (date) {
setState(() {
widget.startDay = date;
});
},
currentTime: widget.startDay,
locale: projectViewModel.localeType);
},
child: Container(
padding: EdgeInsets.all(12),
width: double.infinity,
height: 65,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: Colors.white),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Texts(getStartDay()),
Icon(
Icons.calendar_today,
color: Colors.black,
)
],
),
),
),
SizedBox(
height: 12,
),
Texts(TranslationBase.of(context).endDay),
SizedBox(
height: 6,
),
InkWell(
onTap: () {
DatePicker.showDatePicker(context,
showTitleActions: true,
minTime: DateTime(
DateTime.now().year, DateTime.now().month - 1, 1),
maxTime: DateTime.now(), onConfirm: (date) {
setState(() {
widget.endDay = date;
});
},
currentTime: widget.endDay,
locale: projectViewModel.localeType);
},
child: Container(
padding: EdgeInsets.all(12),
width: double.infinity,
height: 65,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: Colors.white),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Texts(getEndDay()),
Icon(
Icons.calendar_today,
color: Colors.black,
)
],
),
),
),
SizedBox(
height: 12,
),
Texts(TranslationBase.of(context).days),
SizedBox(
height: 6,
),
InkWell(
onTap: () => confirmSelectDayDialog(),
child: Container(
padding: EdgeInsets.all(12),
width: double.infinity,
height: 65,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: Colors.white),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expanded(
child: Texts(
getDays(),
)),
Icon(
Icons.arrow_drop_down,
color: Colors.black,
)
],
),
),
),
...List.generate(
widget._scheduleList.length,
(index) => Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 7,
),
Texts(TranslationBase.of(context).scheduleTime),
SizedBox(
height: 7,
),
InkWell(
onTap: () {
DatePicker.showTimePicker(context,
showTitleActions: true, onConfirm: (date) {
setState(() {
widget._scheduleList[index] = date;
});
},
currentTime: widget._scheduleList[index],
locale: projectViewModel.localeType);
},
child: Container(
padding: EdgeInsets.all(12),
width: double.infinity,
height: 65,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: Colors.white),
child: Row(
mainAxisAlignment:
MainAxisAlignment.spaceBetween,
children: [
Texts(getDateTime(
widget._scheduleList[index])),
Icon(
Icons.access_time,
color: Colors.black,
)
],
),
),
),
],
)),
Container(
width: double.maxFinite,
height: MediaQuery.of(context).size.height * 0.12,
),
],
),
),
),
bottomSheet: Container(
width: double.infinity,
height: MediaQuery.of(context).size.height * 0.2,
padding: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SecondaryButton(
label: TranslationBase.of(context).ok,
color: Colors.grey[800],
textColor: Colors.white,
onTap: () {
schedule();
},
),
SizedBox(
height: 15,
),
SecondaryButton(
label: TranslationBase.of(context).cancel,
color: Colors.red[800],
textColor: Colors.white,
onTap: () {
Navigator.pop(context);
},
),
],
),
),
),
);
}
schedule() async {
List<DateTime> scheduleDateTime =
calculateDaysInterval(widget.startDay, widget.endDay);
CalendarUtils calendarUtils = await CalendarUtils.getInstance();
calendarUtils.createOrUpdateEvents(
scheduleList: widget._scheduleList,
description: widget.itemDescription,
title: widget.itemDescription,
scheduleDateTime: scheduleDateTime);
Navigator.pop(context);
}
List<DateTime> calculateDaysInterval(DateTime startDate, DateTime endDate) {
List<DateTime> days = [];
for (int i = 0; i <= endDate.difference(startDate).inDays; i++) {
widget._scheduleList.forEach((element) {
days.add(startDate.add(
Duration(days: i, hours: element.hour, minutes: element.minute)));
});
}
return days;
}
String getStartDay() {
return "${DateUtil.getMonth(widget.startDay.month)} ${widget.startDay.day}, ${widget.startDay.year}";
}
String getEndDay() {
return "${DateUtil.getMonth(widget.endDay.month)} ${widget.endDay.day}, ${widget.endDay.year}";
}
String getDateTime(DateTime dateTime) {
return '${dateTime.hour}:${dateTime.minute}';
}
String getDays() {
String days = "";
widget.daysOfWeek.forEach((element) {
days += "${DateUtil.getDay(element)},";
});
return days;
}
void confirmSelectDayDialog() {
showDialog(
context: context,
child: DayCheckBoxDialog(
title: 'Select Day',
selectedDaysOfWeek: widget.daysOfWeek,
onValueSelected: (value) {
setState(() {
widget.daysOfWeek = value;
});
},
),
);
}
}

@ -0,0 +1,54 @@
import 'package:diplomaticquarterapp/core/viewModels/medical/AllergiesViewModel.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class AllergiesPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BaseView<AllergiesViewModel>(
onModelReady: (model) => model.getAllergies(),
builder: (_, model, w) => AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).allergies,
baseViewModel: model,
body: ListView.builder(
itemCount: model.allergies.length,
itemBuilder: (context, index) => Container(
margin: EdgeInsets.all(15),
padding: EdgeInsets.all(10),
decoration: BoxDecoration(
shape: BoxShape.rectangle,
color: Colors.white,
),
child: Row(
children: [
Image.asset(
'assets/images/new-design/allergiesDetails.png',
width: 50,
height: 50,
fit: BoxFit.cover,
),
SizedBox(
width: 15,
),
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Texts(TranslationBase.of(context).remarks+" :"),
Texts(TranslationBase.of(context).description + model.allergies[index].description ?? ''),
],
),
)
],
),
),
),
),
);
}
}

@ -0,0 +1,33 @@
import 'package:diplomaticquarterapp/core/model/ask_doctor/DoctorResponse.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/ask_doctor_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
class ViewDoctorResponsesPage extends StatelessWidget {
final DoctorResponse doctorResponse;
const ViewDoctorResponsesPage({Key key, this.doctorResponse})
: super(key: key);
@override
Widget build(BuildContext context) {
return BaseView<AskDoctorViewModel>(
onModelReady: (model) => model.updateReadStatus(transactionNo: doctorResponse.transactionNo),
builder: (_, model, w) => AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).viewDoctorResponses,
baseViewModel: model,
body: SingleChildScrollView(
child: Container(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [],
),
),
),
),
);
}
}

@ -0,0 +1,125 @@
import 'dart:ui';
import 'package:diplomaticquarterapp/core/viewModels/medical/ask_doctor_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/prescriptions_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_history_page.dart';
import 'package:diplomaticquarterapp/pages/medical/prescriptions/prescriptions_page.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'ask_doctor_page.dart';
import 'doctor_response.dart';
class AskDoctorHomPage extends StatefulWidget {
@override
_AskDoctorHomPageState createState() => _AskDoctorHomPageState();
}
class _AskDoctorHomPageState extends State<AskDoctorHomPage>
with SingleTickerProviderStateMixin {
TabController _tabController;
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
void dispose() {
super.dispose();
_tabController.dispose();
}
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).askDoctor,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
preferredSize: Size.fromHeight(65.0),
child: Stack(
children: <Widget>[
Positioned(
bottom: 1,
left: 0,
right: 0,
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
child: Container(
color: Theme.of(context)
.scaffoldBackgroundColor
.withOpacity(0.8),
height: 70.0,
),
),
),
Center(
child: Container(
height: 60.0,
margin: EdgeInsets.only(top: 10.0),
width: MediaQuery.of(context).size.width * 0.9,
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(
color: Theme.of(context).dividerColor,
width: 0.9),
),
color: Colors.white),
child: Center(
child: TabBar(
isScrollable: true,
controller: _tabController,
indicatorWeight: 5.0,
//indicatorSize: TabBarIndicatorSize.label,
indicatorColor: Colors.red[800],
labelColor: Theme.of(context).primaryColor,
labelPadding: EdgeInsets.only(top: 4.0, left: 18.0, right: 18.0),
unselectedLabelColor: Colors.grey[800],
tabs: [
Tab(
child: Container(
width: MediaQuery.of(context).size.width * 0.36,
child: Center(
child: Texts(TranslationBase.of(context).askDoctor),
),
),
),
Tab(child: Container(
width: MediaQuery.of(context).size.width * 0.36,
child: Center(
child: Texts(TranslationBase.of(context).doctorResponses,textAlign: TextAlign.start,),
),
),)
],
),
),
),
),
],
),
),
body: Column(
children: <Widget>[
Expanded(
child: TabBarView(
physics: BouncingScrollPhysics(),
controller: _tabController,
children: <Widget>[
AskDoctorPage(),
DoctorResponse()
],
),
)
],
),
),
);
}
}

@ -0,0 +1,240 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/ask_doctor_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/widgets/DoctorView.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/ask_doctor/request_type.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
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:rating_bar/rating_bar.dart';
import 'package:smart_progress_bar/smart_progress_bar.dart';
class AskDoctorPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return BaseView<AskDoctorViewModel>(
onModelReady: (model) => model.getMyDoctor(),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.all(10),
child: Column(
children: [
SizedBox(
height: 70,
),
...List.generate(
model.patientDoctorAppointmentListHospital.length,
(index) => AppExpandableNotifier(
title:
model.patientDoctorAppointmentListHospital[index].filterName,
bodyWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children:
model.patientDoctorAppointmentListHospital[index].patientDoctorAppointmentList.map((doctor) {
return InkWell(
onTap: () {
model
.getCallInfoHoursResult(
doctorId: doctor.doctorID,
projectId: doctor.projectID)
.then((value) {
if (model.state != ViewState.ErrorLocal &&
model.state != ViewState.Error) {
// Navigator.pop(context);
Navigator.push(
context,
FadePage(
page: RequestTypePage(doctorList: doctor,),
),
);
} else {
AppToast.showErrorToast(message: model.error);
}
});
///.showProgressBar(
// text: "Loading",
// backgroundColor:
// Colors.blue.withOpacity(0.6))
},
child: Card(
margin:
EdgeInsets.fromLTRB(10.0, 16.0, 10.0, 8.0),
color: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
child: Container(
decoration: BoxDecoration(),
padding: EdgeInsets.all(7.0),
width: MediaQuery.of(context).size.width,
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Expanded(
flex: 1,
child: ClipRRect(
borderRadius:
BorderRadius.circular(100.0),
child: Image.network(
doctor.doctorImageURL,
fit: BoxFit.fill,
height: 60.0,
width: 60.0),
),
),
Expanded(
flex: 4,
child: Container(
width:
MediaQuery.of(context).size.width *
0.55,
margin: EdgeInsets.fromLTRB(
20.0, 10.0, 10.0, 0.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
if (doctor.doctorTitle != null)
Text(
doctor.doctorTitle +
" " +
doctor.name,
style: TextStyle(
fontSize: 14.0,
color: Colors.grey[700],
letterSpacing: 1.0)),
Container(
margin: EdgeInsets.only(top: 3.0),
child: Text(doctor.clinicName,
style: TextStyle(
fontSize: 12.0,
color: Colors.grey[600],
letterSpacing: 1.0)),
),
Container(
margin: EdgeInsets.only(top: 3.0),
child: Text(doctor.projectName,
style: TextStyle(
fontSize: 12.0,
color: Colors.grey[600],
letterSpacing: 1.0)),
),
if (doctor.speciality != null)
Container(
margin: EdgeInsets.only(
top: 3.0, bottom: 3.0),
child: Text(
getDoctorSpeciality(
doctor.speciality)
.trim(),
style: TextStyle(
fontSize: 12.0,
color: Colors.grey[600],
letterSpacing: 1.0)),
),
doctor.nearestFreeSlot != null
? Container(
margin: EdgeInsets.only(
top: 3.0, bottom: 3.0),
child: Text(
getDate(doctor
.nearestFreeSlot),
style: TextStyle(
fontSize: 14.0,
fontWeight:
FontWeight.bold,
color: Colors
.green[600],
letterSpacing:
1.0)),
)
: Container(),
Row(
mainAxisAlignment:
MainAxisAlignment
.spaceBetween,
mainAxisSize: MainAxisSize.max,
children: <Widget>[
RatingBar.readOnly(
initialRating: doctor
.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: Image.network(
doctor.nationalityFlagURL,
width: 25.0,
height: 25.0),
),
],
),
],
),
),
),
],
),
),
),
);
}).toList(),
)),
)
],
),
),
),
),
);
}
String getDoctorSpeciality(List<String> docSpecial) {
String docSpeciality = "";
docSpecial.forEach((v) {
docSpeciality = docSpeciality + v + "\n";
});
return docSpeciality;
}
String getDate(String date) {
DateTime dateObj = DateUtil.convertStringToDate(date);
return DateUtil.getWeekDay(dateObj.weekday) +
", " +
dateObj.day.toString() +
" " +
DateUtil.getMonth(dateObj.month) +
" " +
dateObj.year.toString() +
" " +
dateObj.hour.toString() +
":" +
getMinute(dateObj);
}
String getMinute(DateTime dateObj) {
if (dateObj.minute == 0) {
return dateObj.minute.toString() + "0";
} else {
return dateObj.minute.toString();
}
}
}

@ -0,0 +1,189 @@
import 'package:diplomaticquarterapp/core/viewModels/medical/ask_doctor_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
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:provider/provider.dart';
import 'ViewDoctorResponsesPage.dart';
class DoctorResponse extends StatelessWidget {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<AskDoctorViewModel>(
onModelReady: (model) => model.getDoctorResponse(),
builder: (_, model, w) => AppScaffold(
baseViewModel: model,
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.all(12),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
height: 65,
),
AppExpandableNotifier(
header: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Texts(TranslationBase.of(context).newDes),
Container(
width: 30,
height: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.red[800],
),
child: Center(
child: Texts(
'${model.doctorResponseList.length}',
color: Colors.white,
),
),
)
],
),
),
bodyWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: model.doctorResponseList.map(
(doctor) {
return InkWell(
onTap: () {
///go to page ViewDoctorResponsesPage
Navigator.push(
context,
FadePage(
page: ViewDoctorResponsesPage(
doctorResponse: doctor,
),
),
);
},
child: Container(
height: 70,
margin: EdgeInsets.only(top: 8, bottom: 8),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Colors.white,
border: Border.all(color: Colors.grey[300]),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Texts('${doctor.doctorName}'),
SizedBox(
height: 5,
),
Texts(
'${doctor.requestTypeDescription}'),
],
),
),
),
Icon(projectViewModel.isArabic
? Icons.arrow_forward_ios
: Icons.arrow_back_ios)
],
),
),
);
},
).toList(),
),
),
AppExpandableNotifier(
header: Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Texts(TranslationBase.of(context).all),
Container(
width: 30,
height: 30,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Colors.red[800],
),
child: Center(
child: Texts(
'${model.doctorResponseList.length}',
color: Colors.white,
),
),
)
],
),
),
bodyWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: model.doctorResponseList.map(
(doctor) {
return InkWell(
onTap: () {},
child: Container(
height: 70,
margin: EdgeInsets.only(top: 8, bottom: 8),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Colors.white,
border: Border.all(color: Colors.grey[300]),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Texts('${doctor.doctorName}'),
SizedBox(
height: 5,
),
Texts(
'${doctor.requestTypeDescription}'),
],
),
),
),
Icon(projectViewModel.isArabic
? Icons.arrow_forward_ios
: Icons.arrow_back_ios)
],
),
),
);
},
).toList(),
),
),
],
),
),
),
),
);
}
}

@ -0,0 +1,134 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/ask_doctor_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/DoctorListResponse.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class RequestTypePage extends StatefulWidget {
final DoctorList doctorList;
RequestTypePage({Key key, this.doctorList});
@override
_RequestTypePageState createState() => _RequestTypePageState();
}
class _RequestTypePageState extends State<RequestTypePage> {
String selected = "";
int parameterCode = -1;
String question = "";
@override
Widget build(BuildContext context) {
return BaseView<AskDoctorViewModel>(
onModelReady: (model) => model.getCallRequestTypeLOVs(),
builder: (_, model, w) => AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).requestType,
baseViewModel: model,
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.all(10),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
...List.generate(
model.askDoctorReqTypes.length,
(index) => Container(
width: double.maxFinite,
height: 55,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(8.0)),
margin: EdgeInsets.all(8.0),
child: InkWell(
onTap: () {
setState(() {
selected = model.askDoctorReqTypes[index].description;
parameterCode =
model.askDoctorReqTypes[index].parameterCode;
});
},
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
model.askDoctorReqTypes[index].description),
),
Radio(
value: model.askDoctorReqTypes[index].description,
groupValue: selected,
activeColor: Colors.red[800],
onChanged: (value) {
setState(() {
selected = value;
parameterCode = model
.askDoctorReqTypes[index].parameterCode;
});
},
),
],
),
),
),
),
if (parameterCode == 6)
Container(
margin: EdgeInsets.only(left: 10, right: 10),
child: NewTextFields(
hintText: TranslationBase.of(context).questionHere,
minLines: 2,
maxLines: 15,
onChanged: (value) {
setState(() {
question = value;
});
},
),
),
Container(
width: double.maxFinite,
height: MediaQuery.of(context).size.height * 0.2,
),
],
),
),
),
bottomSheet: Container(
width: double.maxFinite,
height: MediaQuery.of(context).size.height * 0.1,
child: Padding(
padding: const EdgeInsets.all(12.0),
child: SecondaryButton(
label: TranslationBase.of(context).submit,
loading: model.state == ViewState.BusyLocal,
textColor: Colors.white,
onTap: () {
model
.sendRequestLOV(
doctorList: widget.doctorList,
requestType: parameterCode.toString(),
remark: question)
.then((value) {
if (model.state != ViewState.ErrorLocal ||
model.state != ViewState.Error) {
Navigator.pop(context);
}
});
},
color: Colors.grey[800],
),
),
),
),
);
}
}

@ -1,5 +1,3 @@
import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';

@ -95,35 +95,7 @@ class DoctorHomePage extends StatelessWidget {
return DoctorView(
doctor: doctorList,
);
/* InkWell(
onTap: () async {
model
.getDoctorProfileAndRating(
doctorId: doctor.doctorID,
clinicID: doctor.clinicID,
projectID: doctor.projectID)
.then((value) {
var asd="";
Navigator.push(
context,
FadePage(
page: DoctorView(doctor: model.doctorList,),
),
);
}).catchError((e){
var asd="";
});
},
child: DoctorCard(
name: doctor.doctorName,
profileUrl: doctor.doctorImageURL,
rat: doctor.doctorRate.toDouble(),
subName: DateUtil.getMonthDayYearDateFormatted(
doctor.appointmentDate),
),
)*/
;
}).toList(),
)),
)

@ -0,0 +1,126 @@
import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/EyeViewModel.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ClassesPage extends StatelessWidget {
final ListHISGetGlassPerscription glassPerscription;
const ClassesPage({Key key, this.glassPerscription}) : super(key: key);
@override
Widget build(BuildContext context) {
return BaseView<EyeViewModel>(
builder: (_, model, w) => AppScaffold(
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.only(top: 70, left: 15, right: 15, bottom: 15),
child: Column(
children: [
Container(
decoration: BoxDecoration(
shape: BoxShape.rectangle,
borderRadius: BorderRadius.all(Radius.circular(8)),
color: Colors.white),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(
TranslationBase.of(context).rightEye,
fontSize: 23,
bold: true,
),
),
getRow(TranslationBase.of(context).sphere, '${glassPerscription.rightEyeSpherical}', '-'),
getRow(TranslationBase.of(context).cylinder, '${glassPerscription.rightEyeCylinder}', '-'),
getRow(TranslationBase.of(context).axis, '${glassPerscription.rightEyeAxis}', '-'),
getRow(TranslationBase.of(context).prism, '${glassPerscription.rightEyePrism}', '-'),
getRow(TranslationBase.of(context).va, '${glassPerscription.rightEyeVA}', '-'),
],
),
),
SizedBox(
height: 17,
),
Container(
decoration: BoxDecoration(
shape: BoxShape.rectangle,
borderRadius: BorderRadius.all(Radius.circular(8)),
color: Colors.white),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(
TranslationBase.of(context).leftEye,
fontSize: 23,
bold: true,
),
),
getRow(TranslationBase.of(context).sphere, '${glassPerscription.leftEyeSpherical}', '-'),
getRow(TranslationBase.of(context).cylinder, '${glassPerscription.leftEyeCylinder}', '-'),
getRow(TranslationBase.of(context).axis, '${glassPerscription.leftEyeAxis}', '-'),
getRow(TranslationBase.of(context).prism, '${glassPerscription.leftEyePrism}', '-'),
getRow(TranslationBase.of(context).va, '${glassPerscription.leftEyeVA}', '-'),
],
),
),
SizedBox(
height: 17,
),
Container(
width: double.infinity,
child: SecondaryButton(
label: TranslationBase.of(context).sendEmail,
textColor: Colors.white,
color: Colors.red[700],
icon: Icon(
Icons.email,
color: Colors.white,
),
),
)
],
),
),
),
),
);
}
Widget getRow(String title, String val1, String val2) => Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Expanded(flex: 4, child: Texts(title)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Texts(val1 == 'null' ? '-' : val1),
Texts(val2 != 'null' ? '-' :val2),
],
),
)
],
),
Divider()
],
),
);
}

@ -0,0 +1,129 @@
import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class ContactLensPage extends StatelessWidget {
final ListHISGetContactLensPerscription listHISGetContactLensPerscription;
const ContactLensPage({Key key, this.listHISGetContactLensPerscription})
: super(key: key);
@override
Widget build(BuildContext context) {
return AppScaffold(
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.only(top: 70, left: 15, right: 15, bottom: 15),
child: Column(
children: [
Container(
decoration: BoxDecoration(
shape: BoxShape.rectangle,
borderRadius: BorderRadius.all(Radius.circular(8)),
color: Colors.white),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(
TranslationBase.of(context).rightEye,
fontSize: 23,
bold: true,
),
),
getRow(TranslationBase.of(context).brand, '${listHISGetContactLensPerscription.brand}'),
getRow('B.C', '${listHISGetContactLensPerscription.baseCurve}'),
getRow(TranslationBase.of(context).power, '${listHISGetContactLensPerscription.power}'),
getRow(TranslationBase.of(context).diameter, '${listHISGetContactLensPerscription.diameter}'),
getRow('OZ', '${listHISGetContactLensPerscription.oZ}'),
getRow('CT', '${listHISGetContactLensPerscription.cT}'),
getRow('Blend', '${listHISGetContactLensPerscription.blend}'),
getRow(TranslationBase.of(context).reminder, '${listHISGetContactLensPerscription.remarks}'),
],
),
),
SizedBox(
height: 17,
),
Container(
decoration: BoxDecoration(
shape: BoxShape.rectangle,
borderRadius: BorderRadius.all(Radius.circular(8)),
color: Colors.white),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Texts(
TranslationBase.of(context).leftEye,
fontSize: 23,
bold: true,
),
),
getRow(TranslationBase.of(context).brand, '${listHISGetContactLensPerscription.brand}'),
getRow('B.C', '${listHISGetContactLensPerscription.baseCurve}'),
getRow(TranslationBase.of(context).power, '${listHISGetContactLensPerscription.power}'),
getRow(TranslationBase.of(context).diameter, '${listHISGetContactLensPerscription.diameter}'),
getRow('OZ', '${listHISGetContactLensPerscription.oZ}'),
getRow('CT', '${listHISGetContactLensPerscription.cT}'),
getRow('Blend', '${listHISGetContactLensPerscription.blend}'),
getRow(TranslationBase.of(context).reminder, '${listHISGetContactLensPerscription.remarks}'),
],
),
),
SizedBox(
height: 17,
),
Container(
width: double.infinity,
child: SecondaryButton(
label: TranslationBase.of(context).sendEmail,
textColor: Colors.white,
color: Colors.red[700],
icon: Icon(
Icons.email,
color: Colors.white,
),
),
)
],
),
),
),
);
}
Widget getRow(String title, String val1) => Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Expanded(flex: 4, child: Texts(title)),
Expanded(
flex: 2,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Texts(val1 == 'null' ? '-' : val1),
],
),
)
],
),
Divider()
],
),
);
}

@ -0,0 +1,128 @@
import 'dart:ui';
import 'package:diplomaticquarterapp/core/model/eye/AppoimentAllHistoryResult.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/EyeViewModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/medical/weight_pressure_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'ClassesPage.dart';
import 'ContactLensPage.dart';
class EyeHomePage extends StatefulWidget {
final AppoimentAllHistoryResultList appointmentAllHistoryResultList;
const EyeHomePage({Key key, this.appointmentAllHistoryResultList})
: super(key: key);
@override
_EyeHomePageState createState() => _EyeHomePageState();
}
class _EyeHomePageState extends State<EyeHomePage>
with SingleTickerProviderStateMixin {
TabController _tabController;
@override
void initState() {
super.initState();
_tabController = TabController(length: 2, vsync: this);
}
@override
void dispose() {
super.dispose();
_tabController.dispose();
}
@override
Widget build(BuildContext context) {
return AppScaffold(
isShowAppBar: true,
appBarTitle: TranslationBase.of(context).measurements,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
preferredSize: Size.fromHeight(60.0),
child: Stack(
children: <Widget>[
Positioned(
bottom: 1,
left: 0,
right: 0,
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
child: Container(
color: Theme.of(context)
.scaffoldBackgroundColor
.withOpacity(0.8),
height: 70.0,
),
),
),
Center(
child: Container(
height: 55.0,
margin: EdgeInsets.only(left: 20,right: 20,top: 15),
color: Colors.white,
child: Center(
child: TabBar(
isScrollable: true,
controller: _tabController,
indicatorWeight: 5.0,
indicatorSize: TabBarIndicatorSize.label,
indicatorColor: Colors.red[800],
labelColor: Theme.of(context).primaryColor,
labelPadding:
EdgeInsets.only(top: 4.0, left: 5.0, right: 5.0),
unselectedLabelColor: Colors.grey[800],
tabs: [
Container(
width: MediaQuery.of(context).size.width * 0.27,
child: Center(
child: Texts(TranslationBase.of(context).classes),
),
),
Container(
width: MediaQuery.of(context).size.width * 0.27,
child: Center(
child: Texts(TranslationBase.of(context).contactLens),
),
),
],
),
),
),
),
],
),
),
body: Column(
children: <Widget>[
Expanded(
child: TabBarView(
physics: BouncingScrollPhysics(),
controller: _tabController,
children: <Widget>[
ClassesPage(
glassPerscription: widget.appointmentAllHistoryResultList
.listHISGetGlassPerscription[0],
),
ContactLensPage(
listHISGetContactLensPerscription: widget
.appointmentAllHistoryResultList
.listHISGetContactLensPerscription[0],
)
],
),
)
],
),
),
);
}
}

@ -0,0 +1,123 @@
import 'package:diplomaticquarterapp/core/viewModels/medical/EyeViewModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/StarRating.dart';
import 'package:diplomaticquarterapp/widgets/others/app_expandable_notifier.dart';
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:provider/provider.dart';
import 'EyeHomePage.dart';
class EyeMeasurementsPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
return BaseView<EyeViewModel>(
onModelReady: (model) => model.getEyeMeasurement(),
builder: (_, model, w) => AppScaffold(
isShowAppBar: true,
baseViewModel: model,
appBarTitle: TranslationBase.of(context).eyeMeasurements,
body: SingleChildScrollView(
child: Container(
margin: EdgeInsets.all(8),
child: Column(
children: [
...List.generate(
model.appointmentFilter.length,
(index) => AppExpandableNotifier(
title: model.appointmentFilter[index].filterName,
bodyWidget: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: model.appointmentFilter[index]
.appointmentAllHistoryResultList
.map((appointment) {
return InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: EyeHomePage(
appointmentAllHistoryResultList: appointment,
),
),
);
},
child: Container(
margin: EdgeInsets.all(8),
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(8),
color: Colors.white,
border: Border.all(color: Colors.grey),
),
child: Row(
children: [
Expanded(
flex: 1,
child: LargeAvatar(
name: appointment.doctorNameObj,
url: appointment.doctorImageURL,
),
),
Expanded(
flex: 4,
child: Container(
margin: EdgeInsets.all(10),
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: <Widget>[
Texts(
appointment.doctorNameObj,
bold: true,
),
Texts(
appointment.clinicName,
variant: 'caption3',
),
Texts(
DateUtil.getMonthDayYearDateFormatted(
appointment.bookDate),
variant: 'caption3',
),
StarRating(
totalAverage: appointment
.actualDoctorRate
.toDouble(),
forceStars: true),
],
),
),
),
Icon(
projectViewModel.isArabic
? Icons.arrow_forward_ios
: Icons.arrow_back_ios,
color: Colors.grey,
size: 18,
)
],
),
),
);
}).toList(),
),
),
),
],
),
),
),
),
);
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save