diff --git a/DQKey.jks b/DQKey.jks
new file mode 100644
index 00000000..7c844584
Binary files /dev/null and b/DQKey.jks differ
diff --git a/Keystore Pass.rtf b/Keystore Pass.rtf
new file mode 100644
index 00000000..cd33f08e
--- /dev/null
+++ b/Keystore Pass.rtf
@@ -0,0 +1,9 @@
+{\rtf1\ansi\ansicpg1252\cocoartf2513
+\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
+\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0
+
+\f0\fs24 \cf0 keyPassword=HmGsa123\
+storePassword=HmGsa123}
\ No newline at end of file
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
index d8fd4e88..beeadd9e 100644
--- a/android/app/src/debug/AndroidManifest.xml
+++ b/android/app/src/debug/AndroidManifest.xml
@@ -3,5 +3,6 @@
+
diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml
index d8fd4e88..71c11607 100644
--- a/android/app/src/profile/AndroidManifest.xml
+++ b/android/app/src/profile/AndroidManifest.xml
@@ -4,4 +4,5 @@
to allow setting breakpoints, to provide hot reload, etc.
-->
+
diff --git a/assets/app_icons/config.json b/assets/app_icons/config.json
index e0f1051d..0bedcb06 100644
--- a/assets/app_icons/config.json
+++ b/assets/app_icons/config.json
@@ -133,171 +133,129 @@
]
},
{
- "uid": "03df3404af4fa2db99c8dfb9e9729367",
- "css": "more_menu_icon",
+ "uid": "3a1701f9a414e497ab81ae1bb58d3e7c",
+ "css": "blood_type_icon",
"code": 59401,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "",
- "width": 222
+ "path": "M567.7 248.5A2004.5 2004.5 0 0 0 452.6 80.5C395.1 5.9 378.7 0 363.3 0S331.4 5.9 273.8 80.5A2004.4 2004.4 0 0 0 158.8 248.6C99.6 344.8 0 523.3 0 636.7A363.3 363.3 0 0 0 726.5 636.7C726.5 523.3 627 344.8 567.7 248.5ZM510.7 696.3H392.6V814.4A29.3 29.3 0 1 1 334 814.4V696.3H215.8A29.3 29.3 0 0 1 215.8 637.7H334V519.5A29.3 29.3 0 1 1 392.6 519.5V637.7H510.7A29.3 29.3 0 0 1 510.7 696.3Z",
+ "width": 727
},
"search": [
- "more_menu_icon"
+ "blood_type_icon"
]
},
{
- "uid": "8882d4d64a842809f1cb078522c9b867",
- "css": "offer_icon",
+ "uid": "2073f5ad66d9ab6e47cc1be6e6e20146",
+ "css": "height_icon",
"code": 59402,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M1089.5 567L1107.2 972.1 1406.5 924.4 1467.7 530ZM1089.5 567L1107.2 972.1 934 924.4 873.6 530ZM856.1 506L865 588.4 1083.3 622.8 1080.4 541.3ZM1495.6 506L1482 588.4 1083.3 622.8 1080.4 541.3ZM856.1 506L1080.4 541.3 1495.5 506 1221.9 481.9ZM994.9 527.4L1351 493.3 1288 487.7 934 518.2ZM1336 519.5L1100 489.9 1059 492.6 1272.6 524.9ZM882.9 591.2L886 611 1092.9 645.6 1455.7 608.2 1458.4 590.4 1092 622.1 1083.4 622.8ZM1308.7 940L1251.5 949.1 1272.6 524.9 1336 519.5ZM1328.3 381.2C1277.7 331.5 1175.8 491.5 1175.8 491.5L1178.7 502.5S1296.2 431.6 1332.9 428.5C1361.9 426 1361.3 449.9 1331.2 461.8 1303.7 472.6 1178.7 502.5 1178.7 502.5A747 747 0 0 0 1274.4 487.3C1351.9 473.5 1369.4 456.8 1369.9 431.4S1349.7 402.1 1328.3 381.2ZM1274.4 487.2C1349.2 473.9 1368.1 457.9 1369.8 434A63.5 63.5 0 0 0 1332.9 428.4C1361.9 425.9 1361.3 449.9 1331.2 461.7 1303.7 472.5 1178.7 502.4 1178.7 502.4H1178.7A880 880 0 0 0 1274.4 487.2ZM1249 462.9S1245.7 453.6 1229.5 452.2 1212.6 441.2 1212.6 441.1A594.4 594.4 0 0 0 1175.8 491.5L1178.7 502.5S1212.2 482.4 1249 463ZM1023.4 381.2C1073.9 331.5 1175.8 491.5 1175.8 491.5L1172.9 502.5S1055.4 431.6 1018.7 428.5C989.8 426 990.3 449.9 1020.5 461.8 1047.9 472.6 1172.9 502.5 1172.9 502.5A747 747 0 0 1 1077.3 487.3C999.8 473.5 982.2 456.8 981.7 431.4S1002 402.1 1023.4 381.2ZM1077.3 487.2C1002.5 473.9 983.5 457.9 981.9 434A63.5 63.5 0 0 1 1018.7 428.4C989.8 425.9 990.3 449.9 1020.5 461.7 1047.9 472.5 1172.9 502.4 1172.9 502.4H1172.9A880 880 0 0 1 1077.3 487.2ZM1102.6 462.9S1105.9 453.6 1122.1 452.2 1139.1 441.2 1139.1 441.1A595 595 0 0 1 1175.8 491.5L1172.9 502.5S1139.4 482.4 1102.6 463ZM1211.9 506H1135.9A5 5 0 0 1 1131.2 500.7H1131.2A16.4 16.4 0 0 1 1146.7 483.6H1201.1A16.4 16.4 0 0 1 1216.6 500.7H1216.6A5 5 0 0 1 1211.9 506ZM233.4 567L251.1 972.1 550.4 924.4 611.6 530ZM233.4 567L251.1 972.1 78 924.4 17.5 530ZM0 506L8.9 588.4 227.1 622.8 224.2 541.3ZM639.5 506L625.9 588.4 227.1 622.8 224.3 541.3ZM0 506L224.2 541.3 639.4 506 365.8 481.9ZM138.8 527.4L494.9 493.3 431.9 487.7 78 518.2ZM479.9 519.5L243.9 489.9 202.9 492.6 416.5 524.9ZM26.8 591.2L29.8 611 236.8 645.6 599.6 608.2 602.3 590.4 235.9 622.1 227.2 622.8ZM452.6 940L395.4 949.1 416.5 524.9 479.9 519.5ZM116.8 935.2L167.5 949.1 138.8 527.4 77.9 518.2ZM472.2 381.2C421.6 331.5 319.8 491.5 319.8 491.5L322.7 502.5S440.1 431.6 476.8 428.5C505.8 426 505.3 449.9 475.1 461.8 447.6 472.6 322.7 502.5 322.7 502.5A747 747 0 0 0 418.3 487.3C495.8 473.5 513.4 456.8 513.8 431.4S493.6 402.1 472.2 381.2ZM418.3 487.2C493.1 473.9 512.1 457.9 513.7 434A63.5 63.5 0 0 0 476.8 428.4C505.8 425.9 505.3 449.9 475.1 461.7 447.6 472.5 322.7 502.4 322.7 502.4H322.7A880 880 0 0 0 418.3 487.2ZM393 462.9S389.7 453.6 373.4 452.2 356.5 441.2 356.5 441.1A595.1 595.1 0 0 0 319.8 491.5L322.7 502.5S356.2 482.4 393 463ZM167.3 381.2C217.8 331.5 319.7 491.5 319.7 491.5L316.8 502.5S199.3 431.6 162.6 428.5C133.6 426 134.2 449.9 164.3 461.8 191.8 472.6 316.8 502.5 316.8 502.5A747 747 0 0 1 221.1 487.3C143.6 473.5 126.1 456.8 125.6 431.4S145.9 402.1 167.3 381.2ZM221.1 487.2C146.3 473.9 127.4 457.9 125.7 434A63.5 63.5 0 0 1 162.7 428.4C133.7 426 134.3 449.9 164.4 461.7 191.9 472.6 316.9 502.5 316.9 502.5H316.9A880.2 880.2 0 0 1 221.1 487.2ZM246.5 462.9S249.8 453.6 266.1 452.2 283 441.2 283 441.1A594.5 594.5 0 0 1 319.8 491.5L316.8 502.5S283.4 482.4 246.6 463ZM355.8 506H279.8A5 5 0 0 1 275.1 500.7H275.1A16.4 16.4 0 0 1 290.6 483.6H345A16.4 16.4 0 0 1 360.6 500.7H360.6A5 5 0 0 1 355.8 506ZM442.3 310.5L747.8 362.8 1053.3 310.5 747.8 276ZM595.1 336.7L747.8 362.9 900.6 336.7 747.8 319.4ZM905 493.5L868 497A388.3 388.3 0 0 1 1017.1 154.2 341.6 341.6 0 0 0 1005.2 189.2 271.6 271.6 0 0 1 1037.7 188.2 345.8 345.8 0 0 0 905 493.5ZM977.3 471.4L937.5 464.6C958 318.6 1048.8 196.5 1174.5 145.9A349.9 349.9 0 0 0 1153.7 179.4 299.7 299.7 0 0 1 1188.3 187.6 354.4 354.4 0 0 0 977.3 471.4ZM811.4 491.9L773.1 489.4A555.9 555.9 0 0 1 946.6 109.9 504.1 504.1 0 0 0 938.1 175.9 517.9 517.9 0 0 0 811.4 491.9ZM562.9 381.4L599.5 374.8A366.4 366.4 0 0 0 378.9 82.6 185.9 185.9 0 0 0 366.4 121.2 326.3 326.3 0 0 1 562.9 381.4ZM535.3 463.1L574.1 451.5C538.7 309 435.9 199.1 305.7 164.6A338.6 338.6 0 0 1 329.9 195.3 302.9 302.9 0 0 0 296.4 207.8 343.9 343.9 0 0 1 535.3 463.1ZM688.7 486.7L726.8 483A552.6 552.6 0 0 0 543.9 109 503.8 503.8 0 0 1 554 174.7 515.1 515.1 0 0 1 688.7 486.7ZM747.8 362.8V1000L985.2 937.7 1053.3 310.5ZM747.8 362.8V1000L510.4 937.7 442.3 310.5ZM973.1 823S943.9 837.1 937.9 904.5A135.6 135.6 0 0 1 925.4 953.4L848 973.7A166.3 166.3 0 0 0 871.7 919C879 883.9 879.9 875.1 879.9 875.1S884.8 854.4 935.2 826.3A61.6 61.6 0 0 1 973.1 823ZM879.9 875.2A105 105 0 0 1 927.1 804.3C1032.3 744.5 1161.9 869.9 1161.9 869.9L1143.7 867.9 1147.7 889.3 1126.3 886.3 1135.7 907 1115.5 902.6 1120.9 918.9 1099.4 912.9 1096.5 938.4S1034.2 853.5 998.2 838.5A100.5 100.5 0 0 0 879.9 875.2ZM522.5 823.1S550.4 840.7 559.5 909A160.3 160.3 0 0 0 570.1 953.4L647.6 973.9A166.4 166.4 0 0 1 623.9 919.1C616.6 884 615.7 875.3 615.7 875.3S610.8 854.6 560.3 826.5A61.6 61.6 0 0 0 522.5 823.1ZM615.7 875.3A105.1 105.1 0 0 0 568.5 804.4C463.3 744.7 333.7 870.1 333.7 870.1L351.9 868.1 347.8 889.5 369.3 886.5 359.9 907.2 380.1 902.8 374.7 919 396.2 913.1 399.1 938.6S463.9 854.9 499.8 839.8A96.5 96.5 0 0 1 615.7 875.3ZM463.6 75.2A38.7 38.7 0 0 0 437.4 56.9L441.1 31.4A62 62 0 0 1 482.9 60.6ZM902.8 42.4A41.8 41.8 0 0 0 882.1 67.7L859.9 59.4A66.8 66.8 0 0 1 893.1 18.9ZM1096.4 123.4A32.9 32.9 0 0 0 1070.9 134.7L1056.2 118.6A52.7 52.7 0 0 1 1096.9 100.4ZM773.5 28.6A41.4 41.4 0 0 0 768.4 58.4L748.3 63.4A66.3 66.3 0 0 1 756.3 15.8ZM632.6 122.7A38.6 38.6 0 0 0 617.6 97.3L629.1 78.3A61.8 61.8 0 0 1 653 118.9ZM206 205.9A34.3 34.3 0 0 0 179.8 193.4Q179.8 181.5 179.8 169.6A55 55 0 0 1 221.6 189.6ZM1171.1 285.2A61.2 61.2 0 0 0 1138.9 287.6 83.4 83.4 0 0 1 1197.3 250.9Q1198.5 262.3 1199.6 273.8A60.3 60.3 0 0 0 1171.1 285.2ZM828.8 208.3A75.2 75.2 0 0 0 810.9 238.1 102.1 102.1 0 0 1 819.9 164.4L837.8 176.3A75.9 75.9 0 0 0 828.8 208.3ZM284 117.2A61.7 61.7 0 0 1 315.8 123.5 85.9 85.9 0 0 0 261.4 79.7L256.8 102.2A61.8 61.8 0 0 1 284 117.2ZM278.4 313.3A59.7 59.7 0 0 1 350.7 314.2L360.8 305.2A64.5 64.5 0 0 0 264.1 293.9ZM221.7 4.5L253 0 274.9 19.2 223.6 20.3ZM728.1 145.8L739 178.5 726.9 206.3 714.7 151.2ZM1240.6 60.6L1209.4 66.5 1193.7 92.1 1243 76.4Z",
- "width": 1496
+ "path": "M615.2 883H527.3V820.3H566.5A29.3 29.3 0 1 0 566.5 761.7H527.3V703.1H605.6A29.3 29.3 0 0 0 605.6 644.5H527.3V585.9H566.5A29.3 29.3 0 1 0 566.5 527.3H527.3V468.8H605.6A29.3 29.3 0 0 0 605.6 410.2H527.3V351.6H566.5A29.3 29.3 0 1 0 566.5 293H527.3V234.4H605.6A29.3 29.3 0 0 0 605.6 175.7H527.3V117.2H566.5A29.3 29.3 0 1 0 566.5 58.6H527.3V29.3A29.3 29.3 0 1 0 468.7 29.3V883H363L375.5 683.7H152.1L164.6 883H29.3A29.3 29.3 0 0 0 0 912.2V970.8A29.3 29.3 0 0 0 58.6 970.8V941.6H585.9V970.8A29.3 29.3 0 1 0 644.6 970.8V912.1A29.3 29.3 0 0 0 615.2 883ZM146.7 625H381A29.3 29.3 0 0 0 410.2 595.7V400.5A146 146 0 0 0 363.3 293.2 146.1 146.1 0 0 1 164.4 293.2 146 146 0 0 0 117.4 400.6V595.8A29.3 29.3 0 0 0 146.7 625Z",
+ "width": 645
},
"search": [
- "offer_icon"
+ "height_icon"
]
},
{
- "uid": "48bf5922e89257ff0ba5f3ae4a47297d",
- "css": "prescription_icon",
+ "uid": "0f1a73756e84a7173b6426ac45ca4a5a",
+ "css": "online_payment_icon",
"code": 59403,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M466 297H414.1V245A19.5 19.5 0 1 0 374.9 245V297H323A19.5 19.5 0 0 0 323 336.1H374.9V388A19.5 19.5 0 0 0 414.1 388V336.1H466A19.5 19.5 0 1 0 466 297ZM394.5 144.6A171.9 171.9 0 1 0 566.4 316.5 172.1 172.1 0 0 0 394.5 144.6ZM394.5 449.3A132.8 132.8 0 1 1 527.3 316.5 133 133 0 0 1 394.5 449.3ZM783.4 179.6L609.5 5.7A19.5 19.5 0 0 0 595.7 0H58.6A58.7 58.7 0 0 0 0 58.6V941.4A58.7 58.7 0 0 0 58.6 1000H431.7A19.5 19.5 0 1 0 431.7 960.8H58.6A19.6 19.6 0 0 1 39.2 941.4V58.6A19.6 19.6 0 0 1 58.7 39.1H576.2V154.2A58.7 58.7 0 0 0 634.8 212.8H750.1V560.5A19.5 19.5 0 1 0 789.2 560.5V193.4A19.5 19.5 0 0 0 783.4 179.6ZM634.8 173.8A19.6 19.6 0 0 1 615.2 154.3V66.7L722.4 173.8H634.8ZM644.5 546.9H305.3A19.5 19.5 0 0 0 305.3 586.1H644.5A19.5 19.5 0 0 0 644.5 546.9ZM208.2 546.9H144.5A19.5 19.5 0 0 0 144.5 586.1H208.2A19.5 19.5 0 0 0 208.2 546.9ZM500 656.3H305.3A19.5 19.5 0 0 0 305.3 695.4H500A19.5 19.5 0 1 0 500 656.3ZM208.2 656.3H144.5A19.5 19.5 0 0 0 144.5 695.4H208.2A19.5 19.5 0 0 0 208.2 656.3ZM319.1 771.4A19.5 19.5 0 1 0 324.9 785.2 19.6 19.6 0 0 0 319.1 771.4ZM208.2 765.6H144.5A19.5 19.5 0 1 0 144.5 804.8H208.2A19.5 19.5 0 1 0 208.2 765.6ZM879 757.8A121.3 121.3 0 0 0 862.1 759 121.1 121.1 0 0 0 660.5 638.6L505.8 793.3A121.1 121.1 0 0 0 677 964.5L758 883.6A121.1 121.1 0 1 0 878.9 757.9ZM649.4 936.9A82 82 0 1 1 533.4 820.9L597 757.4 713 873.4ZM740.6 845.8L624.6 729.8 688.1 666.2A82 82 0 1 1 804.1 782.2ZM859.4 958.6A82 82 0 0 1 859.4 799.3ZM898.6 958.6V799.3A82 82 0 0 1 898.6 958.6Z",
- "width": 1000
+ "path": "M1214.7 273.8L1213.8 274A29 29 0 0 1 1207.2 274.8C1202 274.8 1195.9 272.2 1195.9 259.6 1195.9 253.1 1197 244.7 1206.7 244.7H1206.7A29.1 29.1 0 0 1 1213.7 246L1214.5 246.2V273.8ZM1216.2 211.5L1214.7 211.8V234.9L1213.2 234.5 1212.8 234.4A32.6 32.6 0 0 0 1204.1 232.8C1184.8 232.8 1180.7 247.5 1180.7 259.8A23.9 23.9 0 0 0 1206.6 286.3 52.5 52.5 0 0 0 1224 283.8 7.6 7.6 0 0 0 1230.5 275.5V209.1C1225.9 209.9 1221.1 210.7 1216.5 211.5M1272.2 274.3L1271.4 274.5 1268.4 275.3A30.7 30.7 0 0 1 1261.3 276.4C1256.8 276.4 1254 274.2 1254 270.3 1254 267.8 1255.2 263.6 1262.6 263.6H1272.2ZM1265.4 232.5A65.2 65.2 0 0 0 1245.7 236L1240.8 237.4 1242.4 248.7 1247.3 247.1A56.9 56.9 0 0 1 1263.4 244.3C1265.5 244.3 1272.1 244.3 1272.1 251.4V254.4H1263C1246.6 254.4 1239 259.7 1239 271 1239 280.6 1246 286.3 1257.8 286.3A60.9 60.9 0 0 0 1270.8 284.6L1271.1 284.6 1271.3 284.6 1272.8 284.8C1277.4 285.7 1282.2 286.5 1286.8 287.4V250.5C1286.8 238.6 1279.6 232.5 1265.5 232.5M1157.5 274.3L1156.7 274.5 1153.8 275.3A30.3 30.3 0 0 1 1146.6 276.4C1142.1 276.4 1139.4 274.2 1139.4 270.3 1139.4 267.8 1140.5 263.6 1147.9 263.6H1157.5L1157.5 274.3ZM1150.8 232.5A65 65 0 0 0 1131.1 236L1126.2 237.4 1127.8 248.7 1132.7 247.1A56.9 56.9 0 0 1 1148.8 244.3C1150.9 244.3 1157.5 244.3 1157.5 251.4V254.4H1148.4C1132 254.4 1124.3 259.7 1124.3 271 1124.3 280.6 1131.3 286.3 1143.2 286.3A60.9 60.9 0 0 0 1156.2 284.6L1156.5 284.6 1156.7 284.6 1158.1 284.8C1162.8 285.7 1167.5 286.5 1172.2 287.4V250.6C1172.2 238.5 1165 232.5 1150.9 232.5M1095.4 232.6A39.8 39.8 0 0 0 1079.4 236.2L1078.8 236.5 1078.3 236A24.2 24.2 0 0 0 1063.9 232.6 58.7 58.7 0 0 0 1047 235.1C1042 236.7 1040 239.1 1040 243.6V285.7H1055.7V246.8L1056.5 246.5A20 20 0 0 1 1063.4 245.3 6.2 6.2 0 0 1 1070.3 252.4V285.7H1085.7V251.8A11.4 11.4 0 0 0 1085.2 248.4L1084.7 247.4 1085.8 246.9A18.6 18.6 0 0 1 1093.5 245.3 6.3 6.3 0 0 1 1100.3 252.4V285.7H1115.7V250.9C1115.7 238.6 1109.2 232.7 1095.4 232.7M1260.6 174A53.6 53.6 0 0 1 1251.5 173.1L1250.6 173V150.3A11 11 0 0 0 1250.2 147.1L1249.7 146 1250.7 145.6C1251 145.5 1251.2 145.4 1251.5 145.3L1251.7 145.2 1252.7 144.8A1.5 1.5 0 0 1 1253.1 144.7 36.7 36.7 0 0 1 1261.2 143.8H1261.2C1270.8 143.8 1272 152.4 1272 158.8 1272 171.3 1265.7 174 1260.6 174M1260.6 130.8H1260.2A27.8 27.8 0 0 0 1238.5 138.1 14.7 14.7 0 0 0 1235.7 146.8H1235.7V170.3A6.9 6.9 0 0 1 1235.2 173.3L1234.7 174.2H1206.2V158H1206.2A24.3 24.3 0 0 0 1181 131.3H1166.6C1166 135.5 1165.5 138.5 1165 142.7H1179.2C1186.7 142.7 1190.7 149 1190.7 158.8V175.3L1189.7 174.7A10.9 10.9 0 0 0 1186.3 174.2H1161.7C1161.2 177.4 1160.6 181.4 1159.9 185.5H1235.8C1238.3 185 1241.4 184.5 1244 184.1A42.7 42.7 0 0 0 1259.8 187 25.9 25.9 0 0 0 1287 159 26.1 26.1 0 0 0 1260.6 130.8M1127.6 192.4H1128.3C1144.8 192.4 1152.5 187 1152.5 173.6A17.2 17.2 0 0 0 1133.7 156.2H1118.4A6.5 6.5 0 0 1 1111.2 149.3C1111.2 146.3 1112.3 142.7 1119.7 142.7H1152.9C1153.6 138.4 1154 135.7 1154.6 131.4H1120.2C1104.1 131.4 1096 138.1 1096 149.3S1103.1 166.2 1114.9 166.2H1130.1A7.2 7.2 0 0 1 1137.3 173.6 7.4 7.4 0 0 1 1128.8 181.2H1126.3L1077.7 181.1H1068.9C1061.4 181.1 1056.2 176.7 1056.2 167V160.2C1056.2 150 1060.2 143.6 1068.9 143.6H1083.3C1083.9 139.2 1084.3 136.5 1084.9 132.3H1065.4A24.6 24.6 0 0 0 1040.1 159.3H1040.1V167A23.3 23.3 0 0 0 1065.3 192.3H1079.6L1105.9 192.3H1127.7ZM1266.9 488.1A134.9 134.9 0 1 1 997.1 488.1H997.1A134.9 134.9 0 1 1 1266.9 488.1ZM1132 353.2A135.3 135.3 0 0 1 1266.9 488.1H1266.9A134.9 134.9 0 1 1 997 488.1M1132 353.2A135.3 135.3 0 0 1 1266.9 488.1H1266.9A134.8 134.8 0 0 1 1132 623M950.7 353.2A134.9 134.9 0 0 0 952.1 623 136.5 136.5 0 0 0 1042.8 588H1042.8A128.3 128.3 0 0 0 1056.3 573.8H1028.5A164.7 164.7 0 0 1 1018.5 560.2H1066.3A91.4 91.4 0 0 0 1074.2 545.9H1010.7A85.1 85.1 0 0 1 1004.9 531.6H1079.2A141.7 141.7 0 0 0 1086.3 488.8 184.3 184.3 0 0 0 1083.5 460.2H1000.6A104.3 104.3 0 0 1 1004.2 446H1078.4A85.1 85.1 0 0 0 1072.7 431.7H1009.9A141.6 141.6 0 0 1 1017.8 417.4H1065.6A67.9 67.9 0 0 0 1054.9 403.1H1028.5A121.7 121.7 0 0 1 1042 389.5 131.7 131.7 0 0 0 951.4 354.6C951.4 353.2 951.4 353.2 950.7 353.2ZM817.2 488.1A134.8 134.8 0 0 0 952.1 623 136.5 136.5 0 0 0 1042.7 588H1042.7A128.3 128.3 0 0 0 1056.3 573.8H1028.5A164.7 164.7 0 0 1 1018.5 560.2H1066.3A91.5 91.5 0 0 0 1074.2 545.9H1010.7A85.1 85.1 0 0 1 1004.9 531.6H1079.2A141.8 141.8 0 0 0 1086.3 488.8 184.3 184.3 0 0 0 1083.5 460.2H1000.6A104.3 104.3 0 0 1 1004.1 445.9H1078.4A85.1 85.1 0 0 0 1072.7 431.6H1009.9A141.6 141.6 0 0 1 1017.8 417.3H1065.6A67.9 67.9 0 0 0 1054.9 403.1H1028.5A121.7 121.7 0 0 1 1042 389.5 131.7 131.7 0 0 0 951.4 354.5H950.7M952.1 623A136.5 136.5 0 0 0 1042.8 588H1042.8A128.3 128.3 0 0 0 1056.3 573.8H1028.5A164.7 164.7 0 0 1 1018.5 560.2H1066.3A91.4 91.4 0 0 0 1074.2 545.9H1010.6A85.1 85.1 0 0 1 1004.9 531.6H1079.1A141.7 141.7 0 0 0 1086.3 488.8 184.3 184.3 0 0 0 1083.4 460.2H1000.7A104.3 104.3 0 0 1 1004.2 446H1078.5A85.1 85.1 0 0 0 1072.8 431.7H1009.9A141.6 141.6 0 0 1 1017.8 417.4H1065.6A67.9 67.9 0 0 0 1054.9 403.1H1028.5A121.7 121.7 0 0 1 1042 389.5 131.7 131.7 0 0 0 951.4 354.6H950.7M999.9 522.4L1002.1 510.2A30.9 30.9 0 0 1 998.5 511C993.5 511 992.8 508.1 993.5 506.6L997.9 481.6H1005.7L1007.9 468.1H1000.8L1002.2 459.5H987.9S979.3 506.6 979.3 512.3A10.7 10.7 0 0 0 990.8 524.5 21.9 21.9 0 0 0 999.9 522.4ZM1004.9 499.5A22.7 22.7 0 0 0 1029.9 524.5 37 37 0 0 0 1044.9 522.3L1047.7 508.8A42.8 42.8 0 0 1 1032.7 512.3C1017 512.3 1019.9 500.9 1019.9 500.9H1049.2A92.5 92.5 0 0 0 1051.3 488.1 19.3 19.3 0 0 0 1030.6 467.4C1015.6 466 1004.9 481.7 1004.9 499.5ZM1029.9 478.8C1037.7 478.8 1036.4 488.1 1036.4 488.8H1020.7C1020.6 488.1 1022 478.8 1029.9 478.8ZM1120.6 522.3L1123.4 506.7A35.1 35.1 0 0 1 1111.3 510.2C1101.3 510.2 1097 502.4 1097 493.8 1097 476.7 1105.6 467.4 1115.6 467.4A23.9 23.9 0 0 1 1128.4 471.7L1130.6 456.7A50.2 50.2 0 0 0 1114.2 453.2C1097.8 453.2 1081.3 467.5 1081.3 494.5 1081.3 512.3 1089.9 524.5 1107 524.5A64.1 64.1 0 0 0 1120.6 522.3ZM921.4 466A50.6 50.6 0 0 0 904.3 468.8L902.1 480.9A42.2 42.2 0 0 1 917.8 478.1C922.8 478.1 927.1 478.8 927.1 483.1 927.1 485.9 926.3 486.7 926.3 486.7H919.8C907.7 486.7 894.1 491.7 894.1 508.1 894.1 520.9 902.7 523.8 907.7 523.8A21.5 21.5 0 0 0 922.7 517.2L922 523H934.8L940.5 483.7A16.9 16.9 0 0 0 921.4 466ZM924.2 498.1C924.2 500.3 922.8 511.7 914.2 511.7A5.6 5.6 0 0 1 908.5 505.9C908.5 502.4 910.7 497.4 921.4 497.4A11.3 11.3 0 0 0 924.2 498.1ZM954.2 523.8A18.3 18.3 0 0 0 975.6 505.2C975.6 487.4 958.5 490.9 958.5 483.8 958.5 480.2 961.3 478.8 966.3 478.8 968.5 478.8 976.3 479.5 976.3 479.5L978.5 466.7A54.2 54.2 0 0 0 965 465.2C954.2 465.2 943.5 469.6 943.5 483.8 943.5 500.2 961.4 498.8 961.4 505.2 961.4 509.6 956.4 510.2 952.8 510.2A46.7 46.7 0 0 1 940 508L937.8 520.9C938.5 522.3 942.2 523.8 954.2 523.8ZM1239.1 454.5L1236.2 473.8A19.8 19.8 0 0 0 1222.7 466.7C1209.8 466.7 1198.4 482.4 1198.4 501 1198.4 512.4 1204.1 524.5 1216.2 524.5A19.1 19.1 0 0 0 1229.8 518.8L1229.1 523.8H1243.4L1254.1 455.3ZM1232.5 492.4C1232.5 500.2 1229 510.2 1221.1 510.2 1216.1 510.2 1213.3 505.9 1213.3 498.8 1213.3 487.4 1218.3 480.2 1224.7 480.2 1229.8 480.2 1232.6 483.8 1232.6 492.4ZM843.6 523.1L852.2 471.7 853.6 523.1H863.6L882.2 471.7 874.3 523.1H889.3L900.7 454.5H877.1L862.8 496.7 862.1 454.5H841.4L830 523.1ZM1064.9 523.1C1069.2 499.5 1069.9 480.2 1079.9 483.8A56.1 56.1 0 0 1 1084.9 467.4H1082C1075.5 467.4 1070.6 476 1070.6 476L1072 468.1H1058.5L1049.2 523.8H1064.9ZM1153.4 466A50.6 50.6 0 0 0 1136.3 468.8L1134.1 480.9A42.2 42.2 0 0 1 1149.8 478.1C1154.8 478.1 1159.1 478.8 1159.1 483.1 1159.1 485.9 1158.4 486.7 1158.4 486.7H1151.8C1139.7 486.7 1126.2 491.7 1126.2 508.1 1126.2 520.9 1134.7 523.8 1139.7 523.8A21.5 21.5 0 0 0 1154.7 517.2L1154 523H1166.8L1172.6 483.7A16.7 16.7 0 0 0 1153.4 466ZM1157 498.1C1157 500.3 1155.5 511.7 1147 511.7A5.6 5.6 0 0 1 1141.3 505.9C1141.3 502.4 1143.4 497.4 1154.1 497.4 1156.3 498.1 1156.3 498.1 1157 498.1ZM1184.8 523.1C1189.2 499.5 1189.8 480.2 1199.8 483.8A56 56 0 0 1 1204.8 467.4H1202C1195.4 467.4 1190.5 476 1190.5 476L1192 468.1H1178.4L1169.1 523.8H1184.8ZM977.8 512.4A10.7 10.7 0 0 0 989.2 524.5 27.2 27.2 0 0 0 999.9 522.3L1002.1 510.2A30.9 30.9 0 0 1 998.5 510.9C993.5 510.9 992.8 508.1 993.5 506.6L997.9 481.6H1005.7L1007.9 468H1000.8L1002.2 459.5M1012.1 499.5C1012.1 519.5 1018.6 524.5 1029.9 524.5A37 37 0 0 0 1044.9 522.3L1047.8 508.8A42.8 42.8 0 0 1 1032.8 512.3C1017.1 512.3 1019.9 500.9 1019.9 500.9H1049.2A92.5 92.5 0 0 0 1051.3 488.1 19.3 19.3 0 0 0 1030.7 467.4C1015.6 466 1012.1 481.7 1012.1 499.5ZM1029.9 478.8C1037.8 478.8 1039.2 488.1 1039.2 488.8H1020.6C1020.6 488.1 1022.1 478.8 1029.9 478.8ZM1120.6 522.3L1123.4 506.7A35.1 35.1 0 0 1 1111.3 510.2C1101.3 510.2 1097 502.4 1097 493.8 1097 476.7 1105.6 467.4 1115.6 467.4A23.9 23.9 0 0 1 1128.4 471.7L1130.6 456.7A50.2 50.2 0 0 0 1114.2 453.2C1097.8 453.2 1088.5 467.5 1088.5 494.5 1088.5 512.3 1089.9 524.5 1107 524.5A64.1 64.1 0 0 0 1120.6 522.3ZM902.1 481.7A42.2 42.2 0 0 1 917.8 478.8C922.8 478.8 927.1 479.5 927.1 483.8 927.1 486.7 926.4 487.4 926.4 487.4H919.8C907.7 487.4 894.2 492.4 894.2 508.8 894.2 521.7 902.7 524.5 907.7 524.5A21.5 21.5 0 0 0 922.7 518L922 523.7H934.8L940.6 484.4C940.6 468 926.3 467.3 920.6 467.3M931.3 498A23.4 23.4 0 0 1 914.2 511.6 5.6 5.6 0 0 1 908.5 505.8C908.5 502.3 910.6 497.3 921.3 497.3A58.3 58.3 0 0 0 931.4 498.1ZM938.5 522.3A60.4 60.4 0 0 0 954.9 523.8 18.3 18.3 0 0 0 976.3 505.2C976.3 487.4 959.2 490.9 959.2 483.8 959.2 480.2 962.1 478.8 967.1 478.8 969.2 478.8 977.1 479.5 977.1 479.5L979.2 466.7A54.2 54.2 0 0 0 965.7 465.2C955 465.2 951.4 469.6 951.4 483.8 951.4 500.2 962.1 498.8 962.1 505.2 962.1 509.6 957.1 510.2 953.5 510.2M1236.2 473.8A19.8 19.8 0 0 0 1222.7 466.7C1209.8 466.7 1205.5 482.4 1205.5 501 1205.5 512.4 1204.1 524.5 1216.2 524.5A19.1 19.1 0 0 0 1229.8 518.8L1229.1 523.8H1243.4L1254.1 455.3M1235.5 492.4C1235.5 500.3 1229 510.3 1221.2 510.3 1216.2 510.3 1213.4 505.9 1213.4 498.8 1213.4 487.4 1218.4 480.3 1224.8 480.3A10.9 10.9 0 0 1 1235.5 492.4ZM843.6 523.1L852.2 471.7 853.6 523.1H863.6L882.2 471.7 874.3 523.1H889.3L900.7 454.5H882.8L862.9 496.7 862.2 454.5H854.3L830 523.1ZM1049.9 523.1H1064.9C1069.2 499.5 1069.9 480.2 1079.9 483.8A56 56 0 0 1 1084.9 467.4H1082C1075.5 467.4 1070.6 476 1070.6 476L1072.1 468.1M1134.1 481.7A42.2 42.2 0 0 1 1149.8 478.8C1154.8 478.8 1159.1 479.5 1159.1 483.8 1159.1 486.7 1158.4 487.4 1158.4 487.4H1151.9C1139.7 487.4 1126.2 492.4 1126.2 508.8 1126.2 521.7 1134.7 524.5 1139.7 524.5A21.5 21.5 0 0 0 1154.7 518L1154 523.7H1166.9L1172.6 484.4C1172.6 468 1158.3 467.3 1152.6 467.3M1163.3 498A23.4 23.4 0 0 1 1146.2 511.6 5.6 5.6 0 0 1 1140.5 505.8C1140.5 502.3 1142.7 497.3 1153.3 497.3A62.8 62.8 0 0 0 1163.4 498.1ZM1169.8 523.1H1184.8C1189.2 499.5 1189.8 480.2 1199.8 483.8A56.1 56.1 0 0 1 1204.8 467.4H1202C1195.5 467.4 1190.6 476 1190.6 476L1192 468.1M440.6 102.4C438.6 108.2 405 200.6 393.7 231.3H393.7A0.6 0.6 0 0 1 393.7 231.5 15.2 15.2 0 0 1 380.5 241H362.5C373.4 211.2 398.5 142.3 413 102.4ZM734.2 171.7L722.6 203.4A15.5 15.5 0 0 1 709.2 213.3H690A51.2 51.2 0 0 0 694.9 203.4L706.5 171.7H678.7L667.2 203.4A15.6 15.6 0 0 1 653.8 213.3H634.6A50 50 0 0 0 639.5 203.4L651 171.7H623.3L611.7 203.4A15.5 15.5 0 0 1 598.3 213.3H509.7A48.6 48.6 0 0 0 514.7 203.6L517.6 195.5A25.5 25.5 0 0 0 493.7 157.8H462.2L452.1 185.6H483.7A6.7 6.7 0 0 1 490 195.5L486.9 203.6A15.2 15.2 0 0 1 473.5 213.3H427.9L417.8 241H699.4A59 59 0 0 0 750.3 203.6L762 171.7ZM297.1 241H223.8L233.9 213.3H307.2A15.7 15.7 0 0 0 320.7 203.4L323.5 195.5A6.7 6.7 0 0 0 317.2 185.6H271.7L281.8 157.8H327.3A25.5 25.5 0 0 1 351.2 195.5L348.3 203.4A59.6 59.6 0 0 1 297 241M396 561.7L421.6 417.2H461.8L436.9 561.7ZM396 561.7L428.9 417.2H461.8L436.9 561.7ZM582.2 418.9A101.8 101.8 0 0 0 545.2 412.4C505.1 412.4 476.2 432.4 476.2 461.3 476.2 483.1 496.3 494.2 512.3 501.5S533.2 513.5 533.2 519.9C533.2 529.5 520.3 534.4 509.1 534.4A87.2 87.2 0 0 1 470.6 526.3L465 523.9 459.4 556.8A130.1 130.1 0 0 0 505 564.9C547.6 564.9 575.7 544.8 575.7 514.3 575.7 497.5 565.2 484.6 541.1 474.2 526.7 467 517.8 462.9 517.8 455.7 517.8 449.2 525.1 442.9 541.1 442.9A73.6 73.6 0 0 1 571.6 448.5L575.6 450.1 582.1 418.8ZM582.2 418.9A101.8 101.8 0 0 0 545.2 412.4C505.1 412.4 483.4 432.4 483.4 461.3A42 42 0 0 0 512.3 501.5C528.3 508.7 533.2 513.5 533.2 519.9 533.2 529.5 520.3 534.4 509.1 534.4A87.2 87.2 0 0 1 470.6 526.3L465 523.9 459.4 556.8A130.1 130.1 0 0 0 505 564.9C547.6 564.9 575.7 544.8 575.7 514.3 575.7 497.5 565.2 484.6 541.1 474.2 526.7 467 517.8 462.9 517.8 455.7 517.8 449.2 525.1 442.9 541.1 442.9A73.6 73.6 0 0 1 571.6 448.5L575.6 450.1 582.1 418.8ZM651.2 417.2C641.6 417.2 634.3 418 630.3 427.6L570.1 561.7H613.5L621.5 537.6H672.9L677.7 561.7H716.2L682.5 417.2ZM632.7 513.5C635.2 506.3 648.8 471 648.8 471S652 462.1 654.4 456.5L656.8 470.2S664.8 506.3 666.4 514.3H632.7ZM660.8 417.2C651.2 417.2 644 418 640 427.6L570.1 561.7H613.5L621.5 537.6H672.9L677.7 561.7H716.2L682.5 417.2ZM632.7 513.5C636 505.5 648.8 471 648.8 471S652 462.1 654.4 456.5L656.8 470.2S664.8 506.3 666.4 514.3H632.7ZM322.1 518.3L318.1 497.4A116.3 116.3 0 0 0 261.9 434L298 562.4H341.4L406.4 418H363.1ZM322.1 518.3L318.1 497.4A116.3 116.3 0 0 0 261.9 434L298 562.4H341.4L406.4 418H371.1ZM210.6 417.2L217.8 418.8A135.3 135.3 0 0 1 318.1 497.5L303.7 429.2C301.2 419.6 294 417.2 285.2 417.2ZM210.6 417.2H210.6C261.9 429.2 304.5 460.5 318.1 496.7L304.5 439.7A19.6 19.6 0 0 0 285.2 424.5ZM210.6 417.2H210.6C261.9 429.2 304.5 460.5 318.1 496.7L308.5 465.3A28.3 28.3 0 0 0 291.6 442.1ZM362.3 513.5L335 486.2 322.1 516.7 318.9 496.6A116.3 116.3 0 0 0 262.7 433.2L298.8 561.7H342.2ZM436.9 561.7L402.5 526.3 396 561.7ZM529.2 511.9H529.2C532.4 515.1 534 517.5 533.2 520.7 533.2 530.3 520.4 535.2 509.1 535.2A87.2 87.2 0 0 1 470.6 527.2L465 524.7 459.4 557.5A130.1 130.1 0 0 0 505 565.6 79.5 79.5 0 0 0 563.7 545.5ZM575.8 561.7H613.5L621.5 537.6H672.9L677.7 561.7H716.2L702.5 503 654.4 456.4 656.8 469.3S664.8 505.4 666.4 513.4H632.7C635.9 505.4 648.8 470.9 648.8 470.9S652 462 654.4 456.4M745.6 844.7A15.6 15.6 0 0 1 730 829.2V747.1A15.6 15.6 0 0 1 761.2 747.1V829.2A15.6 15.6 0 0 1 745.6 844.7ZM803.2 844.7A15.6 15.6 0 0 1 787.7 829.2V747.1A15.6 15.6 0 1 1 818.8 747.1V829.2A15.6 15.6 0 0 1 803.2 844.7ZM860.9 844.7A15.6 15.6 0 0 1 845.3 829.2V747.1A15.6 15.6 0 1 1 876.4 747.1V829.2A15.6 15.6 0 0 1 860.9 844.7ZM210.1 698.8A18 18 0 0 1 228.3 680.6 18.2 18.2 0 0 1 246.8 698.8 18.4 18.4 0 0 1 228.3 717.3 18.2 18.2 0 0 1 210.1 698.8ZM214.2 740.7A5.1 5.1 0 0 1 219.3 735.6H238A5.1 5.1 0 0 1 243.1 740.7V837.2A5.3 5.3 0 0 1 238 842.3H219.3A5.3 5.3 0 0 1 214.2 837.2ZM260 740.6A5.1 5.1 0 0 1 265.1 735.5H273.8A4.1 4.1 0 0 1 278.1 738.8L282.1 748.7A43.1 43.1 0 0 1 316.5 733.2C350.5 733.2 359.3 756.1 359.3 782V837.2A5.3 5.3 0 0 1 354.2 842.3H335.5A5.1 5.1 0 0 1 330.4 837.2V782C330.4 768.1 324.9 759.6 311.9 759.6A23.5 23.5 0 0 0 288.8 776.2V837.2C288.8 841.2 287.2 842.3 282.1 842.3H265A5.3 5.3 0 0 1 259.9 837.2ZM371.8 835.2A4.7 4.7 0 0 1 370.5 829.4L377.4 815.5A4 4 0 0 1 383.6 813.7 43.2 43.2 0 0 0 407.2 820.6C415.3 820.6 419 817.6 419 813S413 803.7 398.9 798.2C378.3 790.3 369.1 780.6 369.1 764.4S381.3 733.2 407.4 733.2A58.1 58.1 0 0 1 439.1 741.1 6 6 0 0 1 441.4 748.5L435.4 760.7A5.3 5.3 0 0 1 428.7 762.9 51.1 51.1 0 0 0 407.4 757.6C400.3 757.6 397.3 761 397.3 764.5 397.3 769.4 402.6 771.9 412.5 776.1 433 784.4 447.8 791.8 447.8 813 447.8 829.9 433.5 844.9 406.7 844.9A59.7 59.7 0 0 1 371.8 835.2ZM465 761.4H454.6A5.1 5.1 0 0 1 449.7 756.3V740.6A4.8 4.8 0 0 1 454.6 735.5H465V706A5.3 5.3 0 0 1 470.1 700.9H489A4.9 4.9 0 0 1 493.9 706V735.5H518.8A5 5 0 0 1 523.9 740.6V756.3A5.3 5.3 0 0 1 518.8 761.4H493.8V809.6C493.8 816.8 497.3 818.3 502.5 818.3A70.6 70.6 0 0 0 518.7 814.8 4.1 4.1 0 0 1 524.7 817.6L527.7 831.7A5.2 5.2 0 0 1 524.7 837.9 84.4 84.4 0 0 1 494.7 844.9C470.8 844.9 464.8 828.9 464.8 810.4ZM570.3 774.8A78.3 78.3 0 0 1 590.9 777.8C591.3 764.2 587.4 757.7 576.1 757.7A133.7 133.7 0 0 0 546.1 761.7C542.6 762.8 540.5 760.3 540.1 757L537.8 745A4.9 4.9 0 0 1 541.2 738.5 134.9 134.9 0 0 1 577.7 733.2C611 733.2 618 750.6 618 779.6V837.2A5.1 5.1 0 0 1 612.9 842.2H605C603.2 842.2 601.8 841.5 600.4 838.5L597.4 831.4A46.8 46.8 0 0 1 563.9 844.8 34 34 0 0 1 527.8 808.3C527.8 789.4 543.3 774.8 570.3 774.8ZM571 823.3A22.9 22.9 0 0 0 590.2 812V796.3A42.5 42.5 0 0 0 574.5 793.1C562.2 793.1 555.5 798.8 555.5 808.3A14.1 14.1 0 0 0 571 823.4ZM634.1 685.7A5.5 5.5 0 0 1 639.2 680.6H657.9A5.5 5.5 0 0 1 663 685.7V837.2A5.3 5.3 0 0 1 657.9 842.3H639.2A5.3 5.3 0 0 1 634.1 837.2ZM680.3 685.7A5.5 5.5 0 0 1 685.4 680.6H704.1A5.5 5.5 0 0 1 709.2 685.7V837.2A5.3 5.3 0 0 1 704.1 842.3H685.4A5.3 5.3 0 0 1 680.3 837.2ZM944.7 733.2A47.8 47.8 0 0 1 993.7 782.7C993.7 784.3 993.4 788 993.2 789.6A5.4 5.4 0 0 1 988.1 794.5H919.7A25.7 25.7 0 0 0 946.3 819.2 35.4 35.4 0 0 0 969.2 811.4C971.7 809.2 974.5 809.1 976.1 811.4L985.1 823.4A4.5 4.5 0 0 1 984.7 830.3 60.3 60.3 0 0 1 944.9 844.9 55.8 55.8 0 0 1 944.7 733.3ZM964.5 775.5A19.6 19.6 0 0 0 944 757 21.2 21.2 0 0 0 921.3 775.5ZM1002.7 740.6A5.1 5.1 0 0 1 1007.8 735.5H1016.5A4.1 4.1 0 0 1 1020.8 738.8L1024.7 748.7A43.1 43.1 0 0 1 1059.2 733.2C1093.2 733.2 1101.9 756.1 1101.9 782V837.2A5.3 5.3 0 0 1 1096.8 842.3H1078.1A5.1 5.1 0 0 1 1073 837.2V782C1073 768.1 1067.5 759.6 1054.6 759.6A23.5 23.5 0 0 0 1031.5 776.2V837.2C1031.5 841.2 1029.8 842.3 1024.8 842.3H1007.7A5.3 5.3 0 0 1 1002.6 837.2ZM1124 761.4H1113.6A5.1 5.1 0 0 1 1108.7 756.3V740.6A4.8 4.8 0 0 1 1113.6 735.5H1124V706A5.3 5.3 0 0 1 1129.1 700.9H1148A4.9 4.9 0 0 1 1152.9 706V735.5H1177.8A5 5 0 0 1 1182.9 740.6V756.3A5.3 5.3 0 0 1 1177.8 761.4H1152.9V809.6C1152.9 816.8 1156.3 818.3 1161.6 818.3A70.6 70.6 0 0 0 1177.7 814.8 4.1 4.1 0 0 1 1183.7 817.6L1186.7 831.7A5.2 5.2 0 0 1 1183.7 837.9 84.3 84.3 0 0 1 1153.7 844.9C1129.9 844.9 1123.9 828.9 1123.9 810.4ZM1191 835.2A4.7 4.7 0 0 1 1189.6 829.4L1196.5 815.5A4 4 0 0 1 1202.8 813.7 43.2 43.2 0 0 0 1226.3 820.6C1234.4 820.6 1238.1 817.6 1238.1 813S1232.1 803.7 1218 798.2C1197.5 790.3 1188.2 780.6 1188.2 764.4S1200.5 733.2 1226.6 733.2A58.1 58.1 0 0 1 1258.2 741.1 6 6 0 0 1 1260.5 748.5L1254.5 760.7A5.3 5.3 0 0 1 1247.8 762.9 51.1 51.1 0 0 0 1226.6 757.6C1219.4 757.6 1216.4 761 1216.4 764.5 1216.4 769.4 1221.7 771.9 1231.6 776.1 1252.2 784.4 1267 791.8 1267 813 1267 829.9 1252.7 844.9 1225.8 844.9A59.7 59.7 0 0 1 1191 835.2ZM892.2 863A0.8 0.8 0 0 1 893 862.2H901.7A8.9 8.9 0 1 1 901.7 879.9H895.2V889.3A0.8 0.8 0 0 1 894.4 890H892.9A0.8 0.8 0 0 1 892.2 889.3ZM901.6 877A5.9 5.9 0 0 0 907.6 870.9 5.7 5.7 0 0 0 901.6 865.2H895.3V877ZM922.3 871.3A9.6 9.6 0 1 1 913.1 880.8 9.5 9.5 0 0 1 922.3 871.3ZM922.3 887.8A7 7 0 1 0 916 880.8 6.5 6.5 0 0 0 922.3 887.8ZM947.1 876.2L941.7 890A0.7 0.7 0 0 1 940.9 890.5H940.7A0.8 0.8 0 0 1 939.9 890L934.8 872.6C934.6 872 934.8 871.5 935.5 871.5H936.8A0.8 0.8 0 0 1 937.7 872.1L941 884.5H941L946.2 871.5A0.8 0.8 0 0 1 947 871.1H947.2A0.8 0.8 0 0 1 948 871.5L953.1 884.5H953.1L956.5 872A0.7 0.7 0 0 1 957.3 871.5H958.8C959.5 871.5 959.7 871.9 959.5 872.5L954.5 889.9A0.8 0.8 0 0 1 953.7 890.4H953.5A0.9 0.9 0 0 1 952.7 889.9L947.1 876.2ZM971.7 871.3A8.1 8.1 0 0 1 980 879.6 10.1 10.1 0 0 1 980 880.7 0.8 0.8 0 0 1 979.2 881.5H965.8A6.5 6.5 0 0 0 971.8 887.8 8.5 8.5 0 0 0 976.8 886.3C977.5 885.8 977.7 885.7 978.2 886.4L978.7 887C979.1 887.6 979.2 887.8 978.5 888.3A11.3 11.3 0 0 1 971.8 890.5 9.6 9.6 0 0 1 971.8 871.3ZM977.1 879.2A5.4 5.4 0 0 0 971.7 873.9 6 6 0 0 0 965.8 879.2ZM984.7 872.5A0.9 0.9 0 0 1 985.6 871.7H986.2A0.8 0.8 0 0 1 987 872.3L987.3 873.6A7.3 7.3 0 0 1 993 871.3C994.4 871.3 996.6 871.5 996.2 872.7L995.7 874.2A0.7 0.7 0 0 1 994.6 874.6 4.6 4.6 0 0 0 992.6 874.1 5.8 5.8 0 0 0 987.7 876.4V889.2A0.9 0.9 0 0 1 986.8 890H985.6A0.9 0.9 0 0 1 984.7 889.2ZM1007.3 871.3A8.1 8.1 0 0 1 1015.6 879.6 9.8 9.8 0 0 1 1015.6 880.7 0.8 0.8 0 0 1 1014.8 881.5H1001.4A6.5 6.5 0 0 0 1007.4 887.8 8.5 8.5 0 0 0 1012.4 886.3C1013 885.8 1013.3 885.7 1013.8 886.4L1014.3 887C1014.6 887.6 1014.8 887.8 1014.1 888.3A11.3 11.3 0 0 1 1007.4 890.5 9.6 9.6 0 0 1 1007.4 871.3ZM1012.7 879.2A5.4 5.4 0 0 0 1007.3 873.9 6 6 0 0 0 1001.4 879.2ZM1028 871.3A11.3 11.3 0 0 1 1033.1 872.4V863.1A0.9 0.9 0 0 1 1033.9 862.2H1035A1 1 0 0 1 1036 863.1V889.2A0.9 0.9 0 0 1 1035 890H1034.3C1033.9 890 1033.7 889.7 1033.5 889.3L1033.3 888.1A8.8 8.8 0 0 1 1027.5 890.5 9 9 0 0 1 1019.3 880.8 8.7 8.7 0 0 1 1028 871.3ZM1027.9 887.8A6.8 6.8 0 0 0 1033.1 884.8V875A12.1 12.1 0 0 0 1028.4 873.9 6.3 6.3 0 0 0 1022.2 880.8 6.4 6.4 0 0 0 1027.9 887.8ZM1051.7 863.1A0.9 0.9 0 0 1 1052.6 862.2H1053.8A0.9 0.9 0 0 1 1054.6 863.1V872.4A11.1 11.1 0 0 1 1059.7 871.3 8.7 8.7 0 0 1 1068.4 880.8 9 9 0 0 1 1060.2 890.5 8 8 0 0 1 1054.4 888.1L1054.2 889.3A0.8 0.8 0 0 1 1053.3 890H1052.6A0.9 0.9 0 0 1 1051.8 889.2ZM1059.8 887.8A6.3 6.3 0 0 0 1065.4 880.8 6.3 6.3 0 0 0 1059.3 873.9 10.9 10.9 0 0 0 1054.6 875.1V884.8A6.8 6.8 0 0 0 1059.7 887.8ZM1071.1 872.7C1070.8 872.1 1071.1 871.7 1071.8 871.7H1073.5A0.8 0.8 0 0 1 1074.3 872.2L1079.5 886.8H1079.5L1085.7 872.2A0.8 0.8 0 0 1 1086.5 871.7H1088C1088.7 871.7 1089 872.1 1088.7 872.7L1077.2 898.9A1 1 0 0 1 1076.4 899.5H1075C1074.3 899.5 1073.9 899 1074.2 898.4L1077.8 890ZM1102.1 863A0.8 0.8 0 0 1 1102.8 862.2H1111.5A8.9 8.9 0 1 1 1111.5 879.9H1105V889.3A0.8 0.8 0 0 1 1104.3 890H1102.8A0.8 0.8 0 0 1 1102 889.3ZM1111.4 877A5.9 5.9 0 0 0 1117.5 870.9 5.7 5.7 0 0 0 1111.4 865.2H1105.1V877ZM1120.4 889L1132.5 862.2A0.7 0.7 0 0 1 1133.2 861.8H1133.6A0.7 0.7 0 0 1 1134.2 862.2L1146.2 889A0.7 0.7 0 0 1 1145.6 890H1144A0.7 0.7 0 0 1 1143.3 889.6L1140.4 883H1126.3L1123.4 889.6A0.7 0.7 0 0 1 1122.7 890H1121.1A0.7 0.7 0 0 1 1120.4 889ZM1139.3 880.6C1137.3 876.2 1135.4 871.9 1133.5 867.5H1133.2L1127.3 880.6ZM1154.2 876.7L1144.6 863.4A0.7 0.7 0 0 1 1145.2 862.3H1147.1A0.8 0.8 0 0 1 1147.7 862.6L1155.8 873.7 1163.8 862.6A0.8 0.8 0 0 1 1164.4 862.3H1166.3A0.7 0.7 0 0 1 1166.9 863.4L1157.2 876.7V889.3A0.8 0.8 0 0 1 1156.5 890.1H1154.9A0.8 0.8 0 0 1 1154.2 889.3ZM1171 863A0.8 0.8 0 0 1 1171.7 862.2H1187.4A0.8 0.8 0 0 1 1188.1 863V864.1A0.8 0.8 0 0 1 1187.4 864.9H1174V875.7H1185.4A0.8 0.8 0 0 1 1186.2 876.5V877.7A0.8 0.8 0 0 1 1185.4 878.4H1174V889.3A0.8 0.8 0 0 1 1173.3 890H1171.7A0.8 0.8 0 0 1 1171 889.3ZM1205.5 861.8A14.3 14.3 0 1 1 1191.2 876.2 14.3 14.3 0 0 1 1205.5 861.8ZM1205.5 887.6A11.5 11.5 0 1 0 1194 876.2 11.5 11.5 0 0 0 1205.5 887.6ZM1225.6 863A0.8 0.8 0 0 1 1226.4 862.2H1236.7A8.5 8.5 0 0 1 1245.3 870.7 8.9 8.9 0 0 1 1239.5 878.8L1244.9 888.8A0.8 0.8 0 0 1 1244.2 890H1242.3A0.8 0.8 0 0 1 1241.4 889.4L1236.3 879.1H1228.7V889.3A0.8 0.8 0 0 1 1227.9 890H1226.4A0.8 0.8 0 0 1 1225.6 889.3ZM1236.5 876.5A5.7 5.7 0 1 0 1236.5 865.1H1228.8V876.5ZM1256.1 864.9H1249.2A0.8 0.8 0 0 1 1248.4 864.1V863A0.8 0.8 0 0 1 1249.2 862.2H1266A0.8 0.8 0 0 1 1266.8 863V864.1A0.8 0.8 0 0 1 1266 864.9H1259.1V889.3A0.8 0.8 0 0 1 1258.3 890H1256.8A0.8 0.8 0 0 1 1256.1 889.3Z",
+ "width": 1478
},
"search": [
- "prescription_icon"
+ "online_payment_icon"
]
},
{
- "uid": "fce0d47a8f283966d22c8450b4c63f70",
- "css": "search_scan_icon",
- "code": 59404,
+ "uid": "3238628d101e2f79eeaaf407332b3052",
+ "css": "vital_sign_icon",
+ "code": 59405,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M846.2 544.3A19.5 19.5 0 0 1 828.4 532.9 74.4 74.4 0 0 0 729.8 496.2 19.5 19.5 0 0 1 713.5 460.7 113.5 113.5 0 0 1 863.9 516.6 19.5 19.5 0 0 1 846.2 544.3ZM185.6 174.1V500A19.5 19.5 0 0 0 224.7 500V174.1A19.5 19.5 0 0 0 185.6 174.1ZM305.5 465.2V174.1A19.5 19.5 0 0 0 266.4 174.1V465.2A19.5 19.5 0 0 0 305.5 465.2ZM347.2 454.6A19.5 19.5 0 0 0 386.3 454.6V453.1A19.5 19.5 0 1 0 347.2 453.1ZM366.7 389.9A19.5 19.5 0 0 0 386.2 370.4V174.1A19.5 19.5 0 0 0 347.2 174.1V370.4A19.5 19.5 0 0 0 366.7 389.9ZM467 500V174.1A19.5 19.5 0 0 0 428 174.1V500A19.5 19.5 0 1 0 467 500ZM528.3 389.9A19.5 19.5 0 0 0 547.8 370.4V174.1A19.5 19.5 0 1 0 508.7 174.1V370.4A19.5 19.5 0 0 0 528.3 389.9ZM508.7 454.6A19.5 19.5 0 0 0 547.8 454.6V453.1A19.5 19.5 0 1 0 508.7 453.1ZM249.5 96.4A19.5 19.5 0 0 0 230 76.9H96.3A19.5 19.5 0 0 0 76.8 96.4V230.3A19.5 19.5 0 1 0 115.9 230.3V116H230A19.5 19.5 0 0 0 249.5 96.4ZM76.8 597.8A19.5 19.5 0 0 0 96.3 617.3H230A19.5 19.5 0 0 0 230 578.2H115.9V463.9A19.5 19.5 0 1 0 76.8 463.9ZM798.7 249.8A19.5 19.5 0 0 0 818.2 230.3V96.4A19.5 19.5 0 0 0 798.7 76.9H665A19.5 19.5 0 0 0 665 116H779.1V230.3A19.5 19.5 0 0 0 798.7 249.8ZM993.4 896.6L944.6 790.7A19.5 19.5 0 0 0 918.7 781.1L888.1 795.2 859.6 732.9A196 196 0 0 0 895 421.4V52.9A52.9 52.9 0 0 0 842.3 0H52.8A52.9 52.9 0 0 0-0.1 52.9V259.3A19.5 19.5 0 0 0 39 259.3V52.9A13.8 13.8 0 0 1 52.7 39.1H842.3A13.8 13.8 0 0 1 856 52.9V392.8A198.1 198.1 0 0 0 829.1 380.3 193.8 193.8 0 0 0 709.5 374.9V174.1A19.5 19.5 0 1 0 670.4 174.1V390.5A194.3 194.3 0 0 0 628.6 419.9V174.1A19.5 19.5 0 0 0 589.5 174.1V469.9A195.7 195.7 0 0 0 583.2 645.4C584.7 648.7 586.3 651.9 588 655.1H52.8A13.8 13.8 0 0 1 39.1 641.3V434.9A19.5 19.5 0 1 0-0.1 434.9V641.4A52.9 52.9 0 0 0 52.7 694.3H614.8A194.8 194.8 0 0 0 824 749.2L852.5 811.7 821.8 825.9A19.5 19.5 0 0 0 812.3 851.8L861 957.8A72.8 72.8 0 0 0 993.3 896.8ZM826 706.4A156.2 156.2 0 0 1 618.7 629.2 156.9 156.9 0 0 1 695.8 421.5 156.5 156.5 0 0 1 862.7 444.9L863.1 445.3A156.9 156.9 0 0 1 826 706.4ZM941.3 957.8A33.2 33.2 0 0 1 915.7 958.8 33.6 33.6 0 0 1 896.6 941.3L856 853 917.3 824.9 957.8 913A33.9 33.9 0 0 1 941.2 958ZM19.5 366.7A19.5 19.5 0 1 0-0.1 347V347A19.5 19.5 0 0 0 19.5 366.7Z",
- "width": 1000
+ "path": "M1145 758.4A14.1 14.1 0 0 0 1130.9 772.5 51.9 51.9 0 0 1 1079 824.3H275.7A51.9 51.9 0 0 1 223.9 772.4V232.3A51.9 51.9 0 0 1 275.7 180.5H725.2A14.1 14.1 0 0 0 725.2 152.2H275.7A80.2 80.2 0 0 0 195.7 232.3V772.4A80.2 80.2 0 0 0 275.7 852.5H1079A80.2 80.2 0 0 0 1159.1 772.4 14.1 14.1 0 0 0 1145 758.4ZM1079 152.2H792.5A14.1 14.1 0 0 0 792.5 180.4H1079A51.9 51.9 0 0 1 1130.8 232.3V704.7A14.1 14.1 0 0 0 1159.1 704.7V232.3A80.2 80.2 0 0 0 1079 152.2ZM907.5 585V300.1A36.8 36.8 0 0 0 870.8 263.3H477A14.1 14.1 0 1 0 477 291.6H870.7A8.5 8.5 0 0 1 879.2 300.1V421.1H821.6L799.2 398.7A19.8 19.8 0 0 0 771.2 398.7L712 458 689.3 435.3A19.8 19.8 0 0 0 661.3 435.3L622.9 473.6 521.1 371.8A19.8 19.8 0 0 0 493.1 371.8L443.8 421.1H352.5V300.1A8.5 8.5 0 0 1 361 291.6H406.6A14.1 14.1 0 1 0 406.6 263.3H361A36.8 36.8 0 0 0 324.2 300.1V585A36.8 36.8 0 0 0 361 621.8H870.7A36.8 36.8 0 0 0 907.5 585ZM352.6 585V449.3H447.3A19.6 19.6 0 0 0 461.3 443.5L507.1 397.8 608.9 499.6A19.8 19.8 0 0 0 636.9 499.6L675.2 461.2 697.9 484A19.8 19.8 0 0 0 725.9 484L785.2 424.7 804 443.6A19.6 19.6 0 0 0 818 449.4H879.2V585.1A8.5 8.5 0 0 1 870.7 593.5H361.1A8.5 8.5 0 0 1 352.6 585.1ZM637.6 716.5A57.6 57.6 0 1 0 695.2 658.9 57.7 57.7 0 0 0 637.6 716.5ZM724.5 716.5A29.3 29.3 0 1 1 695.2 687.2 29.4 29.4 0 0 1 724.5 716.5ZM431.7 696.3A57.6 57.6 0 1 0 431.7 736.6 57.6 57.6 0 1 0 431.7 696.3ZM377.8 745.8A29.3 29.3 0 1 1 407.1 716.5 29.4 29.4 0 0 1 377.8 745.8ZM515 716.5A29.3 29.3 0 1 1 485.7 687.2 29.4 29.4 0 0 1 515 716.5Z",
+ "width": 1348
},
"search": [
- "search_scan_icon"
+ "vital_sign_icon"
]
},
{
- "uid": "4aab61c6fa11812333db81c2bb204c83",
- "css": "share_icon",
- "code": 59405,
+ "uid": "e714a92298dafff5fead849df18d449b",
+ "css": "weight_icon",
+ "code": 59406,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M872.7 173.8A139.7 139.7 0 1 1 732.9 34.1 139.7 139.7 0 0 1 872.7 173.8ZM313.7 500A139.7 139.7 0 1 1 173.8 360.2 139.7 139.7 0 0 1 313.7 500ZM872.7 826.1A139.7 139.7 0 1 1 732.9 686.4 139.7 139.7 0 0 1 872.7 826.1ZM294.6 570.3L612.8 755.8M612.3 244.2L294.6 429.7",
- "width": 907
+ "path": "M491.7 0A263 263 0 0 1 716.9 127Q794.5 140.1 882.6 162A131.3 131.3 0 0 1 982.2 303.3L922.3 881.9A132 132 0 0 1 791.4 1000.1H191.9A131.6 131.6 0 0 1 61 881.9L1.1 303.2A118.4 118.4 0 0 1 100.7 162Q184.1 141.4 266.3 127A263 263 0 0 1 491.7 0ZM240.1 185.1Q151.9 203.4 113.1 212.9A79.2 79.2 0 0 0 53.5 297.7L113.4 876.5A79.8 79.8 0 0 0 191.9 947.3H791.7A80.5 80.5 0 0 0 870.2 876.5L929.9 297.7A78.8 78.8 0 0 0 870.1 212.9Q817.9 200.2 743.1 185.2A253.9 253.9 0 0 1 754.8 263.2 263.1 263.1 0 0 1 228.5 263.2 252.6 252.6 0 0 1 240.1 185.1ZM491.7 52.5A210.5 210.5 0 1 0 702.2 263.1 211.1 211.1 0 0 0 491.7 52.5ZM491.7 105.1A27 27 0 0 1 518 131.3V262.9A26.3 26.3 0 0 1 491.7 289.2 25.9 25.9 0 0 1 465.4 262.9V131.6A26.3 26.3 0 0 1 491.7 105.1Z",
+ "width": 983
},
"search": [
- "share_icon"
+ "weight_icon"
]
},
{
- "uid": "65fb587059226e09ea7e14cd39772bb1",
- "css": "wishlist_add_icon",
- "code": 59406,
+ "uid": "48c8955311a2a09660e070396941b78b",
+ "css": "search_medicine_icon",
+ "code": 59404,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M785.4 0A320.4 320.4 0 0 0 541.7 114.3 320.4 320.4 0 0 0 297.9 0 294.5 294.5 0 0 0 0 299.7C0 506.8 184.1 673 463 929.4L541.7 1000.3 620.4 929.4C899.2 673.2 1083.4 507.1 1083.4 299.7A294.5 294.5 0 0 0 785.4 0Z",
- "width": 1083
+ "path": "M442.2 620.3A223.9 223.9 0 1 0 369.1 547.3L195.7 720.8 268.7 793.8ZM559.5 240.6A189.3 189.3 0 1 1 370.2 429.9 189.5 189.5 0 0 1 559.5 240.6ZM389.7 575.4A226.8 226.8 0 0 0 414 599.7L377.3 636.5 353 612.1ZM328.7 636.5L353 660.8 268.7 745.1 244.3 720.8ZM328.7 636.5M571.7 515.1L644.7 442.1A68.8 68.8 0 1 0 547.4 344.7L474.3 417.7A68.8 68.8 0 1 0 571.7 515.1ZM571.7 369.1A34.4 34.4 0 0 1 620.4 417.7L596 442.1 547.4 393.4ZM498.7 442.1L523 417.7 571.7 466.4 547.4 490.8A34.4 34.4 0 0 1 498.7 442.1ZM498.7 442.1",
+ "width": 1000
},
"search": [
- "wishlist_add_icon"
+ "search_medicine_icon"
]
},
{
- "uid": "c752092fa3a1a55f5bc0ae60f4beb4c7",
- "css": "wishlist_icon",
+ "uid": "2cfd058dc6a521015f26957251d5f9dd",
+ "css": "my_medical_file",
"code": 59407,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M785.4 0A320.4 320.4 0 0 0 541.7 114.3 320.4 320.4 0 0 0 297.9 0 294.5 294.5 0 0 0 0 299.7C0 506.8 184.1 673 463 929.4L541.7 1000.3 620.4 929.4C899.2 673.2 1083.4 507.1 1083.4 299.7A294.5 294.5 0 0 0 785.4 0ZM575 857.5L564 867.7 541.6 888 519.2 867.7 508.2 857.5A3310.1 3310.1 0 0 1 188.7 539.8 382.1 382.1 0 0 1 83.6 299.7 216.7 216.7 0 0 1 145.4 145.3 211.9 211.9 0 0 1 298 83.4 238.8 238.8 0 0 1 478 168L541.7 243.8 605.5 168A237.9 237.9 0 0 1 785.4 83.4 212.9 212.9 0 0 1 938.3 145.3 217.1 217.1 0 0 1 1000.1 299.7 384.1 384.1 0 0 1 894.8 539.8 3316.8 3316.8 0 0 1 575 857.5Z",
- "width": 1083
+ "path": "M730.5 105.5H609.8A88.9 88.9 0 0 0 531.4 58.6H469.3A78.1 78.1 0 0 0 318.2 58.6H256.1A88.9 88.9 0 0 0 177.7 105.5H58.6A58.8 58.8 0 0 0 0 164.1V941.6A58.8 58.8 0 0 0 58.6 1000.1H730.6A58.8 58.8 0 0 0 789.1 941.6V164.1A58.8 58.8 0 0 0 730.5 105.5ZM206.1 147.4A49.8 49.8 0 0 1 256 97.6H335A19.6 19.6 0 0 0 354.6 78.1 39.1 39.1 0 1 1 432.7 78.1 19.6 19.6 0 0 0 452.2 97.6H531.3A50 50 0 0 1 578.2 130.6C578.2 130.8 578.4 131 578.4 131.4A49.6 49.6 0 0 1 581.3 147.7V178.3A21 21 0 0 1 560.2 199.4H227.3A21 21 0 0 1 206.3 178.3ZM656.1 238.3V869.7H133.4V238.3ZM750 941.6A19.6 19.6 0 0 1 730.5 961.1H58.4A19.6 19.6 0 0 1 38.9 941.6V164.1A19.6 19.6 0 0 1 58.4 144.5H167V178.1A58.6 58.6 0 0 0 171 199.2H113.7A19.6 19.6 0 0 0 94.2 218.7V889.1A19.6 19.6 0 0 0 113.7 908.6H675.7A19.6 19.6 0 0 0 695.2 889.1V218.7A19.6 19.6 0 0 0 675.7 199.4H616.4A58.6 58.6 0 0 0 620.3 178.3V144.7H730.5A19.6 19.6 0 0 1 750 164.2ZM407.3 111.1A19.3 19.3 0 0 0 393.4 105.5 20.5 20.5 0 0 0 379.5 111.1 19.3 19.3 0 0 0 373.9 125 20.5 20.5 0 0 0 379.5 138.9 19.3 19.3 0 0 0 393.4 144.5 20.5 20.5 0 0 0 407.3 138.9 19.8 19.8 0 0 0 407.3 111.1ZM500 753.9H209.6A19.5 19.5 0 1 0 209.6 793H500A19.5 19.5 0 1 0 500 753.9ZM593 759.6A19.3 19.3 0 0 0 579.1 753.9 20.2 20.2 0 0 0 565.2 759.6 19.3 19.3 0 0 0 559.6 773.4 20.2 20.2 0 0 0 565.2 787.3 19.3 19.3 0 0 0 579.1 793 20.2 20.2 0 0 0 593 787.3 19.8 19.8 0 0 0 593 759.6ZM579.5 675.8H209.6A19.5 19.5 0 0 0 209.6 714.8H579.5A19.5 19.5 0 0 0 579.5 675.8ZM511.9 616.4H275.6A40.3 40.3 0 0 1 235.4 576.2V339.8A40.3 40.3 0 0 1 275.6 299.6H511.9A40.3 40.3 0 0 1 552.2 339.8V576.2A40.6 40.6 0 0 1 511.9 616.4ZM300.6 564.7L359.7 564.9C367.1 564.9 372.6 557.2 373 546.4V497.1C373 486.2 377.9 478.3 385.1 477.7L403.2 477.5C410.4 477.9 415.5 486.1 415.5 496.9V546.5C415.9 557.2 420.9 564.5 427.9 564.5L507.6 564.6 507.7 503.5C507.7 492.8 502.6 484.7 495.4 484.3L463.5 484.2C456.1 484.2 450.8 476.5 450.6 465.8L450.4 449.1C450.8 438.5 456.3 430.7 463.5 430.7H495.7C502.6 430.3 507.8 421.9 507.8 411.1V335.3A32.2 32.2 0 0 1 483.3 350.6H429.1C421.7 350.6 416.2 358.6 415.8 369.1V418.2C415.4 428.9 410 436.6 402.9 436.6L386.6 436.4C379.2 436.4 373.9 428.8 373.4 418.3V368.9C373 358.2 367.7 350.8 360.4 350.8H281.8V411.7C281.8 422.8 286.9 430.7 294.2 431.1L326.4 430.9C333.4 431.3 338.9 439.8 338.9 450.4V464.5C338.9 475.3 333.7 483.4 326.6 483.8H294.4C287 484.4 282.1 492.3 282.1 503.2L281.7 564.6Z",
+ "width": 789
},
"search": [
- "wishlist_icon"
+ "my_medical_file"
]
},
{
- "uid": "88b990d06e49752b331bb5c6704b3d42",
- "css": "bg_1",
+ "uid": "40c03b22028e1b34f230c522b40ca125",
+ "css": "family",
"code": 59408,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M80.6 6.2H2052.5A74.4 74.4 0 0 1 2126.9 80.6V923.9A74.4 74.4 0 0 1 2052.5 998.3H80.6A74.4 74.4 0 0 1 6.2 923.9V80.6A74.4 74.4 0 0 1 80.6 6.2ZM1063.2 993.8H1037.3L1039 992.1 1036 993.8H987.3L1020.5 981.6 889 993.8H29.8A52.5 52.5 0 0 1 6.2 946.5V867.8L1027.4 962.7 6.2 565.1V321L1034.3 947 89.8 6.2H367.8L1039.9 927.1 645.9 6.2H809L1059.9 937.4 996.5 6.2H1136.5L1074.3 920.2V920.2L1335.1 6.2H1499.5L1081.7 942.6 1765.2 6.2H2043.3L1103.6 942.1V942.1L1103.6 942.1 2126.9 344.5V586.4L1102.1 963.1 2126.9 867.9V946.5A52.5 52.5 0 0 1 2103.3 993.8H1243.6L1103.2 980.8 1136.7 993.8H1063.2Z",
- "width": 2133
+ "path": "M1255.3 571.5A27.7 27.7 0 0 0 1211.5 605.3 207.6 207.6 0 0 1 1255 733.1 27.7 27.7 0 1 0 1310.4 733.1 262.5 262.5 0 0 0 1255.3 571.5ZM1162.3 385.9A210.9 210.9 0 1 0 926.7 385.9 364.6 364.6 0 0 0 813.6 448.4 155.5 155.5 0 0 0 597.6 448.4 364.8 364.8 0 0 0 484.5 385.9 210.9 210.9 0 1 0 248.9 385.9 367.5 367.5 0 0 0 0 732.4C0 732.6 0 732.8 0 733.1 0 775.5 24.1 838.2 139.1 895.7A1060.2 1060.2 0 0 0 464.8 984.6 1904.1 1904.1 0 0 0 946.5 984.6 1059.9 1059.9 0 0 0 1272.3 895.7C1387.3 838.3 1411.4 775.6 1411.4 733.1A367.5 367.5 0 0 0 1162.3 385.9ZM889 211A155.5 155.5 0 1 1 1044.5 366.5 155.5 155.5 0 0 1 889.1 210.9ZM623 503.3A100.5 100.5 0 0 1 788.2 503.3H788.2A100.5 100.5 0 1 1 623 503.3ZM211.1 210.9A155.5 155.5 0 1 1 366.6 366.4 155.5 155.5 0 0 1 211.1 210.9ZM440.8 925.4A960.1 960.1 0 0 1 163.9 846.2C94.1 811.3 55.5 771.3 55.5 733.4 55.5 733.4 55.5 733.4 55.5 733.1A311.3 311.3 0 0 1 565.3 493.2 155.8 155.8 0 0 0 606.4 680.5 265.2 265.2 0 0 0 440.8 925.4ZM915.2 932.8A1857 1857 0 0 1 496.1 932.8V926A209.5 209.5 0 0 1 915.2 926ZM1247.4 846.2A959.9 959.9 0 0 1 970.5 925.4 265.3 265.3 0 0 0 805.1 680.3 155.7 155.7 0 0 0 846.2 493 311.3 311.3 0 0 1 1356 732.9C1356 771.1 1317.4 811.2 1247.4 846.2ZM1172.6 506.5A27.7 27.7 0 0 0 1172.6 561.8 27.7 27.7 0 0 0 1172.6 506.5Z",
+ "width": 1411
},
"search": [
- "bg_1"
+ "family"
]
},
{
- "uid": "ace5228aabf92ff4bf5524cef4c6409f",
- "css": "bg_2",
+ "uid": "28e30de5c20857758e187ef8e56eddc1",
+ "css": "calendar-(2)",
"code": 59409,
"src": "custom_icons",
"selected": true,
"svg": {
- "path": "M75 1000A75 75 0 0 1 0 925V75A75 75 0 0 1 75 0H2062.5A75 75 0 0 1 2137.5 75V925A75 75 0 0 1 2062.5 1000ZM2142 792.6C2084.5 793.1 2087.9 773.2 2043.5 760.2S1990.1 764.4 1953.4 739.3 1930.2 698.9 1905.4 667 1863.7 645 1847.6 605.3 1850.5 559.6 1845.2 519.5 1820.1 479 1824.9 436.1 1848.9 397.8 1863.1 360.3 1860.4 312.2 1886.3 277.7 1926 257.1 1960.1 232.7 1984.7 190.3 2031.5 175.4 2082.4 179.8 2136.4 179.3M2141.7 750.7C2091.8 751.2 2095.1 731.3 2057.1 720.2S2009.8 726.4 1977.9 704.4 1959.6 667.4 1938.2 640 1900 622.7 1886 588.1 1890.9 547.8 1886.4 513.3 1862.3 478.7 1866.5 441.5 1889.7 409.1 1902 376.8 1897.2 334 1919.7 304.1 1956 288 1985.3 267.1 2005.1 228.2 2045.8 215.3 2090.2 221.5 2136.6 221.1M2141.3 711.9C2098.5 712.2 2101.8 692.5 2069.6 683S2028.1 690.9 2000.7 672 1987 638.3 1968.8 615 1933.8 601.9 1921.9 572.2 1928.8 536.8 1925 507.6 1901.4 478.2 1905.1 446.4 1927.7 419.2 1938.2 391.9 1931.5 354 1950.6 328.4 1983.7 316.9 2008.8 298.9 2024.1 263.2 2059.1 252.3 2097.8 260.4 2137.1 260M742.2 1004.9C740.7 947.4 760.5 950.5 772.8 905.9S767.6 852.6 792.1 815.5 832 791.6 863.4 766.3 884.6 724.1 924.1 707.4 969.8 709.4 1009.8 703.4 1049.8 677.6 1092.7 681.7 1131.4 704.9 1169.1 718.5 1217.1 714.9 1252.1 740.1 1273.4 779.4 1298.4 813.1 1341.2 837 1356.9 883.4 1353.5 934.3 1354.9 988.3M784 1003.8C782.6 954 802.5 956.9 813 918.7S806 871.7 827.4 839.3 864 820.4 890.9 798.5 907.6 760 941.9 745.4 982.3 749.6 1016.6 744.5 1050.8 719.8 1088 723.3 1120.9 745.9 1153.4 757.6 1196 752.1 1226.4 774 1243.1 810 1264.5 838.9 1303.7 858 1317.4 898.4 1311.9 942.9 1313.1 989.2M822.8 1002.7C821.7 960 841.5 962.9 850.4 930.5S841.7 889.3 860.1 861.5 893.5 847.3 916.5 828.7 929 793.4 958.4 781 993.9 787.3 1023.1 782.9 1052 758.8 1083.9 762 1111.4 784.1 1138.9 794 1176.6 786.6 1202.5 805.4 1214.7 838.2 1233.1 862.9 1269 877.6 1280.6 912.4 1273.2 951.2 1274.3 990.5",
- "width": 2138
- },
- "search": [
- "bg_2"
- ]
- },
- {
- "uid": "0887f8af7107badceb2618215c9d8053",
- "css": "bg_3",
- "code": 59410,
- "src": "custom_icons",
- "selected": true,
- "svg": {
- "path": "M808.5 441.7C833.6 416.6 869 452 894.1 426.9S883.8 366.4 908.9 341.3 969.4 351.6 994.5 326.4 984.2 266 1009.4 240.9 1069.8 251.1 1094.9 226 1084.7 165.5 1109.8 140.4 1170.3 150.6 1195.4 125.5 1185.2 65.1 1210.3 39.9 1270.8 50.1 1295.9 25M85.1 848.6C120.5 851.1 117 901 152.4 903.5S191.3 856.1 226.7 858.5 258.7 910.9 294.1 913.4 333 866 368.4 868.4 400.4 920.8 435.8 923.3 474.7 875.9 510.2 878.3 542.1 930.7 577.5 933.2 616.5 885.8 651.9 888.3 683.9 940.6 719.4 943.1",
- "width": 2138
- },
- "search": [
- "bg_3"
- ]
- },
- {
- "uid": "15d14398ff70be8823b96215f803bf80",
- "css": "bg_4",
- "code": 59411,
- "src": "custom_icons",
- "selected": true,
- "svg": {
- "path": "M1546 479.2C1571.1 454.1 1606.5 489.5 1631.6 464.4S1621.3 403.9 1646.4 378.8 1706.9 389.1 1732 363.9 1721.7 303.5 1746.9 278.4 1807.3 288.6 1832.4 263.5 1822.2 203 1847.3 177.9 1907.8 188.1 1932.9 163 1922.7 102.6 1947.8 77.4 2008.3 87.6 2033.4 62.5M1354.2 796L1262.5 743.1V849ZM1549.7 796L1458.1 743.1V849ZM1745.3 796L1653.6 743.1V849Z",
- "width": 2138
- },
- "search": [
- "bg_4"
- ]
- },
- {
- "uid": "1ad61f1d7131991dd2361861dd272499",
- "css": "medication_icon",
- "code": 59412,
- "src": "custom_icons",
- "selected": true,
- "svg": {
- "path": "M578.7 308A105.9 105.9 0 0 0 476.3 229.1 106.8 106.8 0 0 0 384.1 282.2L317.1 398.2V398.2L250.1 514.2A106.3 106.3 0 0 0 428.9 628.6Q429.2 628.2 429.4 627.8L568.1 388.5A105.3 105.3 0 0 0 578.7 308ZM411.4 616.8A85.1 85.1 0 0 1 268.4 524.8L330.1 418 353 431.2H353L477.4 503ZM549.8 377.9L487.9 484.6 372.7 418.1 402.3 366.9A10.6 10.6 0 0 0 383.9 356.3L354.4 407.6 340.6 399.6 402.3 292.8A85.6 85.6 0 0 1 476.3 250.3 85.1 85.1 0 0 1 549.6 377.8ZM718.7 591.9A407.8 407.8 0 0 0 526.8 591.9C496.1 600.6 480.5 613 480.5 628.6 480.5 628.6 480.5 628.6 480.5 628.6V722.6C480.5 738.4 496 750.6 526.7 759.4A409.2 409.2 0 0 0 718.7 759.4C749.4 750.7 765 738.3 765 722.6V628.6L765 628.6C765 613 749.4 600.7 718.7 591.9ZM532.6 612.2A387.3 387.3 0 0 1 712.8 612.2C738.3 619.5 743.8 627.4 743.8 628.6H743.8C743.8 629.9 738.3 637.7 712.9 645A387.3 387.3 0 0 1 532.6 645C507 637.7 501.6 629.9 501.6 628.6S507 619.5 532.6 612.2ZM743.8 722.7C743.8 724.2 738.3 731.9 712.9 739.1A388.7 388.7 0 0 1 532.5 739.1C507.1 731.9 501.6 724.2 501.6 722.7V655.7A130.1 130.1 0 0 0 526.8 665.4 407.7 407.7 0 0 0 718.7 665.4 130.2 130.2 0 0 0 743.8 655.7V682.1A222 222 0 0 1 688.6 699.8 10.6 10.6 0 1 0 692.6 720.6 257.9 257.9 0 0 0 743.8 705.4ZM414.4 324.9A10.6 10.6 0 0 0 399.9 328.8L399.7 329.1A10.6 10.6 0 1 0 418.1 339.6L418.2 339.3A10.6 10.6 0 0 0 414.4 324.9ZM669.4 713.7A10.6 10.6 0 0 0 657.8 704.2H657.6A10.6 10.6 0 0 0 658.6 725.3L659.6 725.3 659.9 725.3A10.6 10.6 0 0 0 669.4 713.7ZM999.5 500A500 500 0 0 1 499.5 1000 35.7 35.7 0 1 1 499.5 928.6 428.6 428.6 0 0 0 821 217.1V250A35.7 35.7 0 0 1 749.5 250V107.1A35.7 35.7 0 0 1 785.2 71.4H928.1A35.7 35.7 0 1 1 928.1 142.9H820.9V145.7A35.7 35.7 0 0 1 860.2 153.9 496.8 496.8 0 0 1 999.5 500ZM213.8 678.6A35.7 35.7 0 0 0 178.1 714.3V782.9A428.6 428.6 0 0 1 499.5 71.4 35.7 35.7 0 1 0 499.5 0 500 500 0 0 0 116.9 821.4H70.9A35.7 35.7 0 1 0 70.9 892.8H213.8A35.7 35.7 0 0 0 249.6 857.2V714.3A35.7 35.7 0 0 0 213.8 678.6Z",
+ "path": "M544.9 710.9A78.2 78.2 0 0 0 623 789H714.9A78.2 78.2 0 0 0 793 710.9V619.1A78.2 78.2 0 0 0 714.8 541H623A78.2 78.2 0 0 0 544.9 619.1ZM623 619.1H714.9V710.9H623ZM961 687.5A39 39 0 0 0 1000 648.5V234.4A156.4 156.4 0 0 0 843.8 78.1H793V39A39 39 0 0 0 714.8 39V78.1H537.1V39A39 39 0 1 0 459 39V78.1H283.2V39A39 39 0 1 0 205 39V78.1H156.3A156.4 156.4 0 0 0 0 234.4V843.8A156.4 156.4 0 0 0 156.3 1000H843.8A156.4 156.4 0 0 0 1000 843.8 39 39 0 0 0 921.9 843.8 78.2 78.2 0 0 1 843.7 921.9H156.3A78.2 78.2 0 0 1 78.1 843.8V234.4A78.2 78.2 0 0 1 156.3 156.3H205.1V195.5A39 39 0 0 0 283.2 195.5V156.3H459.1V195.5A39 39 0 0 0 537.2 195.5V156.3H715V195.5A39 39 0 0 0 793.1 195.5V156.3H843.9A78.2 78.2 0 0 1 922 234.4V648.5A39 39 0 0 0 961 687.5Z",
"width": 1000
},
"search": [
- "medication_icon"
+ "calendar-(2)"
]
}
]
diff --git a/assets/app_icons/fonts/DQIcons.ttf b/assets/app_icons/fonts/DQIcons.ttf
index 474ea22c..3cff7aa3 100644
Binary files a/assets/app_icons/fonts/DQIcons.ttf and b/assets/app_icons/fonts/DQIcons.ttf differ
diff --git a/assets/images/DQ/DQ_logo.png b/assets/images/DQ/DQ_logo.png
new file mode 100644
index 00000000..993a1bd3
Binary files /dev/null and b/assets/images/DQ/DQ_logo.png differ
diff --git a/assets/images/DQ/dq_logo_icon.png b/assets/images/DQ/dq_logo_icon.png
new file mode 100644
index 00000000..71626bd8
Binary files /dev/null and b/assets/images/DQ/dq_logo_icon.png differ
diff --git a/assets/images/Weather_ico.png b/assets/images/Weather_ico.png
new file mode 100644
index 00000000..2e00ae8c
Binary files /dev/null and b/assets/images/Weather_ico.png differ
diff --git a/assets/images/Weather_img.png b/assets/images/Weather_img.png
new file mode 100644
index 00000000..57901477
Binary files /dev/null and b/assets/images/Weather_img.png differ
diff --git a/assets/images/ask_doctor.png b/assets/images/ask_doctor.png
new file mode 100644
index 00000000..f74ac6a8
Binary files /dev/null and b/assets/images/ask_doctor.png differ
diff --git a/assets/images/ask_doctor_bg.png b/assets/images/ask_doctor_bg.png
new file mode 100644
index 00000000..16e8e9d7
Binary files /dev/null and b/assets/images/ask_doctor_bg.png differ
diff --git a/assets/images/blood-drop.png b/assets/images/blood-drop.png
new file mode 100644
index 00000000..a981e3d3
Binary files /dev/null and b/assets/images/blood-drop.png differ
diff --git a/assets/images/contact_us_bg.png b/assets/images/contact_us_bg.png
index 1a7cc71e..40564039 100644
Binary files a/assets/images/contact_us_bg.png and b/assets/images/contact_us_bg.png differ
diff --git a/assets/images/dq_home_page_bg_image.png b/assets/images/dq_home_page_bg_image.png
new file mode 100644
index 00000000..f70df2ae
Binary files /dev/null and b/assets/images/dq_home_page_bg_image.png differ
diff --git a/assets/images/height_icon.png b/assets/images/height_icon.png
index a837fb3d..cca88ac0 100644
Binary files a/assets/images/height_icon.png and b/assets/images/height_icon.png differ
diff --git a/assets/images/new-design/height_icon.png b/assets/images/new-design/height_icon.png
index a3a8575f..cca88ac0 100644
Binary files a/assets/images/new-design/height_icon.png and b/assets/images/new-design/height_icon.png differ
diff --git a/assets/images/new-design/vidamobile.png b/assets/images/new-design/vidamobile.png
new file mode 100644
index 00000000..f096e8a7
Binary files /dev/null and b/assets/images/new-design/vidamobile.png differ
diff --git a/assets/images/notf.png b/assets/images/notf.png
new file mode 100644
index 00000000..39eb3fb3
Binary files /dev/null and b/assets/images/notf.png differ
diff --git a/assets/images/online_payment_icon.png b/assets/images/online_payment_icon.png
new file mode 100644
index 00000000..a6e0150a
Binary files /dev/null and b/assets/images/online_payment_icon.png differ
diff --git a/assets/images/online_payments_bg.png b/assets/images/online_payments_bg.png
new file mode 100644
index 00000000..72f8e331
Binary files /dev/null and b/assets/images/online_payments_bg.png differ
diff --git a/assets/images/pharmacy/Group 1206.svg b/assets/images/pharmacy/Group 1206.svg
new file mode 100644
index 00000000..ef8f7473
--- /dev/null
+++ b/assets/images/pharmacy/Group 1206.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/images/pharmacy/Group 1207.svg b/assets/images/pharmacy/Group 1207.svg
new file mode 100644
index 00000000..fd2ffd41
--- /dev/null
+++ b/assets/images/pharmacy/Group 1207.svg
@@ -0,0 +1,17 @@
+
diff --git a/assets/images/pharmacy/aramex_shipping_logo.svg b/assets/images/pharmacy/aramex_shipping_logo.svg
new file mode 100644
index 00000000..30cc03b8
--- /dev/null
+++ b/assets/images/pharmacy/aramex_shipping_logo.svg
@@ -0,0 +1,14 @@
+
diff --git a/assets/images/pharmacy/arrow_right.svg b/assets/images/pharmacy/arrow_right.svg
new file mode 100644
index 00000000..b4243287
--- /dev/null
+++ b/assets/images/pharmacy/arrow_right.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/pharmacy/check_icon.svg b/assets/images/pharmacy/check_icon.svg
new file mode 100644
index 00000000..cfa4f441
--- /dev/null
+++ b/assets/images/pharmacy/check_icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/pharmacy/contact_us_icon.svg b/assets/images/pharmacy/contact_us_icon.svg
new file mode 100644
index 00000000..fa591d47
--- /dev/null
+++ b/assets/images/pharmacy/contact_us_icon.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/images/pharmacy/credit_card_icon.svg b/assets/images/pharmacy/credit_card_icon.svg
new file mode 100644
index 00000000..9ba6c2bf
--- /dev/null
+++ b/assets/images/pharmacy/credit_card_icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/pharmacy/delete_red_icon.svg b/assets/images/pharmacy/delete_red_icon.svg
new file mode 100644
index 00000000..8897a683
--- /dev/null
+++ b/assets/images/pharmacy/delete_red_icon.svg
@@ -0,0 +1,8 @@
+
diff --git a/assets/images/pharmacy/edit_icon.svg b/assets/images/pharmacy/edit_icon.svg
new file mode 100644
index 00000000..df7cca2f
--- /dev/null
+++ b/assets/images/pharmacy/edit_icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/pharmacy/empty_box.svg b/assets/images/pharmacy/empty_box.svg
new file mode 100644
index 00000000..05816608
--- /dev/null
+++ b/assets/images/pharmacy/empty_box.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/images/pharmacy/hmg_shipping_logo.svg b/assets/images/pharmacy/hmg_shipping_logo.svg
new file mode 100644
index 00000000..8e9db3d6
--- /dev/null
+++ b/assets/images/pharmacy/hmg_shipping_logo.svg
@@ -0,0 +1,17 @@
+
diff --git a/assets/images/pharmacy/lakum_icon.svg b/assets/images/pharmacy/lakum_icon.svg
new file mode 100644
index 00000000..e2b223de
--- /dev/null
+++ b/assets/images/pharmacy/lakum_icon.svg
@@ -0,0 +1,8 @@
+
diff --git a/assets/images/pharmacy/medication_refill_icon.svg b/assets/images/pharmacy/medication_refill_icon.svg
new file mode 100644
index 00000000..d5951130
--- /dev/null
+++ b/assets/images/pharmacy/medication_refill_icon.svg
@@ -0,0 +1,32 @@
+
diff --git a/assets/images/pharmacy/mobile_number_icon.svg b/assets/images/pharmacy/mobile_number_icon.svg
new file mode 100644
index 00000000..d98aaf29
--- /dev/null
+++ b/assets/images/pharmacy/mobile_number_icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/pharmacy/my_family_icon.svg b/assets/images/pharmacy/my_family_icon.svg
new file mode 100644
index 00000000..838b357e
--- /dev/null
+++ b/assets/images/pharmacy/my_family_icon.svg
@@ -0,0 +1,19 @@
+
diff --git a/assets/images/pharmacy/my_prescription_icon.svg b/assets/images/pharmacy/my_prescription_icon.svg
new file mode 100644
index 00000000..bda0e22e
--- /dev/null
+++ b/assets/images/pharmacy/my_prescription_icon.svg
@@ -0,0 +1,54 @@
+
diff --git a/assets/images/pharmacy/orders_icon.svg b/assets/images/pharmacy/orders_icon.svg
new file mode 100644
index 00000000..f09ae19d
--- /dev/null
+++ b/assets/images/pharmacy/orders_icon.svg
@@ -0,0 +1,8 @@
+
diff --git a/assets/images/pharmacy/our_locations_icon.svg b/assets/images/pharmacy/our_locations_icon.svg
new file mode 100644
index 00000000..2be16631
--- /dev/null
+++ b/assets/images/pharmacy/our_locations_icon.svg
@@ -0,0 +1,10 @@
+
diff --git a/assets/images/pharmacy/pill_reminder_icon.svg b/assets/images/pharmacy/pill_reminder_icon.svg
new file mode 100644
index 00000000..f4fb4ddc
--- /dev/null
+++ b/assets/images/pharmacy/pill_reminder_icon.svg
@@ -0,0 +1,49 @@
+
diff --git a/assets/images/pharmacy/quote_end.svg b/assets/images/pharmacy/quote_end.svg
new file mode 100644
index 00000000..083ff39a
--- /dev/null
+++ b/assets/images/pharmacy/quote_end.svg
@@ -0,0 +1,8 @@
+
diff --git a/assets/images/pharmacy/quote_start.svg b/assets/images/pharmacy/quote_start.svg
new file mode 100644
index 00000000..74216f14
--- /dev/null
+++ b/assets/images/pharmacy/quote_start.svg
@@ -0,0 +1,8 @@
+
diff --git a/assets/images/pharmacy/review_icon.svg b/assets/images/pharmacy/review_icon.svg
new file mode 100644
index 00000000..bb826f21
--- /dev/null
+++ b/assets/images/pharmacy/review_icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/pharmacy/shipping_addresses_icon.svg b/assets/images/pharmacy/shipping_addresses_icon.svg
new file mode 100644
index 00000000..ebb8692f
--- /dev/null
+++ b/assets/images/pharmacy/shipping_addresses_icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/pharmacy/shipping_mark_icon.svg b/assets/images/pharmacy/shipping_mark_icon.svg
new file mode 100644
index 00000000..5cf9606b
--- /dev/null
+++ b/assets/images/pharmacy/shipping_mark_icon.svg
@@ -0,0 +1,16 @@
+
diff --git a/assets/images/pharmacy/shipping_truck_icon.svg b/assets/images/pharmacy/shipping_truck_icon.svg
new file mode 100644
index 00000000..8ffda974
--- /dev/null
+++ b/assets/images/pharmacy/shipping_truck_icon.svg
@@ -0,0 +1,34 @@
+
diff --git a/assets/images/pharmacy/success_check_icon.svg b/assets/images/pharmacy/success_check_icon.svg
new file mode 100644
index 00000000..ed1379b8
--- /dev/null
+++ b/assets/images/pharmacy/success_check_icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/pharmacy/success_review_icon.svg b/assets/images/pharmacy/success_review_icon.svg
new file mode 100644
index 00000000..f6951456
--- /dev/null
+++ b/assets/images/pharmacy/success_review_icon.svg
@@ -0,0 +1,24 @@
+
diff --git a/assets/images/pharmacy/user_icon.svg b/assets/images/pharmacy/user_icon.svg
new file mode 100644
index 00000000..8e978105
--- /dev/null
+++ b/assets/images/pharmacy/user_icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/pharmacy/wishklist_icon.svg b/assets/images/pharmacy/wishklist_icon.svg
new file mode 100644
index 00000000..cd0ce16d
--- /dev/null
+++ b/assets/images/pharmacy/wishklist_icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/pharmacy/wishlist_icon.svg b/assets/images/pharmacy/wishlist_icon.svg
new file mode 100644
index 00000000..910a3ab8
--- /dev/null
+++ b/assets/images/pharmacy/wishlist_icon.svg
@@ -0,0 +1,6 @@
+
diff --git a/assets/images/progress-loading.gif b/assets/images/progress-loading.gif
new file mode 100644
index 00000000..0d7769b7
Binary files /dev/null and b/assets/images/progress-loading.gif differ
diff --git a/assets/images/rectangle.png b/assets/images/rectangle.png
new file mode 100644
index 00000000..e4bdb0b6
Binary files /dev/null and b/assets/images/rectangle.png differ
diff --git a/assets/images/search_medicine_icon.png b/assets/images/search_medicine_icon.png
new file mode 100644
index 00000000..349620a5
Binary files /dev/null and b/assets/images/search_medicine_icon.png differ
diff --git a/assets/images/test-weight.png b/assets/images/test-weight.png
new file mode 100644
index 00000000..934b2467
Binary files /dev/null and b/assets/images/test-weight.png differ
diff --git a/assets/images/vital_sign_icon.png b/assets/images/vital_sign_icon.png
new file mode 100644
index 00000000..fbd0908b
Binary files /dev/null and b/assets/images/vital_sign_icon.png differ
diff --git a/ios/.gitignore b/ios/.gitignore
index ce2e85b9..e67828a4 100644
--- a/ios/.gitignore
+++ b/ios/.gitignore
@@ -32,3 +32,4 @@ Runner/GeneratedPluginRegistrant.*
!default.perspectivev3
/Runner.xcworkspace/contents.xcworkspacedata
/Runner.xcodeproj/project.pbxproj
+/Flutter/.last_build_id
diff --git a/ios/Flutter/.last_build_id b/ios/Flutter/.last_build_id
new file mode 100644
index 00000000..44c4b26c
--- /dev/null
+++ b/ios/Flutter/.last_build_id
@@ -0,0 +1 @@
+da98d9f0c1f407e541c636e84847ac81
\ No newline at end of file
diff --git a/key.properties b/key.properties
new file mode 100644
index 00000000..01c8cbe8
--- /dev/null
+++ b/key.properties
@@ -0,0 +1,4 @@
+storePassword=HmGsa123
+keyPassword=HmGsa123
+keyAlias=DQKey
+storeFile=DQKey.jks
\ No newline at end of file
diff --git a/lib/config/config.dart b/lib/config/config.dart
index 5cf0148e..7fe198b1 100644
--- a/lib/config/config.dart
+++ b/lib/config/config.dart
@@ -6,8 +6,10 @@ import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';
const MAX_SMALL_SCREEN = 660;
-const BASE_URL = 'https://uat.hmgwebservices.com/';
+const PHARMACY_BASE_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
+const BASE_URL = 'https://uat.hmgwebservices.com/';
+// const BASE_URL = 'https://hmgwebservices.com/';
const GET_PROJECT = 'Services/Lists.svc/REST/GetProject';
///Doctor
@@ -32,7 +34,7 @@ const GET_Patient_LAB_ORDERS = 'Services/Patients.svc/REST/GetPatientLabOrders';
const GET_Patient_LAB_SPECIAL_RESULT =
'Services/Patients.svc/REST/GetPatientLabSpecialResults';
const GET_Patient_LAB_RESULT =
- '/Services/Patients.svc/REST/GetPatientLabResults';
+ 'Services/Patients.svc/REST/GetPatientLabResults';
///
const GET_PATIENT_ORDERS = 'Services/Patients.svc/REST/GetPatientRadOrders';
@@ -85,14 +87,18 @@ const GET_BABY_BY_USER_ID = 'Services/Community.svc/REST/GetBabyByUserID';
const GET_USERINFORMATION_REQUEST =
'Services/Community.svc/REST/GetUserInformation_New';
+///Update email
+const UPDATE_PATENT_EMAIL = 'Services/Patients.svc/REST/UpdatePateintEmail';
+const UPDATE_PATENT_INFO = 'Services/Community.svc/REST/UpdateUserInfo_New';
+
///addNewChild
const GET_NEWCHILD_REQUEST = 'Services/Community.svc/REST/CreateNewBaby';
///newUserId
const GET_NEW_USER_REQUEST = 'Services/Community.svc/REST/CreateNewUser_New';
-///delteChild
-const DELETE_CHILD_REQUEST = 'Services/Community.svc/REST/DeleteBaby';
+///delete Child
+const DELETE_CHILD_REQUEST = '/Services/Community.svc/REST/DeleteBaby';
///addNewTABLE
const GET_TABLE_REQUEST = 'Services/Community.svc/REST/CreateVaccinationTable';
@@ -124,6 +130,10 @@ const GET_QR_PARKING = 'Services/SWP.svc/REST/GetQRParkingByID';
//URL to get clinic list
const GET_CLINICS_LIST_URL = "Services/lists.svc/REST/GetClinicCentralized";
+//URL to get active appointment list
+const GET_ACTIVE_APPOINTMENTS_LIST_URL =
+ "Services/Doctors.svc/Rest/Dr_GetAppointmentActiveNumber";
+
//URL to get projects list
const GET_PROJECTS_LIST = 'Services/Lists.svc/REST/GetProject';
@@ -178,6 +188,9 @@ const CHECK_PAYMENT_STATUS =
//URL create advance payment
const CREATE_ADVANCE_PAYMENT = "Services/Doctors.svc/REST/CreateAdvancePayment";
+const HIS_CREATE_ADVANCE_PAYMENT =
+ "Services/Patients.svc/REST/HIS_CreateAdvancePayment";
+
const ADD_ADVANCE_NUMBER_REQUEST =
'Services/PayFort_Serv.svc/REST/AddAdvancedNumberRequest';
@@ -238,6 +251,7 @@ const SESSION_ID = 'TMRhVmkGhOsvamErw';
const IS_DENTAL_ALLOWED_BACKEND = false;
const PATIENT_TYPE = 1;
const PATIENT_TYPE_ID = 1;
+var DEVICE_TOKEN = "";
var DeviceTypeID = Platform.isIOS ? 1 : 2;
const LANGUAGE_ID = 2;
const GET_PHARMCY_ITEMS = "Services/Lists.svc/REST/GetPharmcyItems_Region";
@@ -246,6 +260,9 @@ const GET_PAtIENTS_INSURANCE =
"Services/Patients.svc/REST/Get_PatientInsuranceDetails";
const GET_PAtIENTS_INSURANCE_UPDATED =
"Services/Patients.svc/REST/PatientER_GetPatientInsuranceCardUpdateHistory";
+
+const INSURANCE_DETAILS = "Services/Patients.svc/REST/Get_InsuranceCheckList";
+
const GET_VACCINES = "Services/Patients.svc/REST/GetDoneVaccinesByPatientID";
const GET_VACCINES_EMAIL = "Services/Notifications.svc/REST/SendVaccinesEmail";
const GET_PAtIENTS_INSURANCE_APPROVALS =
@@ -335,6 +352,9 @@ const GET_ALL_CITIES = 'services/Lists.svc/rest/GetAllCities';
const CREATE_E_REFERRAL = "Services/Patients.svc/REST/CreateEReferral";
const GET_E_REFERRALS = "Services/Patients.svc/REST/GetEReferrals";
+//Pharmacy wishlist
+// const GET_WISHLIST = "http://swd-pharapp-01:7200/api/shopping_cart_items/";
+
// pharmacy
const PHARMACY_VERIFY_CUSTOMER = "epharmacy/api/VerifyCustomer";
const PHARMACY_CREATE_CUSTOMER = "epharmacy/api/CreateCustomer";
@@ -343,6 +363,10 @@ const GET_PHARMACY_TOP_MANUFACTURER = "epharmacy/api/topmanufacturer";
const GET_PHARMACY_BEST_SELLER_PRODUCT = "epharmacy/api/bestsellerproducts";
const GET_PHARMACY_PRODUCTs_BY_IDS = "epharmacy/api/productsbyids/";
const GET_CUSTOMERS_ADDRESSES = "epharmacy/api/Customers/";
+const GET_WISHLIST = "epharmacy/api/shopping_cart_items/";
+const GET_ORDER = "orders?";
+const GET_ORDER_DETAILS = "epharmacy/api/orders/";
+const GET_ADDRESS = "epharmacy/api/Customers/272843?fields=addresses";
const GET_SHOPPING_CART = "epharmacy/api/shopping_cart_items/";
const GET_SHIPPING_OPTIONS = "epharmacy/api/get_shipping_option/";
const DELETE_SHOPPING_CART = "epharmacy/api/delete_shopping_cart_items/";
@@ -368,6 +392,22 @@ const GET_ORDER_DETAIL_BY_ID =
const GET_CMC_ORDER_DETAIL_BY_ID =
"Services/Patients.svc/REST/PatientER_CMC_GetTransactionsForOrder";
const GET_CHECK_UP_ITEMS = "Services/Patients.svc/REST/GetCheckUpItems";
+const PUSH_NOTIFICATION_GET_ALL_NOTIFICATIONS =
+ 'Services/MobileNotifications.svc/REST/PushNotification_GetAllNotifications';
+const PUSH_NOTIFICATION_SET_MESSAGES_FROM_POOL_AS_READ =
+ 'Services/MobileNotifications.svc/REST/PushNotification_SetMessagesFromPoolAsRead';
+const GET_PATIENT_ALL_PRES_ORD =
+ 'Services/Patients.svc/REST/PatientER_GetPatientAllPresOrders';
+const PATIENT_ER_INSERT_PRES_ORDER =
+ 'Services/Patients.svc/REST/PatientER_InsertPresOrder';
+
+// External API
+const ADD_ADDRESS_INFO =
+ "https://mdlaboratories.com/exacartapi/api/addcustomeraddress";
+const GET_CUSTOMER_ADDRESSES =
+ "https://mdlaboratories.com/exacartapi/api/Customers/";
+const GET_CUSTOMER_INFO =
+ "https://mdlaboratories.com/exacartapi/api/VerifyCustomer";
const TIMER_MIN = 10;
diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart
index 50c74fd2..5cbab003 100644
--- a/lib/config/localized_values.dart
+++ b/lib/config/localized_values.dart
@@ -1,4 +1,4 @@
-const Map> localizedValues = {
+const Map localizedValues = {
'dashboardScreenToolbarTitle': {'ar': 'الرئيسة', 'en': 'Home'},
'settings': {'en': 'Settings', 'ar': 'الاعدادات'},
'language': {'en': 'App Language', 'ar': 'لغة التطبيق'},
@@ -109,15 +109,19 @@ const Map> localizedValues = {
'set-reminder': {'en': 'Set Reminder', 'ar': 'تعيين تذكير'},
'login': {'en': 'Login', 'ar': 'تسجيل الدخول'},
- 'loginregister': {'en': 'Login / Register', 'ar': 'دخولتسجيل'},
- 'welcome': {'en': 'Welcome', 'ar': 'أهلا بك'},
- 'welcome_text': {
- 'en': 'Dr. Sulaiman Al Habib Mobile Application ',
- 'ar': 'الدكتور سليمان الحبيب لتطبيقات الهاتف المتحرك'
+ 'loginregister': {'en': 'Login / Register', 'ar': 'تسجيل الدخول'},
+ 'poweredBy': {'en': 'Powered By', 'ar': 'مشغل بواسطة'},
+ "welcome": {
+ "en": "Welcome",
+ "ar": "مرحبا"
+ },
+ "welcome_text": {
+ "en": "Dr. Sulaiman Al Habib Mobile Application",
+ "ar": "الدكتور سليمان الحبيب لتطبيقات الهاتف المتحرك"
},
'welcome_text2': {
'en': 'Have you visited AlHabib Medical Group before? ',
- 'ar': 'الدكتور سليمان الحبيب لتطبيقات الهاتف المتحرك'
+ 'ar': 'هل قمت بزيارة مجموعة الحبيب الطبية من قبل؟'
},
'yes': {'en': 'Yes', 'ar': 'نعم'},
'no': {'en': 'No', 'ar': 'لا'},
@@ -126,12 +130,23 @@ const Map> localizedValues = {
"ar": "اختر من الخيارات أدناه لتسجيل الدخول إلى ملفك الطبي."
},
"registernow": {"en": "Register Now", "ar": "تسجيل الان"},
- "nationalID": {"en": "National ID", "ar": "رقم الهوية"},
+ "nationalID": { "en": "Enter the Identification Number",
+ "ar": "أدخل رقم الهوية الوطنية او الاقامة"},
+ "national-id": {
+ "en": "National ID",
+ "ar": "رقم الهوية"
+ },
"fileNo": {"en": "File Number", "ar": "رقم الملف"},
+ "fileno": {"en": "File No", "ar": "رقم الملف"},
"forgotFileNo": {"en": "Forgot file Number?", "ar": "نسيت رقم الملف الطبي؟"},
+ "forgotFileNoTitle": {
+ "en": "Forgot medical file Number",
+ "ar": "نسيت رقم الملف"
+ },
+
"enter-national-id": {
- "en": "Please enter mobile number and national ID / Iqama",
- "ar": "الرجاء إدخال رقم الجوال والهوية الوطنية / الاقامة"
+ "en": "Please enter mobile number and identification number",
+ "ar": "الرجاء إدخال رقم الجوال ورقم الهوية"
},
"profile-info": {
"en": "Please enter profile information",
@@ -283,6 +298,7 @@ const Map> localizedValues = {
"enter-email": {"en": "Enter Email", "ar": "ادخل البريد الالكتروني"},
"family": {"en": "My Family", "ar": "عائلتي"},
"family-title": {"en": "My Family Files", "ar": "ملفات العائلة"},
+ "myFamily": {"en": "My Family", "ar": "ملفات العائلة"},
"add-new-member": {"en": "Add Family Member", "ar": "إضافة عضو جديد"},
"sent-requests": {"en": "Sent Requests", "ar": "الطلبات المرسلة"},
"recieved-requests": {"en": "Recieved Requests", "ar": "الطلبات المستلمة"},
@@ -337,7 +353,7 @@ const Map> localizedValues = {
"MyMedicalFile": {"en": "My Medical File", 'ar': 'ملف الطبي الالكتروني'},
"myMedicalFileSubTitle": {
"en": "All your medical records",
- 'ar': 'جميع سجلاتك البية'
+ 'ar': 'جميع سجلاتك الطبية'
},
"viewMore": {"en": "View More", 'ar': 'عرض المزيد'},
"homeHealthCareService": {
@@ -348,7 +364,7 @@ const Map> localizedValues = {
"EmergencyService": {"en": "Emergency Service", 'ar': 'الفحص الطبي الشامل'},
"OnlinePaymentService": {
"en": "Online Payment Service",
- 'ar': 'خدمة الدفع عبر الإلكتدوني'
+ 'ar': 'خدمة الدفع الإلكتدوني'
},
"OffersAndPackages": {
"en": "Online transfer request",
@@ -409,7 +425,7 @@ const Map> localizedValues = {
"locationa": {"en": "location:", "ar": "الموقع"},
"ambulancerequest": {"en": "Ambulance :", "ar": "طلب نقل "},
"requestA": {"en": "Request:", "ar": "اسعاف"},
- "MyAppointments": {"en": "My Appointments", "ar": "مواعيدي"},
+ "MyAppointments": {"en": "Appointments", "ar": "مواعيدي"},
"NoBookedAppointments": {
"en": "No Booked Appointments",
"ar": "لا توجد مواعيد محجوزة"
@@ -620,6 +636,67 @@ const Map> localizedValues = {
"ar":
"خدمة الاشعة: هذه الخدمة تمكنك من الاطلاع على تقارير وصور الاشعة التي تمت في مجموعة الحبيب الطبية وكذلك ارسال التقرير عن طريق الايميل."
},
+ "orders": {"en": "Orders", "ar": "الطلبات"},
+ "lakum": {"en": "Lakum", "ar": "لكم"},
+ "wishlist": {"en": "Wishlist", "ar": "الرغبات"},
+ "reviews": {"en": "Reviews", "ar": "التقيمات"},
+ // "myPrescriptions": {"en": "My Prescriptions", "ar": "وصفاتي"},
+ // "medicationRefill": {"en": "Medication Refill", "ar": "تعبئة الأدوية"},
+ "pillReminder": {"en": "Pill Reminder", "ar": "تذكير الأدويه"},
+ "shippingAddresses": {"en": "Shipping Addresses", "ar": "عناوين الشحن"},
+ "reachUs": {"en": "Reach Us", "ar": "الوصول لنا"},
+ "ourLocations": {"en": "Our Locations", "ar": "مواقعنا"},
+ "changeAddress": {"en": "Change Address", "ar": "تغيير العنوان"},
+ "edit": {"en": "Edit", "ar": "تعديل"},
+ "delete": {"en": "Delete", "ar": " حذف"},
+ "addAddress": {"en": "ADD A NEW ADDRESS", "ar": " اضافة عنوان جديد"},
+ "addNewAddress": {"en": "Add New Address", "ar": " اضافة عنوان جديد"},
+ "order": {"en": "My Order", "ar": " طلباتي"},
+ "delivered": {"en": "Delivered", "ar": " تم التوصيل"},
+ "pending": {"en": "Pending", "ar": " معلقة "},
+ "processing": {"en": "Processing", "ar": " تحت المعالجة"},
+ "cancelled": {"en": "Cancelled", "ar": " ملغي"},
+ "writeReview": {"en": "Write Review", "ar": " اكتب تقييمك"},
+ "shareReview": {"en": "SHARE REVIEW", "ar": " اكتب تقييمك"},
+ "backMyAccount": {
+ "en": "BACK TO MY ACCOUNT ",
+ "ar": " الرجوع لحسابي الشخصي"
+ },
+ "reviewSuccessful": {"en": "Review Successful", "ar": " تقييم ناجح"},
+ "reviewShared": {
+ "en": "Your review has been shared on product review section",
+ "ar": " تمت مشاركة تقييمك في قسم تقييم المنتج"
+ },
+ "reviewComment": {
+ "en": "Your reviews help other to choose better product",
+ "ar": " تقييمك سوف يساعد الأخرين في اختيار المنتج الأفضل"
+ },
+ "shippingAddress": {"en": "SHIPPING ADDRESS", "ar": " عنوان الشحن"},
+ "shippedMethod": {"en": "SHIP BY:", "ar": " الشحن بواسطة:"},
+ "orderDetail": {"en": "Order Detail", "ar": " تفاصيل الطلب"},
+ "orderSummary": {"en": "Order Summary", "ar": " تفاصيل المنتج"},
+ "subtotal": {"en": "Subtotal", "ar": " المجموع"},
+ "shipping": {"en": "Shipping", "ar": " الشحن"},
+ "vat": {"en": "VAT (15%)", "ar": "(15%) القيمة المضافة"},
+ "total": {"en": "TOTAL", "ar": " المجموع الكلي"},
+ "sar": {"en": "SAR", "ar": " ر.س "},
+ "payOnline": {"en": "PAY ONLINE", "ar": "اتمام عملية الدفع "},
+ "cancelOrder": {"en": "CANCEL ORDER", "ar": "الغاء الطلب "},
+ "confirmAddress": {"en": "CONFIRM ADDRESS ", "ar": " تأكيد العنوان "},
+ "confirmLocation": {"en": "CONFIRM LOCATION ", "ar": " تأكيد الموقع "},
+ "confirmDeleteMsg": {
+ "en": "Are you sure! want to delete ",
+ "ar": "هل انت متأكد تريد الحذف "
+ },
+ "confirmDelete": {"en": "DELETE", "ar": "حذف"},
+ "confirmCancellation": {
+ "en": "Are you sure! want to cancel this order ",
+ "ar": "هل انت متأكد تريد حذف هذا المنتج "
+ },
+ "orderNumber": {"en": "Order#: ", "ar": "الطلب: "},
+ "orderDate": {"en": "Date", "ar": "التاريخ:"},
+ "itemsNo": {"en": "items(s)", "ar": "عناصر"},
+ "noOrder": {"en": "You Don't have any orders.", "ar": "ليس لديك طلبات"},
"TermsService": {"en": "Terms of Service", "ar": "شروط الخدمه"},
"Beforeusing": {
@@ -658,24 +735,26 @@ const Map> localizedValues = {
"ar": "الفحص ليس تشخيص."
},
"remeberthat": {"en": "Remember that", "ar": "تذكر ذلك:"},
+ "loginToUseService": {
+ "en": "You need to login to use this service",
+ "ar": "هذة الخدمة تتطلب تسجيل الدخول"
+ },
// pharmacy module
- "medicationRefill": {
- "en": "MEDICATION REFILL",
- "ar": "إعادة تعبئة الدواء"
- },
+ "medicationRefill": {"en": "MEDICATION REFILL", "ar": "إعادة تعبئة الدواء"},
"offersAndPromotions": {
"en": "OFFERS & SPECIAL PROMOTIONS",
"ar": "العروض والترقيات الخاصة"
},
- "myPrescriptions": {
- "en": "MY PRESCRIPTIONS",
- "ar": "وصفاتي"
- },
+ "myPrescriptions": {"en": "MY PRESCRIPTIONS", "ar": "وصفاتي"},
"searchAndScanMedication": {
"en": "SEARCH & SCAN FOR MEDICATION",
"ar": "البحث والمسح للأدوية"
},
+ "shopByBrands": {"en": "Shop By Brands", "ar": "تسوق حسب الماركات"},
+ "recentlyViewed": {"en": "Recently Viewed", "ar": "شوهدت مؤخرا"},
+ "bestSellers": {"en": "Best Sellers", "ar": "أفضل البائعين"},
+ "deleteAllItems": {"en": "Delete All Items", "ar": "حذف كافة العناصر"},
"shopByBrands": {
"en": "Shop By Brands",
"ar": "تسوق حسب الماركات"
@@ -775,5 +854,443 @@ const Map> localizedValues = {
"drag-point": {
"en": "Drag point to change your age",
"ar": "اسحب لتغيير عمرك"
+ },"HHCNotAuthMsg": {
+ "en": "This service provides a set of home health care services, continuous and comprehensive follow-up in their places of residence for those who cannot access health facilities, such as (laboratory analyzes - radiology - vaccinations - physical therapy), etc.",
+ "ar": "من خلال هذه الخدمة يمكنك طلب مجموعة من الفحوصات التي تساعدك وتساعد طبيبك في فهم حالتك الصحية الحالية ومن ثم تحديد المخاطر المحتملة"
+ },
+ "email": {"en": "Email", "ar": "البريد الالكتروني"},
+ "Book": {"en": "Book", "ar": "احجز"},
+ "AppointmentLabel": {"en": "Appointment", "ar": "موعد"},
+ "BloodType": {"en": "Blood Type", "ar": "فصيلة الدم"},
+ "marital-status": {"en": "Marital status", "ar": "الحالة الإجتماعية"},
+ "general": {"en": "General", "ar": "عام"},
+ "profile": {"en": "Profile", "ar": "ملفي"},
+ "notifications": {"en": "Notifications", "ar": "إشعارات"},
+ "notificationDetails": {"en": "Notification Details", "ar": "تفاصيل الاشعار"},
+ "notificationDetailsa": {
+ "en": "Notification Details",
+ "ar": "تفاصيل الاشعار"
+ },
+
+ "info-my-doctor-points": {
+ "en": [
+ "View the doctor's profile and qualifications.",
+ "View the doctor's schedule.",
+ "View details of your appointments with the selected doctor.",
+ "Book appointment with the doctor. ",
+ ],
+ "ar": [
+ "الاطلاع على معلومات الطبيب ومؤهلاته.",
+ "الاطلاع على جدول الطبيب.",
+ "الاطلاع على تفاصيل المواعيد التي تمت مع الطبيب.",
+ "حجز موعد مع الطبيب."
+ ]
+ },
+ "info-my-doctor": {
+ "en":
+ "This service allows you to see all the doctors you have visited in Al Habib Medical Group, and through this service:",
+ "ar":
+ "خدمة اطبائي: هذه الخدمة تمكنك من الاطلاع على جميع الاطباء الذين قمت بزيارتهم في مجموعة الحبيب الطبية, كما تستطيع من خلال هذه الخدمة:"
+ },
+ "info-prescriptions": {
+ "en":
+ "This service allows you to view all the medical prescriptions issued by Al Habib Medical Group, and through this service, you can:",
+ "ar":
+ "خدمة الوصفات الطبية: هذه الخدمة تمكنك من الاطلاع على جميع الوصفات الطبية التي تم اصدارها في مجموعة الحبيب الطبية، كما تستطيع من خلال هذه الخدمة:"
+ },
+ "info-my-prescription-points": {
+ "en": [
+ "View the duration days.",
+ "View the frequency timing.",
+ "View the doctor's remarks.",
+ "Add a reminder to remind you when to take medicine doses.",
+ "Search in AlHabib Pharmacies about the branches where medicines are available, pharmacies locations and contact numbers.",
+ "Ordering and delivery medications online.",
+ "View the prices of the drug. ",
+ ],
+ "ar": [
+ "الاطلاع على طريقة تناول العلاج.",
+ "الاطلاع على مدة تناول العلاج.",
+ "الاطلاع على ملاحظات الطبيب.",
+ "اضافة منبه للتذكير بموعد تناول جرعات الادوية.",
+ "البحث في صيدليات الحبيب عن الفروع التي يتوفر فيها العلاج وكذلك مواقع الصيدليات وارقام الاتصال. ",
+ "امكانية شراء وتوصيل العلاج عن طريق الانترنت.",
+ "الاطلاع على اسعار الادوية المصروفة."
+ ]
+ },
+
+ "info-insurance-cards": {
+ "en":
+ "This service allows you to view all the insurance cards that recorded during your visits to Al Habib Medical Group in addition to:",
+ "ar":
+ "خدمة بطاقات التامين: هذه الخدمة تمكنك من الاطلاع على جميع بطاقات التامين والتي تم تسجيلها اثناء زياراتك لمجموعة الحبيب الطبية بالاضافة الى:"
+ },
+
+ "info-insurance-cards-points": {
+ "en": [
+ "Name of the insurance company.",
+ "Insurance category.",
+ "Insurance policy number.",
+ "The expiry date of insurance.",
+ "The status of the insurance card (active or inactive).",
+ "Details of the coverage, e.x the room category covered as well some cases covered by the insurance.",
+ ],
+ "ar": [
+ "اسم شركة التامين.",
+ "فئة التامين.",
+ "رقم بوليصة التامين.",
+ "تاريخ انتهاء التامين.",
+ "حالة بطاقة التامين (فعالة او غير فعالة).",
+ "تفاصيل التامين، مثلاً: مستوى الغرفة التي يغطيها التامين وكذلك الحالات التي يغطيها التامين.",
+ ]
+ },
+
+ "info-allergies": {
+ "en":
+ "This service allows you to view all types of allergies recorded during your visits to Al Habib Medical Group.",
+ "ar":
+ "خدمة الحساسية: هذه الخدمة تمكنك من الاطلاع على جميع انواع الحساسية التي تم تسجيلها خلال زياراتك في مجموعة الحبيب الطبية."
+ },
+
+ "sick-leaves": {"en": "Sick Leaves", "ar": "الاجازات المرضية"},
+
+ "info-sick-leaves": {
+ "en":
+ "This service allows you to view all sick leaves that were taken in Al Habib Medical Group in addition to:",
+ "ar":
+ "الاجازات المرضية: هذه الخدمة تمكنك من الاطلاع على جميع الاجازات المرضية والتي تم اصدارها في مجموعة الحبيب الطبية بالاضافة الى:"
+ },
+ "info-sick-leave-points": {
+ "en": [
+ "Doctor Name",
+ "Sick leave date ",
+ "Sick leave days",
+ "Branch that patient take the vaccination form.",
+ "Sending a report of vaccinations to the email. ",
+ ],
+ "ar": [
+ "اسم الطبيب",
+ "تاريخ الاجازة.",
+ "عدد ايام الاجازة.",
+ "الفرع الذي تم اصدار الاجازة منه.",
+ "ارسال نسخة مختومة من الاجازة الى البريد الالكتروني."
+ ]
+ },
+
+ "info-approvals": {
+ "en":
+ "This service allows you to view all approvals requests that have been sent to the insurance companies in addition to:",
+ "ar":
+ "خدمة الموافقات: هذه الخدمة تمكنك من الاطلاع على جميع طلبات الموافقات والتي تم ارسالها الى شركات التامين بالاضافة الى:"
+ },
+
+ "info-approval-points": {
+ "en": [
+ "View the total unused approvals.",
+ "Track the approvals status.",
+ ],
+ "ar": [
+ "الاطلاع على اجمالي الموافقات الغير مستخدمة.",
+ "تتبع حالة الموافقة.",
+ ]
+ },
+
+ "month-report": {"en": "Monthly Reports", "ar": "تقاريري الشهرية"},
+ "info-month-report": {
+ "en":
+ "Upon activation of this service, the system will send a monthly report automatically to the registered email which lists the vital signs and the results for the last visits made in AlHabib Medical Group.",
+ "ar":
+ "خدمة التقارير الشهرية: عند تفعيل هذه الخدمة سيقوم النظام بارسال تقرير شهري بشكل آلي على الايميل المسجل والذي يسرد المؤشرات الحيوية ونتائج التحاليل لآخر زيارات تمت بمجموعة الحبيب الطبية."
+ },
+ "language-setting": {
+ "en": "SMS and Confirmation Calls Language",
+ "ar": "لغة الرسائل القصيرة و الاتصال الآلي"
+ },
+ "alert": {"en": "Alerts", "ar": "التنبيهات"},
+ "email-alert": {
+ "en": "Alert By Email",
+ "ar": "استلام التنبيهات بالبريد الالكتروني"
+ },
+ "sms-alert": {
+ "en": "Alert By SMS",
+ "ar": "استلام التنبيهات بالرسائل القصيرة"
+ },
+ "contact-info": {"en": "Contact Information", "ar": "معلومات التواصل"},
+ "emrg-name": {
+ "en": "Emergency Contact Name",
+ "ar": "اسم للتواصل في حالة الطوارئ"
+ },
+ "emrg-no": {
+ "en": "Emergency Contact Number",
+ "ar": "رقم للتواصل في حالة الطوارئ"
+ },
+ "modes": {"en": "Modes", "ar": "الاوضاع"},
+ "vibration": {"en": "Vibration Touch Feedback", "ar": "الاهتزاز عند اللمس"},
+ "blind-modes": {
+ "en": "Modes for Partially Blind",
+ "ar": "تأثيرات لدعم ضعاف البصر"
+ },
+ "invert-theme": {"en": "Invert", "ar": "ألوان سلبية"},
+ "off-theme": {"en": "Off", "ar": "إيقاف"},
+ "dim-theme": {"en": "Dim", "ar": "ضوء خافت"},
+ "bw-theme": {"en": "Black and White", "ar": "أبيض و أسود"},
+ "permissions": {"en": "Permission", "ar": "الصلاحيات"},
+ "camera-permission": {"en": "Camera", "ar": "الكاميرا"},
+ "location-permission": {"en": "Location", "ar": "تحديد المواقع"},
+
+ "accessibility": {"en": "Accessibility Mode", "ar": "وضع امكانية الوصول"},
+ "orderStatus": {"en": "Order Status", "ar": "حالة الطلب"},
+ "CancelOrder": {"en": "Cancel Order", "ar": "الغاء الطلب"},
+ "FindUs": {"en": "Find Us", "ar": "اين تجدنا"},
+ "Feedback": {"en": "Feedback", "ar": "رأيك يهمنا"},
+ "LiveChat": {"en": "Live Chat", "ar": "محادثة مباشرة"},
+ "Service": {"en": "Service", "ar": "خدمة"},
+ "HMGServiceLabel": {"en": "HMG Service", 'ar': 'خدمات الحبيب'},
+ "HealthWeatherIndicators": {"en": "Health Weather Indicators", 'ar': ' مؤشرات الطقس الصحية '},
+ "HealthTipsBasedOnCurrentWeather": {"en": "Health Tips Based On Current Weather", 'ar': ' نصائح صحية على أساس الطقس الحالي '},
+ "MoreDetails": {"en": "More details", "ar": " المزيد من التفاصيل "},
+ "SendCopy": {"en": "Send Copy", "ar": "ارسال نسخة"},
+ "ResendOrder": {"en": "Resend order & deliver", "ar": "إعادة طلب و توصيل"},
+ "Ports": {"en": "Ports", "ar": "المنافذ"},
+ "Way": {"en": "Way", "ar": "الطزيقة"},
+ "Average": {"en": "Average", "ar": "المعدل"},
+ "DailyDoses": {"en": "Daily Doses", "ar": "جرعات يومية"},
+ "Period": {"en": "Period", "ar": "الفترة"},
+ "cm": {
+ "en": "CM",
+ "ar": "سم"
+ },
+ "kg": {
+ "en": "kg",
+ "ar": "كجم"
+ },
+ "mass": {
+ "en": "Mass",
+ "ar": "كتلة"
+ },
+ "temp-c": {
+ "en": "°C",
+ "ar": "°س"
+ },
+ "bpm": {
+ "en": "bpm",
+ "ar": "نبضة"
+ },
+ "respiration-signs": {
+ "en": "Respiration",
+ "ar": "تنفس"
+ },
+ "sys-dias": {
+ "en": "SBP/DBP",
+ "ar": "إنقباض/إنبساط"
+ },
+ "body": {
+ "en": "Body \n Mass",
+ "ar": "كتلة\nالجسم"
+ },
+ "feedback": {
+ "en": "Feedback",
+ "ar": "رأيك يهمنا"
+ },
+ "send": {
+ "en": "Send",
+ "ar": "أرسل"
+ },
+ "status": {
+ "en": "Status",
+ "ar": "الحالة"
+ },
+ "like-to-hear": {
+ "en": "We would love to hear the feedback, concerns on healthcare services and eServices experience. Please use the below form",
+ "ar": "يسعدنا سماع ملاحظاتك حول خدمات الرعاية الصحية والخدمات الإلكترونية. يرجى تعبئة الحقول المطلوبة"
+ },
+ "subject": {
+ "en": "Subject",
+ "ar": "الموضوع"
+ },
+ "message": {
+ "en": "Message",
+ "ar": "رسالة"
+ },
+ "empty-subject": {
+ "en": "Please enter the subject",
+ "ar": "يرجى ادخال الموضوع"
+ },
+ "empty-message": {
+ "en": "Please enter message",
+ "ar": "يرجى ادخال الموضوع"
+ },
+ "select-attachment": {
+ "en": "Select Attachment",
+ "ar": "إختر المرفق"
+ },
+ "complain-appo": {
+ "en": "Complaint for appointment",
+ "ar": "شكوى على موعد"
+ },
+ "complain-without-appo": {
+ "en": "Complaint without appointment",
+ "ar": "شكوى بدون موعد"
+ },
+ "question": {
+ "en": "Question",
+ "ar": "سؤال"
+ },
+ "message-type": {
+ "en": "Message Type",
+ "ar": "نوع الرسالة"
+ },
+ "compliment": {
+ "en": "compliment",
+ "ar": "ثناء"
+ },
+ "suggestion": {
+ "en": "Suggestion",
+ "ar": "إقتراح"
+ },
+ "your-feedback": {
+ "en": "Your feedback was sent",
+ "ar": "إقتراح"
+ },
+ "select-part": {
+ "en": "Please select the part that complain about",
+ "ar": "يرجى تحديد الجزء الذي تشكو منه"
+ },
+ "number": {
+ "en": "Number",
+ "ar": "الرقم"
+ },
+ "not-classified": {
+ "en": "Not classified",
+ "ar": "غير محدد"
+ },
+ "selectClinic": {"en": "Select Clinic", "ar": " بحث بالعيادة"},
+ "searchItemError": {"en": "Item name should be more than 3 character ", "ar": "يجب أن يكون اسم العنصر أكثر من 3 أحرف"},
+ "YouCanFind": {"en": "YouCanFind", "ar": "باستطاعتك العثور على "},
+ "ItemInSearch": {"en": " Item In Search", "ar": " عنصر في البحث "},
+ "InvoiceNo": {"en": " Invoice No", "ar": "رقم الفاتورة"},
+ "SpecialResult": {"en": " Special Result", "ar": "نتيجة خاصة"},
+ "GeneralResult": {"en": "General Result", "ar": "نتيجة عامة"},
+ "show-more-btn": {
+ "en": "Flow Chart",
+ "ar": "النتائج التراكمية"
+ },
+
+ "value": {
+ "en": "Value",
+ "ar": "القيمة"
+ },
+ "range": {
+ "en": "Range",
+ "ar": "المدى"
+ },
+ "out-patient": {
+ "en": "Out Patient",
+ "ar": "عيادات خارجية"
+ },
+ "in-patient": {
+ "en": "In Patient",
+ "ar": "تنويم"
+ },
+ "report": {
+ "en": "Radiology Report",
+ "ar": "تقرير الاشعة"
+ },
+ "open-rad": {
+ "en": "Open Image",
+ "ar": "فتح صور الاشعة"
},
+ "send-copy": {
+ "en": "Email the Report",
+ "ar": "أرسل التقرير"
+ },
+
+ "vaccination": {
+ "en": "Vaccination",
+ "ar": "جدول التطعيمات"
+ },
+ "welcomeBack": {
+ "en": "Welcome back",
+ "ar": "مرحبا مرة أخرى"
+ },
+ "instructions": {
+ "en": "Please ensure that the email address is up-to-date and process to view the schedule",
+ "ar": "يرجى التأكد من صحة عنوان البريد الالكتروني و المتابعة لعرض الجدول "
+ },
+ "update-email": {
+ "en": "Update Email",
+ "ar": "تحديث البريد الالكتروني"
+ },
+
+ "updated-email": {
+ "en": "Updated email successfully",
+ "ar": "تم تحديث البريد الالكتروني"
+ },
+
+ "view-list-children": {
+ "en": "View List of Children",
+ "ar": "عرض قائمة الأطفال"
+ },
+
+ "add-child": {
+ "en": "Add New Child",
+ "ar": "اضافة طفل"
+ },
+ "child-name": {
+ "en": "Child Name",
+ "ar": "اسم الطفل"
+ },
+ "childDob": {
+ "en": "Birth Date",
+ "ar": "تاريخ الولادة"
+ },
+ "deleted-child-mes": {
+ "en": "The request was successful. The children have removed from the vaccination schedule subscription service.",
+ "ar": "تم حذف الطفل بنجاح"
+ },
+ "deleted-child":{
+ "en":"Delete child",
+ "ar":"إالغاء الطفل"
+ },
+ "visit": {
+ "en": "Visit",
+ "ar": "زيارة"
+ },
+ "description-vaccination": {
+ "en": "Description",
+ "ar": "وصف"
+ },
+ "due-date": {
+ "en": "Due date",
+ "ar": "تاريخ الاستحقاق"
+ },
+ "valid-email": {
+ "en": "Please enter valid email",
+ "ar": "الرجاء إدخال عنوان بريد صحيح"
+ },
+ "confirm-send": {
+ "en": "Send the child's schedule to the email?",
+ "ar": "ارسال جدول التطعيمات الى بريدك الالكتروني؟"
+ },
+ "email-success": {
+ "en": " The request was successful. You will receive the Schedule in moments.",
+ "ar": "تم ارسال جدول التطعيمات "
+ },
+ "add-instructions": {
+ "en": "Add the child's information below to recieve the schedule of vaccinations.",
+ "ar": "أضف معلومات الطفل لاستلام جدول التطعيمات"
+ },
+ "added-child": {
+ "en": "The request was successful. You have added a child to the vaccination schedule subscription service.",
+ "ar": "تمت الاضافة بنجاح."
+ },
+ "appUpdate": {
+ "en": "UPDATE THE APP",
+ "ar": "تحديث التطبيق"
+ },
+ "ereferralSaveSuccess": {
+ "en": "The referral request has been submitted successfully, you will be contacted ASAP to complete the process. Referral request no is ",
+ "ar": " تم إرسال طلب الإحالة بنجاح ، وسيتم الاتصال بك في أسرع وقت ممكن لإكمال العملية. رقم طلب الإحالة"
+ },
+
};
diff --git a/lib/config/shared_pref_kay.dart b/lib/config/shared_pref_kay.dart
index a667a9af..9e57990c 100644
--- a/lib/config/shared_pref_kay.dart
+++ b/lib/config/shared_pref_kay.dart
@@ -16,5 +16,8 @@ const USER_LONG = 'user-long';
const IS_GO_TO_PARKING = 'IS_GO_TO_PARKING';
const IS_SEARCH_APPO = 'is-search-appo';
const IS_LIVECARE_APPOINTMENT = 'is_livecare_appointment';
+const IS_VIBRATION = 'is_vibration';
+const THEME_VALUE = 'is_vibration';
+const MAIN_USER = 'main-user';
const PHARMACY_LAST_VISITED_PRODUCTS = 'last-visited';
const PHARMACY_CUSTOMER_ID = 'costumer-id';
diff --git a/lib/core/model/AlHabibMedicalService/EReferral/get_all_projects_response_model.dart b/lib/core/model/AlHabibMedicalService/EReferral/get_all_projects_response_model.dart
new file mode 100644
index 00000000..438f1630
--- /dev/null
+++ b/lib/core/model/AlHabibMedicalService/EReferral/get_all_projects_response_model.dart
@@ -0,0 +1,76 @@
+class GetAllProjectsResponseModel {
+ String desciption;
+ Null desciptionN;
+ int iD;
+ String legalName;
+ String legalNameN;
+ String name;
+ Null nameN;
+ String phoneNumber;
+ String setupID;
+ int distanceInKilometers;
+ bool isActive;
+ String latitude;
+ String longitude;
+ int mainProjectID;
+ Null projectOutSA;
+ bool usingInDoctorApp;
+
+ GetAllProjectsResponseModel(
+ {this.desciption,
+ this.desciptionN,
+ this.iD,
+ this.legalName,
+ this.legalNameN,
+ this.name,
+ this.nameN,
+ this.phoneNumber,
+ this.setupID,
+ this.distanceInKilometers,
+ this.isActive,
+ this.latitude,
+ this.longitude,
+ this.mainProjectID,
+ this.projectOutSA,
+ this.usingInDoctorApp});
+
+ GetAllProjectsResponseModel.fromJson(Map json) {
+ desciption = json['Desciption'];
+ desciptionN = json['DesciptionN'];
+ iD = json['ID'];
+ legalName = json['LegalName'];
+ legalNameN = json['LegalNameN'];
+ name = json['Name'];
+ nameN = json['NameN'];
+ phoneNumber = json['PhoneNumber'];
+ setupID = json['SetupID'];
+ distanceInKilometers = json['DistanceInKilometers'];
+ isActive = json['IsActive'];
+ latitude = json['Latitude'];
+ longitude = json['Longitude'];
+ mainProjectID = json['MainProjectID'];
+ projectOutSA = json['ProjectOutSA'];
+ usingInDoctorApp = json['UsingInDoctorApp'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['Desciption'] = this.desciption;
+ data['DesciptionN'] = this.desciptionN;
+ data['ID'] = this.iD;
+ data['LegalName'] = this.legalName;
+ data['LegalNameN'] = this.legalNameN;
+ data['Name'] = this.name;
+ data['NameN'] = this.nameN;
+ data['PhoneNumber'] = this.phoneNumber;
+ data['SetupID'] = this.setupID;
+ data['DistanceInKilometers'] = this.distanceInKilometers;
+ data['IsActive'] = this.isActive;
+ data['Latitude'] = this.latitude;
+ data['Longitude'] = this.longitude;
+ data['MainProjectID'] = this.mainProjectID;
+ data['ProjectOutSA'] = this.projectOutSA;
+ data['UsingInDoctorApp'] = this.usingInDoctorApp;
+ return data;
+ }
+}
diff --git a/lib/core/model/insurance/insurance_card.dart b/lib/core/model/insurance/insurance_card.dart
index 998df241..ebab8d71 100644
--- a/lib/core/model/insurance/insurance_card.dart
+++ b/lib/core/model/insurance/insurance_card.dart
@@ -16,7 +16,9 @@ class InsuranceCardModel {
int patientType;
String groupName;
String companyName;
+ int companyID;
String subCategoryDesc;
+ int subCategoryID;
String patientCardID;
String insurancePolicyNumber;
bool isActive;
@@ -25,6 +27,7 @@ class InsuranceCardModel {
InsuranceCardModel({
this.insurancePolicyNumber,
this.subCategoryDesc,
+ this.subCategoryID,
this.versionID,
this.channel,
this.languageID,
@@ -40,6 +43,7 @@ class InsuranceCardModel {
this.patientType,
this.groupName,
this.companyName,
+ this.companyID,
this.patientCardID,
this.isActive,
this.cardValidTo
@@ -50,6 +54,7 @@ class InsuranceCardModel {
insurancePolicyNumber = json['InsurancePolicyNo'];
patientCardID = json['PatientCardID'];
companyName = json['CompanyName'];
+ companyID = json['CompanyID'];
groupName = json['GroupName'];
versionID = json['VersionID'];
channel = json['Channel'];
@@ -65,6 +70,7 @@ class InsuranceCardModel {
patientTypeID = json['PatientTypeID'];
patientType = json['PatientType'];
subCategoryDesc = json['SubCategoryDesc'];
+ subCategoryID = json["SubCategoryID"];
cardValidTo = json['CardValidTo'];
}
diff --git a/lib/core/model/labs/lab_result.dart b/lib/core/model/labs/lab_result.dart
index 23b3363d..c9acd809 100644
--- a/lib/core/model/labs/lab_result.dart
+++ b/lib/core/model/labs/lab_result.dart
@@ -86,3 +86,14 @@ class LabResult {
return data;
}
}
+
+
+class LabResultList {
+ String filterName = "";
+ List patientLabResultList = List();
+
+ LabResultList(
+ {this.filterName, LabResult lab}) {
+ patientLabResultList.add(lab);
+ }
+}
diff --git a/lib/core/model/my_balance/AdvanceModel.dart b/lib/core/model/my_balance/AdvanceModel.dart
index b95e08a2..d2792990 100644
--- a/lib/core/model/my_balance/AdvanceModel.dart
+++ b/lib/core/model/my_balance/AdvanceModel.dart
@@ -8,6 +8,9 @@ class AdvanceModel {
String email;
String note;
String depositorName;
+ String mobileNumber;
+ String patientName;
+ int projectID;
CitiesModel citiessModel;
AdvanceModel(
@@ -17,5 +20,8 @@ class AdvanceModel {
this.hospitalsModel,
this.fileNumber,
this.depositorName,
+ this.mobileNumber,
+ this.patientName,
+ this.projectID,
this.citiessModel});
}
diff --git a/lib/core/model/notifications/get_notifications_request_model.dart b/lib/core/model/notifications/get_notifications_request_model.dart
new file mode 100644
index 00000000..9659754a
--- /dev/null
+++ b/lib/core/model/notifications/get_notifications_request_model.dart
@@ -0,0 +1,22 @@
+class GetNotificationsRequestModel {
+ int notificationStatusID;
+ int pagingSize;
+ int currentPage;
+
+ GetNotificationsRequestModel(
+ {this.notificationStatusID, this.pagingSize, this.currentPage});
+
+ GetNotificationsRequestModel.fromJson(Map json) {
+ notificationStatusID = json['NotificationStatusID'];
+ pagingSize = json['pagingSize'];
+ currentPage = json['currentPage'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['NotificationStatusID'] = this.notificationStatusID;
+ data['pagingSize'] = this.pagingSize;
+ data['currentPage'] = this.currentPage;
+ return data;
+ }
+}
diff --git a/lib/core/model/notifications/get_notifications_response_model.dart b/lib/core/model/notifications/get_notifications_response_model.dart
new file mode 100644
index 00000000..1f3bbc28
--- /dev/null
+++ b/lib/core/model/notifications/get_notifications_response_model.dart
@@ -0,0 +1,96 @@
+class GetNotificationsResponseModel {
+ int id;
+ int recordId;
+ int patientID;
+ bool projectOutSA;
+ String deviceType;
+ String deviceToken;
+ String message;
+ String messageType;
+ String messageTypeData;
+ dynamic videoURL;
+ bool isQueue;
+ String isQueueOn;
+ String createdOn;
+ String createdBy;
+ String notificationType;
+ bool isSent;
+ String isSentOn;
+ bool isRead;
+ String isReadOn;
+ int channelID;
+ int projectID;
+
+ GetNotificationsResponseModel(
+ {this.id,
+ this.recordId,
+ this.patientID,
+ this.projectOutSA,
+ this.deviceType,
+ this.deviceToken,
+ this.message,
+ this.messageType,
+ this.messageTypeData,
+ this.videoURL,
+ this.isQueue,
+ this.isQueueOn,
+ this.createdOn,
+ this.createdBy,
+ this.notificationType,
+ this.isSent,
+ this.isSentOn,
+ this.isRead,
+ this.isReadOn,
+ this.channelID,
+ this.projectID});
+
+ GetNotificationsResponseModel.fromJson(Map json) {
+ id = json['Id'];
+ recordId = json['RecordId'];
+ patientID = json['PatientID'];
+ projectOutSA = json['ProjectOutSA'];
+ deviceType = json['DeviceType'];
+ deviceToken = json['DeviceToken'];
+ message = json['Message'];
+ messageType = json['MessageType'];
+ messageTypeData = json['MessageTypeData'];
+ videoURL = json['VideoURL'];
+ isQueue = json['IsQueue'];
+ isQueueOn = json['IsQueueOn'];
+ createdOn = json['CreatedOn'];
+ createdBy = json['CreatedBy'];
+ notificationType = json['NotificationType'];
+ isSent = json['IsSent'];
+ isSentOn = json['IsSentOn'];
+ isRead = json['IsRead'];
+ isReadOn = json['IsReadOn'];
+ channelID = json['ChannelID'];
+ projectID = json['ProjectID'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['Id'] = this.id;
+ data['RecordId'] = this.recordId;
+ data['PatientID'] = this.patientID;
+ data['ProjectOutSA'] = this.projectOutSA;
+ data['DeviceType'] = this.deviceType;
+ data['DeviceToken'] = this.deviceToken;
+ data['Message'] = this.message;
+ data['MessageType'] = this.messageType;
+ data['MessageTypeData'] = this.messageTypeData;
+ data['VideoURL'] = this.videoURL;
+ data['IsQueue'] = this.isQueue;
+ data['IsQueueOn'] = this.isQueueOn;
+ data['CreatedOn'] = this.createdOn;
+ data['CreatedBy'] = this.createdBy;
+ data['NotificationType'] = this.notificationType;
+ data['IsSent'] = this.isSent;
+ data['IsSentOn'] = this.isSentOn;
+ data['IsRead'] = this.isRead;
+ data['IsReadOn'] = this.isReadOn;
+ data['ChannelID'] = this.channelID;
+ data['ProjectID'] = this.projectID;
+ return data;
+ }
+}
diff --git a/lib/core/model/notifications/mark_message_as_read_request_model.dart b/lib/core/model/notifications/mark_message_as_read_request_model.dart
new file mode 100644
index 00000000..99dab006
--- /dev/null
+++ b/lib/core/model/notifications/mark_message_as_read_request_model.dart
@@ -0,0 +1,15 @@
+class MarkMessageAsReadRequestModel {
+ int notificationPoolID;
+
+ MarkMessageAsReadRequestModel({this.notificationPoolID});
+
+ MarkMessageAsReadRequestModel.fromJson(Map json) {
+ notificationPoolID = json['NotificationPoolID'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['NotificationPoolID'] = this.notificationPoolID;
+ return data;
+ }
+}
diff --git a/lib/core/model/pharmacies/PharmacyAddressesModel.dart b/lib/core/model/pharmacies/PharmacyAddressesModel.dart
new file mode 100644
index 00000000..db9c20ae
--- /dev/null
+++ b/lib/core/model/pharmacies/PharmacyAddressesModel.dart
@@ -0,0 +1,170 @@
+
+import 'dart:convert';
+
+PharmacyAddressesModel pharmacyAddressesModelFromJson(String str) => PharmacyAddressesModel.fromJson(json.decode(str));
+
+String pharmacyAddressesModelToJson(PharmacyAddressesModel data) => json.encode(data.toJson());
+
+class PharmacyAddressesModel {
+ PharmacyAddressesModel({
+ this.customers,
+ });
+
+ List customers;
+
+ factory PharmacyAddressesModel.fromJson(Map json) => PharmacyAddressesModel(
+ customers: List.from(json["customers"].map((x) => Customer.fromJson(x))),
+ );
+
+ Map toJson() => {
+ "customers": List.from(customers.map((x) => x.toJson())),
+ };
+}
+
+class Customer {
+ Customer({
+ this.addresses,
+ });
+
+ List addresses;
+
+ factory Customer.fromJson(Map json) => Customer(
+ addresses: List.from(json["addresses"].map((x) => Address.fromJson(x))),
+ );
+
+ Map toJson() => {
+ "addresses": List.from(addresses.map((x) => x.toJson())),
+ };
+}
+
+class Address {
+ Address({
+ this.id,
+ this.firstName,
+ this.lastName,
+ this.email,
+ this.company,
+ this.countryId,
+ this.country,
+ this.stateProvinceId,
+ this.city,
+ this.address1,
+ this.address2,
+ this.zipPostalCode,
+ this.phoneNumber,
+ this.faxNumber,
+ this.customerAttributes,
+ this.createdOnUtc,
+ this.province,
+ this.latLong,
+ });
+
+ String id;
+ FirstName firstName;
+ LastName lastName;
+ Email email;
+ dynamic company;
+ int countryId;
+ Country country;
+ dynamic stateProvinceId;
+ City city;
+ String address1;
+ String address2;
+ String zipPostalCode;
+ String phoneNumber;
+ dynamic faxNumber;
+ String customerAttributes;
+ DateTime createdOnUtc;
+ dynamic province;
+ String latLong;
+
+ factory Address.fromJson(Map json) => Address(
+ id: json["id"],
+ firstName: firstNameValues.map[json["first_name"]],
+ lastName: lastNameValues.map[json["last_name"]],
+ email: emailValues.map[json["email"]],
+ company: json["company"],
+ countryId: json["country_id"],
+ country: countryValues.map[json["country"]],
+ stateProvinceId: json["state_province_id"],
+ city: cityValues.map[json["city"]],
+ address1: json["address1"],
+ address2: json["address2"],
+ zipPostalCode: json["zip_postal_code"],
+ phoneNumber: json["phone_number"],
+ faxNumber: json["fax_number"],
+ customerAttributes: json["customer_attributes"],
+ createdOnUtc: DateTime.parse(json["created_on_utc"]),
+ province: json["province"],
+ latLong: json["lat_long"],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "first_name": firstNameValues.reverse[firstName],
+ "last_name": lastNameValues.reverse[lastName],
+ "email": emailValues.reverse[email],
+ "company": company,
+ "country_id": countryId,
+ "country": countryValues.reverse[country],
+ "state_province_id": stateProvinceId,
+ "city": cityValues.reverse[city],
+ "address1": address1,
+ "address2": address2,
+ "zip_postal_code": zipPostalCode,
+ "phone_number": phoneNumber,
+ "fax_number": faxNumber,
+ "customer_attributes": customerAttributes,
+ "created_on_utc": createdOnUtc.toIso8601String(),
+ "province": province,
+ "lat_long": latLong,
+ };
+}
+
+enum City { RIYADH, AL_OYUN }
+
+final cityValues = EnumValues({
+ "Al Oyun": City.AL_OYUN,
+ "Riyadh": City.RIYADH
+});
+
+enum Country { SAUDI_ARABIA }
+
+final countryValues = EnumValues({
+ "Saudi Arabia": Country.SAUDI_ARABIA
+});
+
+enum Email { TAMER_FANASHEH_GMAIL_COM, TAMER_DASDASDAS_GMAIL_COM }
+
+final emailValues = EnumValues({
+ "Tamer.dasdasdas@gmail.com": Email.TAMER_DASDASDAS_GMAIL_COM,
+ "Tamer.fanasheh@gmail.com": Email.TAMER_FANASHEH_GMAIL_COM
+});
+
+enum FirstName { TAMER, TAMER_FANASHEH }
+
+final firstNameValues = EnumValues({
+ "TAMER": FirstName.TAMER,
+ "TAMER FANASHEH": FirstName.TAMER_FANASHEH
+});
+
+enum LastName { FANASHEH, MUSA }
+
+final lastNameValues = EnumValues({
+ "FANASHEH": LastName.FANASHEH,
+ "MUSA": LastName.MUSA
+});
+
+class EnumValues {
+ Map map;
+ Map reverseMap;
+
+ EnumValues(this.map);
+
+ Map get reverse {
+ if (reverseMap == null) {
+ reverseMap = map.map((k, v) => new MapEntry(v, k));
+ }
+ return reverseMap;
+ }
+}
diff --git a/lib/core/model/pharmacies/order_model.dart b/lib/core/model/pharmacies/order_model.dart
new file mode 100644
index 00000000..a82b8716
--- /dev/null
+++ b/lib/core/model/pharmacies/order_model.dart
@@ -0,0 +1,1486 @@
+
+import 'dart:convert';
+
+List orderModelFromJson(String str) => List.from(json.decode(str).map((x) => OrderModel.fromJson(x)));
+
+String orderModelToJson(List data) => json.encode(List.from(data.map((x) => x.toJson())));
+
+class OrderModel {
+ OrderModel({
+ this.id,
+ this.storeId,
+ this.orderGuid,
+ this.pickUpInStore,
+ this.paymentMethodSystemName,
+ this.paymentName,
+ this.paymentNamen,
+ this.customerCurrencyCode,
+ this.currencyRate,
+ this.customerTaxDisplayTypeId,
+ this.vatNumber,
+ this.orderSubtotalInclTax,
+ this.orderSubtotalExclTax,
+ this.orderSubTotalDiscountInclTax,
+ this.orderSubTotalDiscountExclTax,
+ this.orderShippingInclTax,
+ this.orderShippingExclTax,
+ this.paymentMethodAdditionalFeeInclTax,
+ this.paymentMethodAdditionalFeeExclTax,
+ this.taxRates,
+ this.orderTax,
+ this.orderDiscount,
+ this.orderTotal,
+ this.refundedAmount,
+ this.rewardPointsWereAdded,
+ this.rxAttachments,
+ this.checkoutAttributeDescription,
+ this.customerLanguageId,
+ this.affiliateId,
+ this.customerIp,
+ this.authorizationTransactionId,
+ this.authorizationTransactionCode,
+ this.authorizationTransactionResult,
+ this.captureTransactionId,
+ this.captureTransactionResult,
+ this.subscriptionTransactionId,
+ this.paidDateUtc,
+ this.shippingMethod,
+ this.shippingRateComputationMethodSystemName,
+ this.customValuesXml,
+ this.deleted,
+ this.createdOnUtc,
+ this.customer,
+ this.customerId,
+ this.billingAddress,
+ this.shippingAddress,
+ this.orderItems,
+ this.orderStatusId,
+ this.orderStatus,
+ this.orderStatusn,
+ this.paymentStatusId,
+ this.paymentStatus,
+ this.paymentStatusn,
+ this.shippingStatus,
+ this.shippingStatusn,
+ this.customerTaxDisplayType,
+ this.canCancel,
+ this.canRefund,
+ this.lakumAmount,
+ this.preferDeliveryDate,
+ this.preferDeliveryTime,
+ this.preferDeliveryTimen,
+ });
+
+ String id;
+ dynamic storeId;
+ String orderGuid;
+ bool pickUpInStore;
+ PaymentMethodSystemName paymentMethodSystemName;
+ PaymentName paymentName;
+ PaymentName paymentNamen;
+ CustomerCurrencyCode customerCurrencyCode;
+ dynamic currencyRate;
+ dynamic customerTaxDisplayTypeId;
+ dynamic vatNumber;
+ double orderSubtotalInclTax;
+ double orderSubtotalExclTax;
+ dynamic orderSubTotalDiscountInclTax;
+ dynamic orderSubTotalDiscountExclTax;
+ double orderShippingInclTax;
+ dynamic orderShippingExclTax;
+ dynamic paymentMethodAdditionalFeeInclTax;
+ dynamic paymentMethodAdditionalFeeExclTax;
+ String taxRates;
+ double orderTax;
+ dynamic orderDiscount;
+ double orderTotal;
+ dynamic refundedAmount;
+ dynamic rewardPointsWereAdded;
+ String rxAttachments;
+ CheckoutAttributeDescription checkoutAttributeDescription;
+ dynamic customerLanguageId;
+ dynamic affiliateId;
+ CustomerIp customerIp;
+ String authorizationTransactionId;
+ dynamic authorizationTransactionCode;
+ dynamic authorizationTransactionResult;
+ dynamic captureTransactionId;
+ dynamic captureTransactionResult;
+ dynamic subscriptionTransactionId;
+ DateTime paidDateUtc;
+ ShippingMethod shippingMethod;
+ ShippingRateComputationMethodSystemName shippingRateComputationMethodSystemName;
+ String customValuesXml;
+ bool deleted;
+ DateTime createdOnUtc;
+ OrderModelCustomer customer;
+ dynamic customerId;
+ IngAddress billingAddress;
+ IngAddress shippingAddress;
+ List orderItems;
+ dynamic orderStatusId;
+ OrderStatus orderStatus;
+ OrderStatusn orderStatusn;
+ dynamic paymentStatusId;
+ PaymentStatus paymentStatus;
+ PaymentStatusn paymentStatusn;
+ ShippingStatus shippingStatus;
+ ShippingStatusn shippingStatusn;
+ CustomerTaxDisplayType customerTaxDisplayType;
+ bool canCancel;
+ bool canRefund;
+ dynamic lakumAmount;
+ DateTime preferDeliveryDate;
+ PreferDeliveryTime preferDeliveryTime;
+ PreferDeliveryTimen preferDeliveryTimen;
+
+ factory OrderModel.fromJson(Map json) => OrderModel(
+ id: json["id"],
+ storeId: json["store_id"],
+ orderGuid: json["order_guid"],
+ pickUpInStore: json["pick_up_in_store"],
+ paymentMethodSystemName: paymentMethodSystemNameValues.map[json["payment_method_system_name"]],
+ paymentName: paymentNameValues.map[json["payment_name"]],
+ paymentNamen: paymentNameValues.map[json["payment_namen"]],
+ customerCurrencyCode: customerCurrencyCodeValues.map[json["customer_currency_code"]],
+ currencyRate: json["currency_rate"],
+ customerTaxDisplayTypeId: json["customer_tax_display_type_id"],
+ vatNumber: json["vat_number"],
+ orderSubtotalInclTax: json["order_subtotal_incl_tax"].toDouble(),
+ orderSubtotalExclTax: json["order_subtotal_excl_tax"].toDouble(),
+ orderSubTotalDiscountInclTax: json["order_sub_total_discount_incl_tax"],
+ orderSubTotalDiscountExclTax: json["order_sub_total_discount_excl_tax"],
+ orderShippingInclTax: json["order_shipping_incl_tax"].toDouble(),
+ orderShippingExclTax: json["order_shipping_excl_tax"],
+ paymentMethodAdditionalFeeInclTax: json["payment_method_additional_fee_incl_tax"],
+ paymentMethodAdditionalFeeExclTax: json["payment_method_additional_fee_excl_tax"],
+ taxRates: json["tax_rates"],
+ orderTax: json["order_tax"].toDouble(),
+ orderDiscount: json["order_discount"],
+ orderTotal: json["order_total"].toDouble(),
+ refundedAmount: json["refunded_amount"],
+ rewardPointsWereAdded: json["reward_points_were_added"],
+ rxAttachments: json["rx_attachments"] == null ? null : json["rx_attachments"],
+ checkoutAttributeDescription: checkoutAttributeDescriptionValues.map[json["checkout_attribute_description"]],
+ customerLanguageId: json["customer_language_id"],
+ affiliateId: json["affiliate_id"],
+ customerIp: customerIpValues.map[json["customer_ip"]],
+ authorizationTransactionId: json["authorization_transaction_id"] == null ? null : json["authorization_transaction_id"],
+ authorizationTransactionCode: json["authorization_transaction_code"],
+ authorizationTransactionResult: json["authorization_transaction_result"],
+ captureTransactionId: json["capture_transaction_id"],
+ captureTransactionResult: json["capture_transaction_result"],
+ subscriptionTransactionId: json["subscription_transaction_id"],
+ paidDateUtc: json["paid_date_utc"] == null ? null : DateTime.parse(json["paid_date_utc"]),
+ shippingMethod: shippingMethodValues.map[json["shipping_method"]],
+ shippingRateComputationMethodSystemName: shippingRateComputationMethodSystemNameValues.map[json["shipping_rate_computation_method_system_name"]],
+ customValuesXml: json["custom_values_xml"],
+ deleted: json["deleted"],
+ createdOnUtc: DateTime.parse(json["created_on_utc"]),
+ customer: OrderModelCustomer.fromJson(json["customer"]),
+ customerId: json["customer_id"],
+ billingAddress: IngAddress.fromJson(json["billing_address"]),
+ shippingAddress: IngAddress.fromJson(json["shipping_address"]),
+ orderItems: List.from(json["order_items"].map((x) => OrderItem.fromJson(x))),
+ orderStatusId: json["order_status_id"],
+ orderStatus: orderStatusValues.map[json["order_status"]],
+ orderStatusn: orderStatusnValues.map[json["order_statusn"]],
+ paymentStatusId: json["payment_status_id"],
+ paymentStatus: paymentStatusValues.map[json["payment_status"]],
+ paymentStatusn: paymentStatusnValues.map[json["payment_statusn"]],
+ shippingStatus: shippingStatusValues.map[json["shipping_status"]],
+ shippingStatusn: shippingStatusnValues.map[json["shipping_statusn"]],
+ customerTaxDisplayType: customerTaxDisplayTypeValues.map[json["customer_tax_display_type"]],
+ canCancel: json["can_cancel"],
+ canRefund: json["can_refund"],
+ lakumAmount: json["lakum_amount"],
+ preferDeliveryDate: json["prefer_delivery_date"] == null ? null : DateTime.parse(json["prefer_delivery_date"]),
+ preferDeliveryTime: json["prefer_delivery_time"] == null ? null : preferDeliveryTimeValues.map[json["prefer_delivery_time"]],
+ preferDeliveryTimen: json["prefer_delivery_timen"] == null ? null : preferDeliveryTimenValues.map[json["prefer_delivery_timen"]],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "store_id": storeId,
+ "order_guid": orderGuid,
+ "pick_up_in_store": pickUpInStore,
+ "payment_method_system_name": paymentMethodSystemNameValues.reverse[paymentMethodSystemName],
+ "payment_name": paymentNameValues.reverse[paymentName],
+ "payment_namen": paymentNameValues.reverse[paymentNamen],
+ "customer_currency_code": customerCurrencyCodeValues.reverse[customerCurrencyCode],
+ "currency_rate": currencyRate,
+ "customer_tax_display_type_id": customerTaxDisplayTypeId,
+ "vat_number": vatNumber,
+ "order_subtotal_incl_tax": orderSubtotalInclTax,
+ "order_subtotal_excl_tax": orderSubtotalExclTax,
+ "order_sub_total_discount_incl_tax": orderSubTotalDiscountInclTax,
+ "order_sub_total_discount_excl_tax": orderSubTotalDiscountExclTax,
+ "order_shipping_incl_tax": orderShippingInclTax,
+ "order_shipping_excl_tax": orderShippingExclTax,
+ "payment_method_additional_fee_incl_tax": paymentMethodAdditionalFeeInclTax,
+ "payment_method_additional_fee_excl_tax": paymentMethodAdditionalFeeExclTax,
+ "tax_rates": taxRates,
+ "order_tax": orderTax,
+ "order_discount": orderDiscount,
+ "order_total": orderTotal,
+ "refunded_amount": refundedAmount,
+ "reward_points_were_added": rewardPointsWereAdded,
+ "rx_attachments": rxAttachments == null ? null : rxAttachments,
+ "checkout_attribute_description": checkoutAttributeDescriptionValues.reverse[checkoutAttributeDescription],
+ "customer_language_id": customerLanguageId,
+ "affiliate_id": affiliateId,
+ "customer_ip": customerIpValues.reverse[customerIp],
+ "authorization_transaction_id": authorizationTransactionId == null ? null : authorizationTransactionId,
+ "authorization_transaction_code": authorizationTransactionCode,
+ "authorization_transaction_result": authorizationTransactionResult,
+ "capture_transaction_id": captureTransactionId,
+ "capture_transaction_result": captureTransactionResult,
+ "subscription_transaction_id": subscriptionTransactionId,
+ "paid_date_utc": paidDateUtc == null ? null : paidDateUtc.toIso8601String(),
+ "shipping_method": shippingMethodValues.reverse[shippingMethod],
+ "shipping_rate_computation_method_system_name": shippingRateComputationMethodSystemNameValues.reverse[shippingRateComputationMethodSystemName],
+ "custom_values_xml": customValuesXml,
+ "deleted": deleted,
+ "created_on_utc": createdOnUtc.toIso8601String(),
+ "customer": customer.toJson(),
+ "customer_id": customerId,
+ "billing_address": billingAddress.toJson(),
+ "shipping_address": shippingAddress.toJson(),
+ "order_items": List.from(orderItems.map((x) => x.toJson())),
+ "order_status_id": orderStatusId,
+ "order_status": orderStatusValues.reverse[orderStatus],
+ "order_statusn": orderStatusnValues.reverse[orderStatusn],
+ "payment_status_id": paymentStatusId,
+ "payment_status": paymentStatusValues.reverse[paymentStatus],
+ "payment_statusn": paymentStatusnValues.reverse[paymentStatusn],
+ "shipping_status": shippingStatusValues.reverse[shippingStatus],
+ "shipping_statusn": shippingStatusnValues.reverse[shippingStatusn],
+ "customer_tax_display_type": customerTaxDisplayTypeValues.reverse[customerTaxDisplayType],
+ "can_cancel": canCancel,
+ "can_refund": canRefund,
+ "lakum_amount": lakumAmount,
+ "prefer_delivery_date": preferDeliveryDate == null ? null : "${preferDeliveryDate.year.toString().padLeft(4, '0')}-${preferDeliveryDate.month.toString().padLeft(2, '0')}-${preferDeliveryDate.day.toString().padLeft(2, '0')}",
+ "prefer_delivery_time": preferDeliveryTime == null ? null : preferDeliveryTimeValues.reverse[preferDeliveryTime],
+ "prefer_delivery_timen": preferDeliveryTimen == null ? null : preferDeliveryTimenValues.reverse[preferDeliveryTimen],
+ };
+}
+
+class IngAddress {
+ IngAddress({
+ this.id,
+ this.firstName,
+ this.lastName,
+ this.email,
+ this.company,
+ this.countryId,
+ this.country,
+ this.stateProvinceId,
+ this.city,
+ this.address1,
+ this.address2,
+ this.zipPostalCode,
+ this.phoneNumber,
+ this.faxNumber,
+ this.customerAttributes,
+ this.createdOnUtc,
+ this.province,
+ this.latLong,
+ });
+
+ String id;
+ FirstName firstName;
+ LastName lastName;
+ BillingAddressEmail email;
+ dynamic company;
+ dynamic countryId;
+ Country country;
+ dynamic stateProvinceId;
+ City city;
+ Address1 address1;
+ Address2 address2;
+ String zipPostalCode;
+ String phoneNumber;
+ dynamic faxNumber;
+ String customerAttributes;
+ DateTime createdOnUtc;
+ dynamic province;
+ LatLong latLong;
+
+ factory IngAddress.fromJson(Map json) => IngAddress(
+ id: json["id"],
+ firstName: firstNameValues.map[json["first_name"]],
+ lastName: lastNameValues.map[json["last_name"]],
+ email: billingAddressEmailValues.map[json["email"]],
+ company: json["company"],
+ countryId: json["country_id"],
+ country: countryValues.map[json["country"]],
+ stateProvinceId: json["state_province_id"],
+ city: cityValues.map[json["city"]],
+ address1: address1Values.map[json["address1"]],
+ address2: address2Values.map[json["address2"]],
+ zipPostalCode: json["zip_postal_code"],
+ phoneNumber: json["phone_number"],
+ faxNumber: json["fax_number"],
+ customerAttributes: json["customer_attributes"],
+ createdOnUtc: DateTime.parse(json["created_on_utc"]),
+ province: json["province"],
+ latLong: latLongValues.map[json["lat_long"]],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "first_name": firstNameValues.reverse[firstName],
+ "last_name": lastNameValues.reverse[lastName],
+ "email": billingAddressEmailValues.reverse[email],
+ "company": company,
+ "country_id": countryId,
+ "country": countryValues.reverse[country],
+ "state_province_id": stateProvinceId,
+ "city": cityValues.reverse[city],
+ "address1": address1Values.reverse[address1],
+ "address2": address2Values.reverse[address2],
+ "zip_postal_code": zipPostalCode,
+ "phone_number": phoneNumber,
+ "fax_number": faxNumber,
+ "customer_attributes": customerAttributes,
+ "created_on_utc": createdOnUtc.toIso8601String(),
+ "province": province,
+ "lat_long": latLongValues.reverse[latLong],
+ };
+}
+
+enum Address1 { THE_7960_MOSAB_IBN_UMAIR_STREET_AL_RIYADH, THE_6500_AL_AMEEN_ABDULLAH_AL_ALI_AL_NAEEM_STREET_AL_RIYADH, THE_6603_IBRAHIM_IBN_AL_HAMASI_AR_RIYAD, THE_9626_SALAH_AD_DIN_AL_AYYUBI_ROAD_AL_RIYADH, THE_3075_PRINCE_MANSUR_BIN_ABDULAZIZ_STREET_AL_RIYADH, THE_40, THE_7801_AL_IHSA_AL_RIYADH }
+
+final address1Values = EnumValues({
+ "3075, Prince Mansur Bin Abdulaziz Street, Al Riyadh, ": Address1.THE_3075_PRINCE_MANSUR_BIN_ABDULAZIZ_STREET_AL_RIYADH,
+ "40,": Address1.THE_40,
+ "6500, Al Ameen Abdullah Al Ali Al Naeem Street, Al Riyadh, ": Address1.THE_6500_AL_AMEEN_ABDULLAH_AL_ALI_AL_NAEEM_STREET_AL_RIYADH,
+ "6603, Ibrahim Ibn Al Hamasi, Ar-Riyad, ": Address1.THE_6603_IBRAHIM_IBN_AL_HAMASI_AR_RIYAD,
+ "7801, Al Ihsa, Al Riyadh, ": Address1.THE_7801_AL_IHSA_AL_RIYADH,
+ "7960, Mosab Ibn Umair Street, Al Riyadh, ": Address1.THE_7960_MOSAB_IBN_UMAIR_STREET_AL_RIYADH,
+ "9626, Salah Ad Din Al Ayyubi Road, Al Riyadh, ": Address1.THE_9626_SALAH_AD_DIN_AL_AYYUBI_ROAD_AL_RIYADH
+});
+
+enum Address2 { AL_MALAZ_RIYADH_PROVINCE_3460, AL_MALAZ_RIYADH_PROVINCE_2817, AR_RAHMANIYYAH_RIYADH_PROVINCE_3816, AL_MALAZ_RIYADH_PROVINCE_3815, AL_WIZARAT_RIYADH_PROVINCE_7039, EASTERN_PROVINCE, AL_MALAZ_RIYADH_PROVINCE_3084 }
+
+final address2Values = EnumValues({
+ "Al Malaz, Riyadh Province, 2817, ": Address2.AL_MALAZ_RIYADH_PROVINCE_2817,
+ "Al Malaz, Riyadh Province, 3084, ": Address2.AL_MALAZ_RIYADH_PROVINCE_3084,
+ "Al Malaz, Riyadh Province, 3460, ": Address2.AL_MALAZ_RIYADH_PROVINCE_3460,
+ "Al Malaz, Riyadh Province, 3815, ": Address2.AL_MALAZ_RIYADH_PROVINCE_3815,
+ "Al Wizarat, Riyadh Province, 7039, ": Address2.AL_WIZARAT_RIYADH_PROVINCE_7039,
+ "Ar Rahmaniyyah, Riyadh Province, 3816, ": Address2.AR_RAHMANIYYAH_RIYADH_PROVINCE_3816,
+ "Eastern Province,": Address2.EASTERN_PROVINCE
+});
+
+enum City { RIYADH, DAMMAM }
+
+final cityValues = EnumValues({
+ "Dammam": City.DAMMAM,
+ "Riyadh": City.RIYADH
+});
+
+enum Country { SAUDI_ARABIA }
+
+final countryValues = EnumValues({
+ "Saudi Arabia": Country.SAUDI_ARABIA
+});
+
+enum BillingAddressEmail { TAMER_FANASHEH_GMAIL_COM, TAMER_DASDASDAS_GMAIL_COM, TAMER_FANASHEH_DRSULAIMANALHABIB_COM }
+
+final billingAddressEmailValues = EnumValues({
+ "Tamer.dasdasdas@gmail.com": BillingAddressEmail.TAMER_DASDASDAS_GMAIL_COM,
+ "tamer.fanasheh@drsulaimanalhabib.com": BillingAddressEmail.TAMER_FANASHEH_DRSULAIMANALHABIB_COM,
+ "Tamer.fanasheh@gmail.com": BillingAddressEmail.TAMER_FANASHEH_GMAIL_COM
+});
+
+enum FirstName { TAMER, TAMER_FANASHEH, FIRST_NAME_TAMER }
+
+final firstNameValues = EnumValues({
+ "tamer": FirstName.FIRST_NAME_TAMER,
+ "TAMER": FirstName.TAMER,
+ "TAMER FANASHEH": FirstName.TAMER_FANASHEH
+});
+
+enum LastName { FANASHEH, MUSA, LAST_NAME_FANASHEH }
+
+final lastNameValues = EnumValues({
+ "FANASHEH": LastName.FANASHEH,
+ "Fanasheh": LastName.LAST_NAME_FANASHEH,
+ "MUSA": LastName.MUSA
+});
+
+enum LatLong { THE_246784385694919524674091019299842, THE_24664749106968054673501121876645, THE_2470993657522702246664724647270134, THE_246626170308533764673348444086107, THE_24664875225999005467347443322574, THE_24674331807435784671024726818286, THE_263430228396836664991113909164471, THE_246767400793488074673774399406786, THE_24665374673515 }
+
+final latLongValues = EnumValues({
+ "24.662617030853376,46.73348444086107": LatLong.THE_246626170308533764673348444086107,
+ "24.66474910696805,46.73501121876645": LatLong.THE_24664749106968054673501121876645,
+ "24.664875225999005,46.7347443322574": LatLong.THE_24664875225999005467347443322574,
+ "24.66537,46.73515": LatLong.THE_24665374673515,
+ "24.67433180743578,46.71024726818286": LatLong.THE_24674331807435784671024726818286,
+ "24.676740079348807,46.73774399406786": LatLong.THE_246767400793488074673774399406786,
+ "24.678438569491952,46.74091019299842": LatLong.THE_246784385694919524674091019299842,
+ "24.709936575227022,46.664724647270134": LatLong.THE_2470993657522702246664724647270134,
+ "26.343022839683666, 49.91113909164471": LatLong.THE_263430228396836664991113909164471
+});
+
+enum CheckoutAttributeDescription { EMPTY, CHECKOUT_ATTRIBUTE_DESCRIPTION }
+
+final checkoutAttributeDescriptionValues = EnumValues({
+ "ارفاق وصفة: ": CheckoutAttributeDescription.CHECKOUT_ATTRIBUTE_DESCRIPTION,
+ "": CheckoutAttributeDescription.EMPTY
+});
+
+class OrderModelCustomer {
+ OrderModelCustomer({
+ this.id,
+ this.username,
+ this.email,
+ this.firstName,
+ this.lastName,
+ this.languageId,
+ this.adminComment,
+ this.isTaxExempt,
+ this.hasShoppingCartItems,
+ this.active,
+ this.deleted,
+ this.isSystemAccount,
+ this.systemName,
+ this.lastIpAddress,
+ this.createdOnUtc,
+ this.lastLoginDateUtc,
+ this.lastActivityDateUtc,
+ this.registeredInStoreId,
+ this.roleIds,
+ });
+
+ String id;
+ Username username;
+ BillingAddressEmail email;
+ FirstName firstName;
+ LastName lastName;
+ String languageId;
+ dynamic adminComment;
+ bool isTaxExempt;
+ bool hasShoppingCartItems;
+ bool active;
+ bool deleted;
+ bool isSystemAccount;
+ dynamic systemName;
+ LastIpAddress lastIpAddress;
+ DateTime createdOnUtc;
+ DateTime lastLoginDateUtc;
+ DateTime lastActivityDateUtc;
+ dynamic registeredInStoreId;
+ List roleIds;
+
+ factory OrderModelCustomer.fromJson(Map json) => OrderModelCustomer(
+ id: json["id"],
+ username: usernameValues.map[json["username"]],
+ email: billingAddressEmailValues.map[json["email"]],
+ firstName: firstNameValues.map[json["first_name"]],
+ lastName: lastNameValues.map[json["last_name"]],
+ languageId: json["language_id"],
+ adminComment: json["admin_comment"],
+ isTaxExempt: json["is_tax_exempt"],
+ hasShoppingCartItems: json["has_shopping_cart_items"],
+ active: json["active"],
+ deleted: json["deleted"],
+ isSystemAccount: json["is_system_account"],
+ systemName: json["system_name"],
+ lastIpAddress: lastIpAddressValues.map[json["last_ip_address"]],
+ createdOnUtc: DateTime.parse(json["created_on_utc"]),
+ lastLoginDateUtc: DateTime.parse(json["last_login_date_utc"]),
+ lastActivityDateUtc: DateTime.parse(json["last_activity_date_utc"]),
+ registeredInStoreId: json["registered_in_store_id"],
+ roleIds: List.from(json["role_ids"].map((x) => x)),
+ );
+
+ Map toJson() => {
+ "id": id,
+ "username": usernameValues.reverse[username],
+ "email": billingAddressEmailValues.reverse[email],
+ "first_name": firstNameValues.reverse[firstName],
+ "last_name": lastNameValues.reverse[lastName],
+ "language_id": languageId,
+ "admin_comment": adminComment,
+ "is_tax_exempt": isTaxExempt,
+ "has_shopping_cart_items": hasShoppingCartItems,
+ "active": active,
+ "deleted": deleted,
+ "is_system_account": isSystemAccount,
+ "system_name": systemName,
+ "last_ip_address": lastIpAddressValues.reverse[lastIpAddress],
+ "created_on_utc": createdOnUtc.toIso8601String(),
+ "last_login_date_utc": lastLoginDateUtc.toIso8601String(),
+ "last_activity_date_utc": lastActivityDateUtc.toIso8601String(),
+ "registered_in_store_id": registeredInStoreId,
+ "role_ids": List.from(roleIds.map((x) => x)),
+ };
+}
+
+enum LastIpAddress { THE_1050220126 }
+
+final lastIpAddressValues = EnumValues({
+ "10.50.220.126": LastIpAddress.THE_1050220126
+});
+
+enum Username { TAMERF }
+
+final usernameValues = EnumValues({
+ "tamerf": Username.TAMERF
+});
+
+enum CustomerCurrencyCode { SAR }
+
+final customerCurrencyCodeValues = EnumValues({
+ "SAR": CustomerCurrencyCode.SAR
+});
+
+enum CustomerIp { THE_105010210, THE_127001, THE_1020200101, THE_102020041, THE_10501028, THE_102020033, THE_1020200170, THE_102020011 }
+
+final customerIpValues = EnumValues({
+ "10.20.200.101": CustomerIp.THE_1020200101,
+ "10.20.200.11": CustomerIp.THE_102020011,
+ "10.20.200.170": CustomerIp.THE_1020200170,
+ "10.20.200.33": CustomerIp.THE_102020033,
+ "10.20.200.41": CustomerIp.THE_102020041,
+ "10.50.102.10": CustomerIp.THE_105010210,
+ "10.50.102.8": CustomerIp.THE_10501028,
+ "127.0.0.1": CustomerIp.THE_127001
+});
+
+enum CustomerTaxDisplayType { EXCLUDING_TAX }
+
+final customerTaxDisplayTypeValues = EnumValues({
+ "ExcludingTax": CustomerTaxDisplayType.EXCLUDING_TAX
+});
+
+class OrderItem {
+ OrderItem({
+ this.quantity,
+ this.unitPriceInclTax,
+ this.unitPriceExclTax,
+ this.priceInclTax,
+ this.priceExclTax,
+ this.discountAmountInclTax,
+ this.discountAmountExclTax,
+ this.originalProductCost,
+ this.attributeDescription,
+ this.downloadCount,
+ this.isDownloadActivated,
+ this.licenseDownloadId,
+ this.itemWeight,
+ this.rentalStartDateUtc,
+ this.rentalEndDateUtc,
+ this.product,
+ this.productId,
+ });
+
+ dynamic quantity;
+ double unitPriceInclTax;
+ double unitPriceExclTax;
+ double priceInclTax;
+ double priceExclTax;
+ double discountAmountInclTax;
+ double discountAmountExclTax;
+ double originalProductCost;
+ String attributeDescription;
+ dynamic downloadCount;
+ bool isDownloadActivated;
+ dynamic licenseDownloadId;
+ double itemWeight;
+ dynamic rentalStartDateUtc;
+ dynamic rentalEndDateUtc;
+ Product product;
+ dynamic productId;
+
+ factory OrderItem.fromJson(Map json) => OrderItem(
+ quantity: json["quantity"],
+ unitPriceInclTax: json["unit_price_incl_tax"].toDouble(),
+ unitPriceExclTax: json["unit_price_excl_tax"].toDouble(),
+ priceInclTax: json["price_incl_tax"].toDouble(),
+ priceExclTax: json["price_excl_tax"].toDouble(),
+ discountAmountInclTax: json["discount_amount_incl_tax"].toDouble(),
+ discountAmountExclTax: json["discount_amount_excl_tax"].toDouble(),
+ originalProductCost: json["original_product_cost"].toDouble(),
+ attributeDescription: json["attribute_description"],
+ downloadCount: json["download_count"],
+ isDownloadActivated: json["isDownload_activated"],
+ licenseDownloadId: json["license_download_id"],
+ itemWeight: json["item_weight"].toDouble(),
+ rentalStartDateUtc: json["rental_start_date_utc"],
+ rentalEndDateUtc: json["rental_end_date_utc"],
+ product: Product.fromJson(json["product"]),
+ productId: json["product_id"],
+ );
+
+ Map toJson() => {
+ "quantity": quantity,
+ "unit_price_incl_tax": unitPriceInclTax,
+ "unit_price_excl_tax": unitPriceExclTax,
+ "price_incl_tax": priceInclTax,
+ "price_excl_tax": priceExclTax,
+ "discount_amount_incl_tax": discountAmountInclTax,
+ "discount_amount_excl_tax": discountAmountExclTax,
+ "original_product_cost": originalProductCost,
+ "attribute_description": attributeDescription,
+ "download_count": downloadCount,
+ "isDownload_activated": isDownloadActivated,
+ "license_download_id": licenseDownloadId,
+ "item_weight": itemWeight,
+ "rental_start_date_utc": rentalStartDateUtc,
+ "rental_end_date_utc": rentalEndDateUtc,
+ "product": product.toJson(),
+ "product_id": productId,
+ };
+}
+
+class Product {
+ Product({
+ this.id,
+ this.visibleIndividually,
+ this.name,
+ this.namen,
+ this.localizedNames,
+ this.shortDescription,
+ this.shortDescriptionn,
+ this.fullDescription,
+ this.fullDescriptionn,
+ this.markasNew,
+ this.showOnHomePage,
+ this.metaKeywords,
+ this.metaDescription,
+ this.metaTitle,
+ this.allowCustomerReviews,
+ this.approvedRatingSum,
+ this.notApprovedRatingSum,
+ this.approvedTotalReviews,
+ this.notApprovedTotalReviews,
+ this.sku,
+ this.isRx,
+ this.prescriptionRequired,
+ this.rxMessage,
+ this.rxMessagen,
+ this.manufacturerPartNumber,
+ this.gtin,
+ this.isGiftCard,
+ this.requireOtherProducts,
+ this.automaticallyAddRequiredProducts,
+ this.isDownload,
+ this.unlimitedDownloads,
+ this.maxNumberOfDownloads,
+ this.downloadExpirationDays,
+ this.hasSampleDownload,
+ this.hasUserAgreement,
+ this.isRecurring,
+ this.recurringCycleLength,
+ this.recurringTotalCycles,
+ this.isRental,
+ this.rentalPriceLength,
+ this.isShipEnabled,
+ this.isFreeShipping,
+ this.shipSeparately,
+ this.additionalShippingCharge,
+ this.isTaxExempt,
+ this.isTelecommunicationsOrBroadcastingOrElectronicServices,
+ this.useMultipleWarehouses,
+ this.manageInventoryMethodId,
+ this.stockQuantity,
+ this.stockAvailability,
+ this.stockAvailabilityn,
+ this.displayStockAvailability,
+ this.displayStockQuantity,
+ this.minStockQuantity,
+ this.notifyAdminForQuantityBelow,
+ this.allowBackInStockSubscriptions,
+ this.orderMinimumQuantity,
+ this.orderMaximumQuantity,
+ this.allowedQuantities,
+ this.allowAddingOnlyExistingAttributeCombinations,
+ this.disableBuyButton,
+ this.disableWishlistButton,
+ this.availableForPreOrder,
+ this.preOrderAvailabilityStartDateTimeUtc,
+ this.callForPrice,
+ this.price,
+ this.oldPrice,
+ this.productCost,
+ this.specialPrice,
+ this.specialPriceStartDateTimeUtc,
+ this.specialPriceEndDateTimeUtc,
+ this.customerEntersPrice,
+ this.minimumCustomerEnteredPrice,
+ this.maximumCustomerEnteredPrice,
+ this.basepriceEnabled,
+ this.basepriceAmount,
+ this.basepriceBaseAmount,
+ this.hasTierPrices,
+ this.hasDiscountsApplied,
+ this.discountName,
+ this.discountNamen,
+ this.discountDescription,
+ this.discountDescriptionn,
+ this.discountPercentage,
+ this.currency,
+ this.currencyn,
+ this.weight,
+ this.length,
+ this.width,
+ this.height,
+ this.availableStartDateTimeUtc,
+ this.availableEndDateTimeUtc,
+ this.displayOrder,
+ this.published,
+ this.deleted,
+ this.createdOnUtc,
+ this.updatedOnUtc,
+ this.productType,
+ this.parentGroupedProductId,
+ this.roleIds,
+ this.discountIds,
+ this.storeIds,
+ this.manufacturerIds,
+ this.reviews,
+ this.images,
+ this.attributes,
+ this.specifications,
+ this.associatedProductIds,
+ this.tags,
+ this.vendorId,
+ this.seName,
+ });
+
+ String id;
+ bool visibleIndividually;
+ String name;
+ String namen;
+ dynamic localizedNames;
+ String shortDescription;
+ String shortDescriptionn;
+ String fullDescription;
+ String fullDescriptionn;
+ bool markasNew;
+ bool showOnHomePage;
+ String metaKeywords;
+ String metaDescription;
+ String metaTitle;
+ bool allowCustomerReviews;
+ dynamic approvedRatingSum;
+ dynamic notApprovedRatingSum;
+ dynamic approvedTotalReviews;
+ dynamic notApprovedTotalReviews;
+ String sku;
+ bool isRx;
+ bool prescriptionRequired;
+ dynamic rxMessage;
+ dynamic rxMessagen;
+ dynamic manufacturerPartNumber;
+ dynamic gtin;
+ bool isGiftCard;
+ bool requireOtherProducts;
+ bool automaticallyAddRequiredProducts;
+ bool isDownload;
+ bool unlimitedDownloads;
+ dynamic maxNumberOfDownloads;
+ dynamic downloadExpirationDays;
+ bool hasSampleDownload;
+ bool hasUserAgreement;
+ bool isRecurring;
+ dynamic recurringCycleLength;
+ dynamic recurringTotalCycles;
+ bool isRental;
+ dynamic rentalPriceLength;
+ bool isShipEnabled;
+ bool isFreeShipping;
+ bool shipSeparately;
+ dynamic additionalShippingCharge;
+ bool isTaxExempt;
+ bool isTelecommunicationsOrBroadcastingOrElectronicServices;
+ bool useMultipleWarehouses;
+ dynamic manageInventoryMethodId;
+ dynamic stockQuantity;
+ dynamic stockAvailability;
+ dynamic stockAvailabilityn;
+ bool displayStockAvailability;
+ bool displayStockQuantity;
+ dynamic minStockQuantity;
+ dynamic notifyAdminForQuantityBelow;
+ bool allowBackInStockSubscriptions;
+ dynamic orderMinimumQuantity;
+ dynamic orderMaximumQuantity;
+ dynamic allowedQuantities;
+ bool allowAddingOnlyExistingAttributeCombinations;
+ bool disableBuyButton;
+ bool disableWishlistButton;
+ bool availableForPreOrder;
+ dynamic preOrderAvailabilityStartDateTimeUtc;
+ bool callForPrice;
+ double price;
+ dynamic oldPrice;
+ double productCost;
+ dynamic specialPrice;
+ dynamic specialPriceStartDateTimeUtc;
+ dynamic specialPriceEndDateTimeUtc;
+ bool customerEntersPrice;
+ dynamic minimumCustomerEnteredPrice;
+ dynamic maximumCustomerEnteredPrice;
+ bool basepriceEnabled;
+ dynamic basepriceAmount;
+ dynamic basepriceBaseAmount;
+ bool hasTierPrices;
+ bool hasDiscountsApplied;
+ dynamic discountName;
+ dynamic discountNamen;
+ dynamic discountDescription;
+ dynamic discountDescriptionn;
+ dynamic discountPercentage;
+ dynamic currency;
+ dynamic currencyn;
+ double weight;
+ dynamic length;
+ dynamic width;
+ dynamic height;
+ dynamic availableStartDateTimeUtc;
+ dynamic availableEndDateTimeUtc;
+ dynamic displayOrder;
+ bool published;
+ bool deleted;
+ DateTime createdOnUtc;
+ DateTime updatedOnUtc;
+ ProductType productType;
+ dynamic parentGroupedProductId;
+ dynamic roleIds;
+ dynamic discountIds;
+ dynamic storeIds;
+ dynamic manufacturerIds;
+ List reviews;
+ List images;
+ dynamic attributes;
+ dynamic specifications;
+ dynamic associatedProductIds;
+ List tags;
+ dynamic vendorId;
+ String seName;
+
+ factory Product.fromJson(Map json) => Product(
+ id: json["id"],
+ visibleIndividually: json["visible_individually"],
+ name: json["name"],
+ namen: json["namen"],
+ localizedNames: json["localized_names"],
+ shortDescription: json["short_description"] == null ? null : json["short_description"],
+ shortDescriptionn: json["short_descriptionn"] == null ? null : json["short_descriptionn"],
+ fullDescription: json["full_description"],
+ fullDescriptionn: json["full_descriptionn"],
+ markasNew: json["markas_new"],
+ showOnHomePage: json["show_on_home_page"],
+ metaKeywords: json["meta_keywords"] == null ? null : json["meta_keywords"],
+ metaDescription: json["meta_description"] == null ? null : json["meta_description"],
+ metaTitle: json["meta_title"] == null ? null : json["meta_title"],
+ allowCustomerReviews: json["allow_customer_reviews"],
+ approvedRatingSum: json["approved_rating_sum"],
+ notApprovedRatingSum: json["not_approved_rating_sum"],
+ approvedTotalReviews: json["approved_total_reviews"],
+ notApprovedTotalReviews: json["not_approved_total_reviews"],
+ sku: json["sku"],
+ isRx: json["is_rx"],
+ prescriptionRequired: json["prescription_required"],
+ rxMessage: json["rx_message"],
+ rxMessagen: json["rx_messagen"],
+ manufacturerPartNumber: json["manufacturer_part_number"],
+ gtin: json["gtin"],
+ isGiftCard: json["is_gift_card"],
+ requireOtherProducts: json["require_other_products"],
+ automaticallyAddRequiredProducts: json["automatically_add_required_products"],
+ isDownload: json["is_download"],
+ unlimitedDownloads: json["unlimited_downloads"],
+ maxNumberOfDownloads: json["max_number_of_downloads"],
+ downloadExpirationDays: json["download_expiration_days"],
+ hasSampleDownload: json["has_sample_download"],
+ hasUserAgreement: json["has_user_agreement"],
+ isRecurring: json["is_recurring"],
+ recurringCycleLength: json["recurring_cycle_length"],
+ recurringTotalCycles: json["recurring_total_cycles"],
+ isRental: json["is_rental"],
+ rentalPriceLength: json["rental_price_length"],
+ isShipEnabled: json["is_ship_enabled"],
+ isFreeShipping: json["is_free_shipping"],
+ shipSeparately: json["ship_separately"],
+ additionalShippingCharge: json["additional_shipping_charge"],
+ isTaxExempt: json["is_tax_exempt"],
+ isTelecommunicationsOrBroadcastingOrElectronicServices: json["is_telecommunications_or_broadcasting_or_electronic_services"],
+ useMultipleWarehouses: json["use_multiple_warehouses"],
+ manageInventoryMethodId: json["manage_inventory_method_id"],
+ stockQuantity: json["stock_quantity"],
+ stockAvailability: json["stock_availability"],
+ stockAvailabilityn: json["stock_availabilityn"],
+ displayStockAvailability: json["display_stock_availability"],
+ displayStockQuantity: json["display_stock_quantity"],
+ minStockQuantity: json["min_stock_quantity"],
+ notifyAdminForQuantityBelow: json["notify_admin_for_quantity_below"],
+ allowBackInStockSubscriptions: json["allow_back_in_stock_subscriptions"],
+ orderMinimumQuantity: json["order_minimum_quantity"],
+ orderMaximumQuantity: json["order_maximum_quantity"],
+ allowedQuantities: json["allowed_quantities"],
+ allowAddingOnlyExistingAttributeCombinations: json["allow_adding_only_existing_attribute_combinations"],
+ disableBuyButton: json["disable_buy_button"],
+ disableWishlistButton: json["disable_wishlist_button"],
+ availableForPreOrder: json["available_for_pre_order"],
+ preOrderAvailabilityStartDateTimeUtc: json["pre_order_availability_start_date_time_utc"],
+ callForPrice: json["call_for_price"],
+ price: json["price"].toDouble(),
+ oldPrice: json["old_price"],
+ productCost: json["product_cost"].toDouble(),
+ specialPrice: json["special_price"],
+ specialPriceStartDateTimeUtc: json["special_price_start_date_time_utc"],
+ specialPriceEndDateTimeUtc: json["special_price_end_date_time_utc"],
+ customerEntersPrice: json["customer_enters_price"],
+ minimumCustomerEnteredPrice: json["minimum_customer_entered_price"],
+ maximumCustomerEnteredPrice: json["maximum_customer_entered_price"],
+ basepriceEnabled: json["baseprice_enabled"],
+ basepriceAmount: json["baseprice_amount"],
+ basepriceBaseAmount: json["baseprice_base_amount"],
+ hasTierPrices: json["has_tier_prices"],
+ hasDiscountsApplied: json["has_discounts_applied"],
+ discountName: json["discount_name"],
+ discountNamen: json["discount_namen"],
+ discountDescription: json["discount_description"],
+ discountDescriptionn: json["discount_Descriptionn"],
+ discountPercentage: json["discount_percentage"],
+ currency: json["currency"],
+ currencyn: json["currencyn"],
+ weight: json["weight"].toDouble(),
+ length: json["length"],
+ width: json["width"],
+ height: json["height"],
+ availableStartDateTimeUtc: json["available_start_date_time_utc"],
+ availableEndDateTimeUtc: json["available_end_date_time_utc"],
+ displayOrder: json["display_order"],
+ published: json["published"],
+ deleted: json["deleted"],
+ createdOnUtc: DateTime.parse(json["created_on_utc"]),
+ updatedOnUtc: DateTime.parse(json["updated_on_utc"]),
+ productType: productTypeValues.map[json["product_type"]],
+ parentGroupedProductId: json["parent_grouped_product_id"],
+ roleIds: json["role_ids"],
+ discountIds: json["discount_ids"],
+ storeIds: json["store_ids"],
+ manufacturerIds: json["manufacturer_ids"],
+ reviews: List.from(json["reviews"].map((x) => Review.fromJson(x))),
+ images: List.from(json["images"].map((x) => Image.fromJson(x))),
+ attributes: json["attributes"],
+ specifications: json["specifications"],
+ associatedProductIds: json["associated_product_ids"],
+ tags: List.from(json["tags"].map((x) => x)),
+ vendorId: json["vendor_id"],
+ seName: json["se_name"],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "visible_individually": visibleIndividually,
+ "name": name,
+ "namen": namen,
+ "localized_names": localizedNames,
+ "short_description": shortDescription == null ? null : shortDescription,
+ "short_descriptionn": shortDescriptionn == null ? null : shortDescriptionn,
+ "full_description": fullDescription,
+ "full_descriptionn": fullDescriptionn,
+ "markas_new": markasNew,
+ "show_on_home_page": showOnHomePage,
+ "meta_keywords": metaKeywords == null ? null : metaKeywords,
+ "meta_description": metaDescription == null ? null : metaDescription,
+ "meta_title": metaTitle == null ? null : metaTitle,
+ "allow_customer_reviews": allowCustomerReviews,
+ "approved_rating_sum": approvedRatingSum,
+ "not_approved_rating_sum": notApprovedRatingSum,
+ "approved_total_reviews": approvedTotalReviews,
+ "not_approved_total_reviews": notApprovedTotalReviews,
+ "sku": sku,
+ "is_rx": isRx,
+ "prescription_required": prescriptionRequired,
+ "rx_message": rxMessage,
+ "rx_messagen": rxMessagen,
+ "manufacturer_part_number": manufacturerPartNumber,
+ "gtin": gtin,
+ "is_gift_card": isGiftCard,
+ "require_other_products": requireOtherProducts,
+ "automatically_add_required_products": automaticallyAddRequiredProducts,
+ "is_download": isDownload,
+ "unlimited_downloads": unlimitedDownloads,
+ "max_number_of_downloads": maxNumberOfDownloads,
+ "download_expiration_days": downloadExpirationDays,
+ "has_sample_download": hasSampleDownload,
+ "has_user_agreement": hasUserAgreement,
+ "is_recurring": isRecurring,
+ "recurring_cycle_length": recurringCycleLength,
+ "recurring_total_cycles": recurringTotalCycles,
+ "is_rental": isRental,
+ "rental_price_length": rentalPriceLength,
+ "is_ship_enabled": isShipEnabled,
+ "is_free_shipping": isFreeShipping,
+ "ship_separately": shipSeparately,
+ "additional_shipping_charge": additionalShippingCharge,
+ "is_tax_exempt": isTaxExempt,
+ "is_telecommunications_or_broadcasting_or_electronic_services": isTelecommunicationsOrBroadcastingOrElectronicServices,
+ "use_multiple_warehouses": useMultipleWarehouses,
+ "manage_inventory_method_id": manageInventoryMethodId,
+ "stock_quantity": stockQuantity,
+ "stock_availability": stockAvailability,
+ "stock_availabilityn": stockAvailabilityn,
+ "display_stock_availability": displayStockAvailability,
+ "display_stock_quantity": displayStockQuantity,
+ "min_stock_quantity": minStockQuantity,
+ "notify_admin_for_quantity_below": notifyAdminForQuantityBelow,
+ "allow_back_in_stock_subscriptions": allowBackInStockSubscriptions,
+ "order_minimum_quantity": orderMinimumQuantity,
+ "order_maximum_quantity": orderMaximumQuantity,
+ "allowed_quantities": allowedQuantities,
+ "allow_adding_only_existing_attribute_combinations": allowAddingOnlyExistingAttributeCombinations,
+ "disable_buy_button": disableBuyButton,
+ "disable_wishlist_button": disableWishlistButton,
+ "available_for_pre_order": availableForPreOrder,
+ "pre_order_availability_start_date_time_utc": preOrderAvailabilityStartDateTimeUtc,
+ "call_for_price": callForPrice,
+ "price": price,
+ "old_price": oldPrice,
+ "product_cost": productCost,
+ "special_price": specialPrice,
+ "special_price_start_date_time_utc": specialPriceStartDateTimeUtc,
+ "special_price_end_date_time_utc": specialPriceEndDateTimeUtc,
+ "customer_enters_price": customerEntersPrice,
+ "minimum_customer_entered_price": minimumCustomerEnteredPrice,
+ "maximum_customer_entered_price": maximumCustomerEnteredPrice,
+ "baseprice_enabled": basepriceEnabled,
+ "baseprice_amount": basepriceAmount,
+ "baseprice_base_amount": basepriceBaseAmount,
+ "has_tier_prices": hasTierPrices,
+ "has_discounts_applied": hasDiscountsApplied,
+ "discount_name": discountName,
+ "discount_namen": discountNamen,
+ "discount_description": discountDescription,
+ "discount_Descriptionn": discountDescriptionn,
+ "discount_percentage": discountPercentage,
+ "currency": currency,
+ "currencyn": currencyn,
+ "weight": weight,
+ "length": length,
+ "width": width,
+ "height": height,
+ "available_start_date_time_utc": availableStartDateTimeUtc,
+ "available_end_date_time_utc": availableEndDateTimeUtc,
+ "display_order": displayOrder,
+ "published": published,
+ "deleted": deleted,
+ "created_on_utc": createdOnUtc.toIso8601String(),
+ "updated_on_utc": updatedOnUtc.toIso8601String(),
+ "product_type": productTypeValues.reverse[productType],
+ "parent_grouped_product_id": parentGroupedProductId,
+ "role_ids": roleIds,
+ "discount_ids": discountIds,
+ "store_ids": storeIds,
+ "manufacturer_ids": manufacturerIds,
+ "reviews": List.from(reviews.map((x) => x.toJson())),
+ "images": List.from(images.map((x) => x.toJson())),
+ "attributes": attributes,
+ "specifications": specifications,
+ "associated_product_ids": associatedProductIds,
+ "tags": List.from(tags.map((x) => x)),
+ "vendor_id": vendorId,
+ "se_name": seName,
+ };
+}
+
+class Image {
+ Image({
+ this.id,
+ this.position,
+ this.src,
+ this.thumb,
+ this.attachment,
+ });
+
+ dynamic id;
+ dynamic position;
+ String src;
+ String thumb;
+ String attachment;
+
+ factory Image.fromJson(Map json) => Image(
+ id: json["id"],
+ position: json["position"],
+ src: json["src"],
+ thumb: json["thumb"],
+ attachment: json["attachment"],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "position": position,
+ "src": src,
+ "thumb": thumb,
+ "attachment": attachment,
+ };
+}
+
+enum ProductType { SIMPLE_PRODUCT }
+
+final productTypeValues = EnumValues({
+ "SimpleProduct": ProductType.SIMPLE_PRODUCT
+});
+
+class Review {
+ Review({
+ this.id,
+ this.position,
+ this.reviewId,
+ this.customerId,
+ this.productId,
+ this.storeId,
+ this.isApproved,
+ this.title,
+ this.reviewText,
+ this.replyText,
+ this.rating,
+ this.helpfulYesTotal,
+ this.helpfulNoTotal,
+ this.createdOnUtc,
+ this.customer,
+ this.product,
+ });
+
+ dynamic id;
+ dynamic position;
+ dynamic reviewId;
+ dynamic customerId;
+ dynamic productId;
+ dynamic storeId;
+ bool isApproved;
+ Title title;
+ ReviewText reviewText;
+ dynamic replyText;
+ dynamic rating;
+ dynamic helpfulYesTotal;
+ dynamic helpfulNoTotal;
+ DateTime createdOnUtc;
+ ReviewCustomer customer;
+ dynamic product;
+
+ factory Review.fromJson(Map json) => Review(
+ id: json["id"],
+ position: json["position"],
+ reviewId: json["review_id"],
+ customerId: json["customer_id"],
+ productId: json["product_id"],
+ storeId: json["store_id"],
+ isApproved: json["is_approved"],
+ title: titleValues.map[json["title"]],
+ reviewText: reviewTextValues.map[json["review_text"]],
+ replyText: json["reply_text"],
+ rating: json["rating"],
+ helpfulYesTotal: json["helpful_yes_total"],
+ helpfulNoTotal: json["helpful_no_total"],
+ createdOnUtc: DateTime.parse(json["created_on_utc"]),
+ customer: ReviewCustomer.fromJson(json["customer"]),
+ product: json["product"],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "position": position,
+ "review_id": reviewId,
+ "customer_id": customerId,
+ "product_id": productId,
+ "store_id": storeId,
+ "is_approved": isApproved,
+ "title": titleValues.reverse[title],
+ "review_text": reviewTextValues.reverse[reviewText],
+ "reply_text": replyText,
+ "rating": rating,
+ "helpful_yes_total": helpfulYesTotal,
+ "helpful_no_total": helpfulNoTotal,
+ "created_on_utc": createdOnUtc.toIso8601String(),
+ "customer": customer.toJson(),
+ "product": product,
+ };
+}
+
+class ReviewCustomer {
+ ReviewCustomer({
+ this.fileNumber,
+ this.iqamaNumber,
+ this.isOutSa,
+ this.patientType,
+ this.gender,
+ this.birthDate,
+ this.phone,
+ this.countryCode,
+ this.yahalaAccountno,
+ this.billingAddress,
+ this.shippingAddress,
+ this.addresses,
+ this.id,
+ this.username,
+ this.email,
+ this.firstName,
+ this.lastName,
+ this.languageId,
+ this.adminComment,
+ this.isTaxExempt,
+ this.hasShoppingCartItems,
+ this.active,
+ this.deleted,
+ this.isSystemAccount,
+ this.systemName,
+ this.lastIpAddress,
+ this.createdOnUtc,
+ this.lastLoginDateUtc,
+ this.lastActivityDateUtc,
+ this.registeredInStoreId,
+ this.roleIds,
+ });
+
+ dynamic fileNumber;
+ dynamic iqamaNumber;
+ dynamic isOutSa;
+ dynamic patientType;
+ dynamic gender;
+ DateTime birthDate;
+ dynamic phone;
+ dynamic countryCode;
+ dynamic yahalaAccountno;
+ dynamic billingAddress;
+ dynamic shippingAddress;
+ List addresses;
+ String id;
+ String username;
+ PurpleEmail email;
+ dynamic firstName;
+ dynamic lastName;
+ dynamic languageId;
+ dynamic adminComment;
+ dynamic isTaxExempt;
+ dynamic hasShoppingCartItems;
+ dynamic active;
+ dynamic deleted;
+ dynamic isSystemAccount;
+ dynamic systemName;
+ dynamic lastIpAddress;
+ dynamic createdOnUtc;
+ dynamic lastLoginDateUtc;
+ dynamic lastActivityDateUtc;
+ dynamic registeredInStoreId;
+ List roleIds;
+
+ factory ReviewCustomer.fromJson(Map json) => ReviewCustomer(
+ fileNumber: json["file_number"],
+ iqamaNumber: json["iqama_number"],
+ isOutSa: json["is_out_sa"],
+ patientType: json["patient_type"],
+ gender: json["gender"],
+ birthDate: DateTime.parse(json["birth_date"]),
+ phone: json["phone"],
+ countryCode: json["country_code"],
+ yahalaAccountno: json["yahala_accountno"],
+ billingAddress: json["billing_address"],
+ shippingAddress: json["shipping_address"],
+ addresses: List.from(json["addresses"].map((x) => x)),
+ id: json["id"],
+ username: json["username"],
+ email: purpleEmailValues.map[json["email"]],
+ firstName: json["first_name"],
+ lastName: json["last_name"],
+ languageId: json["language_id"],
+ adminComment: json["admin_comment"],
+ isTaxExempt: json["is_tax_exempt"],
+ hasShoppingCartItems: json["has_shopping_cart_items"],
+ active: json["active"],
+ deleted: json["deleted"],
+ isSystemAccount: json["is_system_account"],
+ systemName: json["system_name"],
+ lastIpAddress: json["last_ip_address"],
+ createdOnUtc: json["created_on_utc"],
+ lastLoginDateUtc: json["last_login_date_utc"],
+ lastActivityDateUtc: json["last_activity_date_utc"],
+ registeredInStoreId: json["registered_in_store_id"],
+ roleIds: List.from(json["role_ids"].map((x) => x)),
+ );
+
+ Map toJson() => {
+ "file_number": fileNumber,
+ "iqama_number": iqamaNumber,
+ "is_out_sa": isOutSa,
+ "patient_type": patientType,
+ "gender": gender,
+ "birth_date": birthDate.toIso8601String(),
+ "phone": phone,
+ "country_code": countryCode,
+ "yahala_accountno": yahalaAccountno,
+ "billing_address": billingAddress,
+ "shipping_address": shippingAddress,
+ "addresses": List.from(addresses.map((x) => x)),
+ "id": id,
+ "username": username,
+ "email": purpleEmailValues.reverse[email],
+ "first_name": firstName,
+ "last_name": lastName,
+ "language_id": languageId,
+ "admin_comment": adminComment,
+ "is_tax_exempt": isTaxExempt,
+ "has_shopping_cart_items": hasShoppingCartItems,
+ "active": active,
+ "deleted": deleted,
+ "is_system_account": isSystemAccount,
+ "system_name": systemName,
+ "last_ip_address": lastIpAddress,
+ "created_on_utc": createdOnUtc,
+ "last_login_date_utc": lastLoginDateUtc,
+ "last_activity_date_utc": lastActivityDateUtc,
+ "registered_in_store_id": registeredInStoreId,
+ "role_ids": List.from(roleIds.map((x) => x)),
+ };
+}
+
+enum PurpleEmail { STEVE_GATES_NOP_COMMERCE_COM, TAMER_FANASHEH_DRSULAIMANALHABIB_COM, ASIF_RAZA_DRSULAIMANALHABIB_COM, ABOSAMI_YMAIL_COM }
+
+final purpleEmailValues = EnumValues({
+ "abosami@ymail.com": PurpleEmail.ABOSAMI_YMAIL_COM,
+ "asif.raza@drsulaimanalhabib.com": PurpleEmail.ASIF_RAZA_DRSULAIMANALHABIB_COM,
+ "steve_gates@nopCommerce.com": PurpleEmail.STEVE_GATES_NOP_COMMERCE_COM,
+ "tamer.fanasheh@drsulaimanalhabib.com": PurpleEmail.TAMER_FANASHEH_DRSULAIMANALHABIB_COM
+});
+
+enum ReviewText { GOOD, NICE_PRICE, GREAT, REVIEW_TEXT_GOOD, GG, ENAD_TEST_REVIEW_001, ENAD, ENADDD, ENAD_TEST_0001, PURPLE_GOOD, EMPTY }
+
+final reviewTextValues = EnumValues({
+ "افضل علاج للزكام": ReviewText.EMPTY,
+ "ENAD ": ReviewText.ENAD,
+ "enaddd": ReviewText.ENADDD,
+ "ENAD TEST 0001": ReviewText.ENAD_TEST_0001,
+ "Enad Test Review 001": ReviewText.ENAD_TEST_REVIEW_001,
+ "gg": ReviewText.GG,
+ "good ": ReviewText.GOOD,
+ "great": ReviewText.GREAT,
+ "nice price": ReviewText.NICE_PRICE,
+ "Good": ReviewText.PURPLE_GOOD,
+ "good": ReviewText.REVIEW_TEXT_GOOD
+});
+
+enum Title { EMPTY, GOOD, TITLE }
+
+final titleValues = EnumValues({
+ "": Title.EMPTY,
+ "Good": Title.GOOD,
+ "ممتاز": Title.TITLE
+});
+
+enum OrderStatus { ORDER_SUBMITTED, PENDING, ORDER_IN_PROGRESS, ORDER_COMPLETED, CANCELLED, PROCESSING, ORDER_REFUNDED, COMPLETE }
+
+final orderStatusValues = EnumValues({
+ "Cancelled": OrderStatus.CANCELLED,
+ "Complete": OrderStatus.COMPLETE,
+ "OrderCompleted": OrderStatus.ORDER_COMPLETED,
+ "OrderInProgress": OrderStatus.ORDER_IN_PROGRESS,
+ "OrderRefunded": OrderStatus.ORDER_REFUNDED,
+ "OrderSubmitted": OrderStatus.ORDER_SUBMITTED,
+ "Pending": OrderStatus.PENDING,
+ "Processing": OrderStatus.PROCESSING
+});
+
+enum OrderStatusn { ORDER_SUBMITTED, EMPTY, ORDER_IN_PROGRESS, ORDER_COMPLETED, ORDER_STATUSN, PURPLE, FLUFFY, TENTACLED }
+
+final orderStatusnValues = EnumValues({
+ "معلقة": OrderStatusn.EMPTY,
+ "تم ارجاع مبلغ الطلبية المدفوع للعميل": OrderStatusn.FLUFFY,
+ "Order Completed": OrderStatusn.ORDER_COMPLETED,
+ "Order In Progress": OrderStatusn.ORDER_IN_PROGRESS,
+ "ملغي": OrderStatusn.ORDER_STATUSN,
+ "Order Submitted": OrderStatusn.ORDER_SUBMITTED,
+ "قيد التنفيذ": OrderStatusn.PURPLE,
+ "مكتمل": OrderStatusn.TENTACLED
+});
+
+enum PaymentMethodSystemName { PAYMENTS_PAY_FORT, PAYMENTS_CASH_ON_DELIVERY }
+
+final paymentMethodSystemNameValues = EnumValues({
+ "Payments.CashOnDelivery": PaymentMethodSystemName.PAYMENTS_CASH_ON_DELIVERY,
+ "Payments.PayFort": PaymentMethodSystemName.PAYMENTS_PAY_FORT
+});
+
+enum PaymentName { CREDIT_DEBIT_CARD_PAYFORT, CASH_ON_DELIVERY_COD }
+
+final paymentNameValues = EnumValues({
+ "Cash On Delivery (COD)": PaymentName.CASH_ON_DELIVERY_COD,
+ "Credit / Debit Card Payfort": PaymentName.CREDIT_DEBIT_CARD_PAYFORT
+});
+
+enum PaymentStatus { PAID, PENDING }
+
+final paymentStatusValues = EnumValues({
+ "Paid": PaymentStatus.PAID,
+ "Pending": PaymentStatus.PENDING
+});
+
+enum PaymentStatusn { EMPTY, PAYMENT_STATUSN }
+
+final paymentStatusnValues = EnumValues({
+ "تم الدفع": PaymentStatusn.EMPTY,
+ "قيد الإنتظار": PaymentStatusn.PAYMENT_STATUSN
+});
+
+enum PreferDeliveryTime { THE_1000_AM_330_PM, THE_530_PM_730_PM }
+
+final preferDeliveryTimeValues = EnumValues({
+ "10:00 AM - 3:30 PM": PreferDeliveryTime.THE_1000_AM_330_PM,
+ "5:30 PM - 7:30 PM": PreferDeliveryTime.THE_530_PM_730_PM
+});
+
+enum PreferDeliveryTimen { THE_1000330, THE_530730 }
+
+final preferDeliveryTimenValues = EnumValues({
+ "10:00 ص - 3:30 م": PreferDeliveryTimen.THE_1000330,
+ "5:30 م - 7:30 م": PreferDeliveryTimen.THE_530730
+});
+
+enum ShippingMethod { EMPTY, FIXED_PRICE }
+
+final shippingMethodValues = EnumValues({
+ "سعر ثابت ": ShippingMethod.EMPTY,
+ "Fixed Price": ShippingMethod.FIXED_PRICE
+});
+
+enum ShippingRateComputationMethodSystemName { SHIPPING_FIXED_OR_BY_WEIGHT }
+
+final shippingRateComputationMethodSystemNameValues = EnumValues({
+ "Shipping.FixedOrByWeight": ShippingRateComputationMethodSystemName.SHIPPING_FIXED_OR_BY_WEIGHT
+});
+
+enum ShippingStatus { NOT_YET_SHIPPED }
+
+final shippingStatusValues = EnumValues({
+ "NotYetShipped": ShippingStatus.NOT_YET_SHIPPED
+});
+
+enum ShippingStatusn { EMPTY }
+
+final shippingStatusnValues = EnumValues({
+ "لم يتم شحنها بعد": ShippingStatusn.EMPTY
+});
+
+class EnumValues {
+ Map map;
+ Map reverseMap;
+
+ EnumValues(this.map);
+
+ Map get reverse {
+ if (reverseMap == null) {
+ reverseMap = map.map((k, v) => new MapEntry(v, k));
+ }
+ return reverseMap;
+ }
+}
+
+
+
diff --git a/lib/core/model/prescriptions/perscription_pharmacy.dart b/lib/core/model/prescriptions/perscription_pharmacy.dart
index 5180689f..3adaef7e 100644
--- a/lib/core/model/prescriptions/perscription_pharmacy.dart
+++ b/lib/core/model/prescriptions/perscription_pharmacy.dart
@@ -1,6 +1,6 @@
class PharmacyPrescriptions {
String expiryDate;
- double sellingPrice;
+ dynamic sellingPrice;
int quantity;
int itemID;
int locationID;
diff --git a/lib/core/model/prescriptions/request_prescription_report.dart b/lib/core/model/prescriptions/request_prescription_report.dart
index c8323740..df901a99 100644
--- a/lib/core/model/prescriptions/request_prescription_report.dart
+++ b/lib/core/model/prescriptions/request_prescription_report.dart
@@ -82,7 +82,7 @@ class RequestPrescriptionReport {
data['EpisodeID'] = this.episodeID;
data['ClinicID'] = this.clinicID;
data['ProjectID'] = this.projectID;
- data['DischargeNo'] = this.dischargeNo;
+ // data['DischargeNo'] = this.dischargeNo;
return data;
}
}
diff --git a/lib/core/model/prescriptions/request_prescription_report_enh.dart b/lib/core/model/prescriptions/request_prescription_report_enh.dart
index 42b89c15..4905fc2a 100644
--- a/lib/core/model/prescriptions/request_prescription_report_enh.dart
+++ b/lib/core/model/prescriptions/request_prescription_report_enh.dart
@@ -14,6 +14,7 @@ class RequestPrescriptionReportEnh {
int patientType;
int appointmentNo;
String setupID;
+ int dischargeNo;
int episodeID;
int clinicID;
int projectID;
@@ -36,7 +37,7 @@ class RequestPrescriptionReportEnh {
this.setupID,
this.episodeID,
this.clinicID,
- this.projectID});
+ this.projectID,this.dischargeNo});
RequestPrescriptionReportEnh.fromJson(Map json) {
versionID = json['VersionID'];
@@ -79,6 +80,7 @@ class RequestPrescriptionReportEnh {
data['EpisodeID'] = this.episodeID;
data['ClinicID'] = this.clinicID;
data['ProjectID'] = this.projectID;
+ data['DischargeNo'] = this.dischargeNo;
return data;
}
}
diff --git a/lib/core/model/rate/appointment_details.dart b/lib/core/model/rate/appointment_details.dart
index 30280b4a..77d759db 100644
--- a/lib/core/model/rate/appointment_details.dart
+++ b/lib/core/model/rate/appointment_details.dart
@@ -5,13 +5,13 @@ class AppointmentDetails {
int appointmentNo;
int clinicID;
int doctorID;
- String startTime;
- String endTime;
- String appointmentDate;
- String clinicName;
- String doctorImageURL;
- String doctorName;
- String projectName;
+ dynamic startTime;
+ dynamic endTime;
+ dynamic appointmentDate;
+ dynamic clinicName;
+ dynamic doctorImageURL;
+ dynamic doctorName;
+ dynamic projectName;
AppointmentDetails(
{this.setupID,
diff --git a/lib/core/service/AlHabibMedicalService/cmc_service.dart b/lib/core/service/AlHabibMedicalService/cmc_service.dart
index dffa6683..9e99f3ad 100644
--- a/lib/core/service/AlHabibMedicalService/cmc_service.dart
+++ b/lib/core/service/AlHabibMedicalService/cmc_service.dart
@@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/config/config.dart';
+import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_get_items_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_get_items_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart';
@@ -47,8 +48,9 @@ class CMCService extends BaseService {
await baseAppClient.post(GET_PATIENT_ALL_PRES_ORDERS,
onSuccess: (dynamic response, int statusCode) {
cmcAllPresOrdersList.clear();
+ cmcAllOrderDetail.clear();
response['PatientER_GetPatientAllPresOrdersList'].forEach((data) {
- if (data['ServiceID'] == 3)
+ if (data['ServiceID'] == OrderService.Comprehensive_Medical_Checkup.getIdOrderService())
cmcAllPresOrdersList
.add(GetHHCAllPresOrdersResponseModel.fromJson(data));
});
@@ -104,7 +106,7 @@ class CMCService extends BaseService {
Future insertPresPresOrder({CMCInsertPresOrderRequestModel order}) async {
hasError = false;
- await baseAppClient.post(PATIENT_ER_UPDATE_PRES_ORDER,
+ await baseAppClient.post(PATIENT_ER_INSERT_PRES_ORDER,
onSuccess: (dynamic response, int statusCode) {
isOrderUpdated = true;
}, onFailure: (String error, int statusCode) {
diff --git a/lib/core/service/AlHabibMedicalService/customer_addresses_service.dart b/lib/core/service/AlHabibMedicalService/customer_addresses_service.dart
new file mode 100644
index 00000000..cb457735
--- /dev/null
+++ b/lib/core/service/AlHabibMedicalService/customer_addresses_service.dart
@@ -0,0 +1,211 @@
+import 'package:diplomaticquarterapp/config/config.dart';
+import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_request_modle.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hHC_all_pres_orders_request_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hhc_all_pres_orders_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_request_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_insert_pres_order_request_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart';
+import 'package:intl/intl.dart';
+
+import '../base_service.dart';
+
+class CustomerAddressesService extends BaseService {
+
+ List addressesList = List();
+ CustomerInfo customerInfo;
+
+ Future addAddressInfo({ AddNewAddressRequestModel
+ addNewAddressRequestModel }) async {
+
+ addNewAddressRequestModel.customer.email = customerInfo.email;
+ addNewAddressRequestModel.customer.id = customerInfo.customerId;
+ addNewAddressRequestModel.customer.roleIds = [3];
+ addNewAddressRequestModel.customer.addresses[0].email = customerInfo.email;
+ addNewAddressRequestModel.customer.addresses[0].phoneNumber = customerInfo.mobileNumber;
+ addNewAddressRequestModel.customer.addresses[0].firstName = user.firstName;
+ addNewAddressRequestModel.customer.addresses[0].lastName = user.lastName;
+ addNewAddressRequestModel.customer.addresses[0].countryId = 69;
+
+ var f = DateFormat('E, d MMM yyyy HH:mm:ss');
+ var date = f.format(DateTime.now().toUtc()) + " GMT";
+ addNewAddressRequestModel.customer.addresses[0].createdOnUtc = date;
+ hasError = false;
+ await baseAppClient.post(ADD_ADDRESS_INFO,
+ onSuccess: (dynamic response, int statusCode) {
+ addressesList.clear();
+ response["customers"][0]["addresses"].forEach((data) {
+ addressesList
+ .add(AddressInfo.fromJson(data));
+ });
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body: addNewAddressRequestModel.toJson(), isExternal: true, isAllowAny: true);
+ }
+
+ Future getCustomerAddresses() async {
+ Map queryParams = {
+ 'fields':'addresses'
+ };
+ hasError = false;
+ await baseAppClient.get("$GET_CUSTOMER_ADDRESSES${customerInfo.customerId}",
+ onSuccess: (dynamic response, int statusCode) {
+ addressesList.clear();
+ response["customers"][0]["addresses"].forEach((data) {
+ addressesList
+ .add(AddressInfo.fromJson(data));
+ });
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, queryParams: queryParams, isExternal: true);
+ }
+
+
+ Future getCustomerInfo() async {
+ Map queryParams = {
+ 'FileNumber':'${user.patientID}'
+ };
+
+ hasError = false;
+ await baseAppClient.get(GET_CUSTOMER_INFO,
+ onSuccess: (dynamic response, int statusCode) {
+ customerInfo= CustomerInfo.fromJson(response);
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, queryParams: queryParams, isExternal: true);
+ }
+}
+
+
+class CustomerInfo {
+ bool isRegistered;
+ String userName;
+ Null password;
+ String email;
+ Null errorMessage;
+ String mobileNumber;
+ int customerId;
+
+ CustomerInfo(
+ {this.isRegistered,
+ this.userName,
+ this.password,
+ this.email,
+ this.errorMessage,
+ this.mobileNumber,
+ this.customerId});
+
+ CustomerInfo.fromJson(Map json) {
+ isRegistered = json['IsRegistered'];
+ userName = json['UserName'];
+ password = json['Password'];
+ email = json['Email'];
+ errorMessage = json['ErrorMessage'];
+ mobileNumber = json['MobileNumber'];
+ customerId = json['CustomerId'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['IsRegistered'] = this.isRegistered;
+ data['UserName'] = this.userName;
+ data['Password'] = this.password;
+ data['Email'] = this.email;
+ data['ErrorMessage'] = this.errorMessage;
+ data['MobileNumber'] = this.mobileNumber;
+ data['CustomerId'] = this.customerId;
+ return data;
+ }
+}
+
+
+class AddressInfo {
+ String id;
+ String firstName;
+ String lastName;
+ String email;
+ Null company;
+ int countryId;
+ String country;
+ Null stateProvinceId;
+ String city;
+ String address1;
+ String address2;
+ String zipPostalCode;
+ String phoneNumber;
+ Null faxNumber;
+ String customerAttributes;
+ String createdOnUtc;
+ Null province;
+ String latLong;
+
+ AddressInfo(
+ {this.id,
+ this.firstName,
+ this.lastName,
+ this.email,
+ this.company,
+ this.countryId,
+ this.country,
+ this.stateProvinceId,
+ this.city,
+ this.address1,
+ this.address2,
+ this.zipPostalCode,
+ this.phoneNumber,
+ this.faxNumber,
+ this.customerAttributes,
+ this.createdOnUtc,
+ this.province,
+ this.latLong});
+
+ AddressInfo.fromJson(Map json) {
+ id = json['id'];
+ firstName = json['first_name'];
+ lastName = json['last_name'];
+ email = json['email'];
+ company = json['company'];
+ countryId = json['country_id'];
+ country = json['country'];
+ stateProvinceId = json['state_province_id'];
+ city = json['city'];
+ address1 = json['address1'];
+ address2 = json['address2'];
+ zipPostalCode = json['zip_postal_code'];
+ phoneNumber = json['phone_number'];
+ faxNumber = json['fax_number'];
+ customerAttributes = json['customer_attributes'];
+ createdOnUtc = json['created_on_utc'];
+ province = json['province'];
+ latLong = json['lat_long'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['id'] = this.id;
+ data['first_name'] = this.firstName;
+ data['last_name'] = this.lastName;
+ data['email'] = this.email;
+ data['company'] = this.company;
+ data['country_id'] = this.countryId;
+ data['country'] = this.country;
+ data['state_province_id'] = this.stateProvinceId;
+ data['city'] = this.city;
+ data['address1'] = this.address1;
+ data['address2'] = this.address2;
+ data['zip_postal_code'] = this.zipPostalCode;
+ data['phone_number'] = this.phoneNumber;
+ data['fax_number'] = this.faxNumber;
+ data['customer_attributes'] = this.customerAttributes;
+ data['created_on_utc'] = this.createdOnUtc;
+ data['province'] = this.province;
+ data['lat_long'] = this.latLong;
+ return data;
+ }
+}
diff --git a/lib/core/service/AlHabibMedicalService/e_referral_service.dart b/lib/core/service/AlHabibMedicalService/e_referral_service.dart
index 6c356f5c..6e8da51b 100644
--- a/lib/core/service/AlHabibMedicalService/e_referral_service.dart
+++ b/lib/core/service/AlHabibMedicalService/e_referral_service.dart
@@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/check_activation_code_for_e_referral_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/create_e_referral_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_cities_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_projects_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_relationship_types_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_e_referral_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_e_referral_response_model.dart';
@@ -14,6 +15,9 @@ class EReferralService extends BaseService {
List _allCities = List();
List get allCities => _allCities;
+ List _allProjects = List();
+ List get allProjects => _allProjects;
+
List _allReferral = List();
List get allReferral => _allReferral;
String _activationCode;
@@ -53,6 +57,20 @@ class EReferralService extends BaseService {
}, body: {});
}
+ Future getAllProjects() async {
+ await baseAppClient.post(GET_PROJECT,
+ onSuccess: (dynamic response, int statusCode) {
+ _allProjects.clear();
+ response['ListProject'].forEach((city) {
+ _allProjects
+ .add(GetAllProjectsResponseModel.fromJson(city));
+ });
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body: {});
+ }
+
Future sendActivationCodeForEReferral(
SendActivationCodeForEReferralRequestModel
@@ -60,6 +78,7 @@ class EReferralService extends BaseService {
hasError = false;
await baseAppClient.post(SEND_ACTIVATION_CODE_FOR_E_REFERRAL,
onSuccess: (dynamic response, int statusCode) {
+ print(response["VerificationCode"]);
_activationCode = response["VerificationCode"];
_logInTokenID = response["LogInTokenID"];
@@ -86,19 +105,20 @@ class EReferralService extends BaseService {
}, body: checkActivationCodeForEReferralRequestModel.toJson());
}
- Future createEReferral(
+ Future createEReferral(
CreateEReferralRequestModel createEReferralRequestModel
) async {
hasError = false;
+ dynamic localRes;
await baseAppClient.post(CREATE_E_REFERRAL/*'Services/Patients.svc/REST/CreateEReferral'*/,
onSuccess: (dynamic response, int statusCode) {
// TODO Waiting for fix service
- var asd= ("EEEEEE");
-
+ localRes = response;
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: createEReferralRequestModel.toJson());
+ return Future.value(localRes);
}
Future getEReferrals(
diff --git a/lib/core/service/AlHabibMedicalService/home_health_care_service.dart b/lib/core/service/AlHabibMedicalService/home_health_care_service.dart
index e636321b..2ec1e310 100644
--- a/lib/core/service/AlHabibMedicalService/home_health_care_service.dart
+++ b/lib/core/service/AlHabibMedicalService/home_health_care_service.dart
@@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/config/config.dart';
+import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_request_modle.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hHC_all_pres_orders_request_model.dart';
@@ -7,6 +8,8 @@ import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealth
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_insert_pres_order_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
+import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart';
import '../base_service.dart';
@@ -15,9 +18,10 @@ class HomeHealthCareService extends BaseService {
List hhcAllPresOrdersList = List();
List hhcAllOrderDetail = List();
+ List addressesList = List();
bool isOrderUpdated;
-
+ CustomerInfo customerInfo;
Future getHHCAllServices(
HHCGetAllServicesRequestModel hHCGetAllServicesRequestModel) async {
hasError = false;
@@ -37,11 +41,11 @@ class HomeHealthCareService extends BaseService {
GetHHCAllPresOrdersRequestModel getHHCAllPresOrdersRequestModel =
GetHHCAllPresOrdersRequestModel();
hasError = false;
- await baseAppClient.post(GET_PATIENT_ALL_PRES_ORDERS,
+ await baseAppClient.post(GET_PATIENT_ALL_PRES_ORD,
onSuccess: (dynamic response, int statusCode) {
hhcAllPresOrdersList.clear();
response['PatientER_GetPatientAllPresOrdersList'].forEach((data) {
- if (data['ServiceID'] == 2)
+ if (data['ServiceID'] == OrderService.HOME_HEALTH_CARE.getIdOrderService())
hhcAllPresOrdersList
.add(GetHHCAllPresOrdersResponseModel.fromJson(data));
});
@@ -91,3 +95,5 @@ class HomeHealthCareService extends BaseService {
}, body: order.toJson());
}
}
+
+
diff --git a/lib/core/service/AuthenticatedUserObject.dart b/lib/core/service/AuthenticatedUserObject.dart
index 600e17e1..f48b1179 100644
--- a/lib/core/service/AuthenticatedUserObject.dart
+++ b/lib/core/service/AuthenticatedUserObject.dart
@@ -17,8 +17,8 @@ class AuthenticatedUserObject {
if (userData != null) user = AuthenticatedUser.fromJson(userData);
}
- var isLogin = await sharedPref.getString(LOGIN_TOKEN_ID);
- this.isLogin = isLogin != null;
+ // var isLogin = await sharedPref.getString(LOGIN_TOKEN_ID);
+ this.isLogin = user != null;
}
logout() async {
diff --git a/lib/core/service/childvaccines/add_new_child_service.dart b/lib/core/service/childvaccines/add_new_child_service.dart
index 5e4a4d86..98e87100 100644
--- a/lib/core/service/childvaccines/add_new_child_service.dart
+++ b/lib/core/service/childvaccines/add_new_child_service.dart
@@ -14,19 +14,12 @@ class CreteNewBabyService extends BaseService {
Future getCreateNewBabyOrders({CreateNewBaby newChild,int userID}) async {
hasError = false;
- await getUser();
Map body = Map.from(newChild.toJson());
body['CreatedBy'] = 102;
body['EditedBy'] = 102;
body['UserID'] = userID;
body['AlertBy'] = 2;
- body['EmailAddress'] = user.emailAddress;
body['IsLogin'] = true;
- body['LogInTokenID'] = await sharedPref.getString(TOKEN);
- body['MobileNumber'] = user.mobileNumber;
- body['NationalID'] = user.nationalityID;
- body['ZipCode'] = user.zipCode;
-
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_NEWCHILD_REQUEST,
diff --git a/lib/core/service/childvaccines/delete_baby_service.dart b/lib/core/service/childvaccines/delete_baby_service.dart
index 115d13c5..49cbd29e 100644
--- a/lib/core/service/childvaccines/delete_baby_service.dart
+++ b/lib/core/service/childvaccines/delete_baby_service.dart
@@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/config/config.dart';
+import 'package:diplomaticquarterapp/core/model/childvaccines/List_BabyInformationModel.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/add_newchild_model.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/create_new_user_model.dart';
@@ -17,22 +18,13 @@ class DeleteBabyService extends BaseService{
List deleteBabyModelList= List();
- Future getDeleteBabyOrder({DeleteBaby deleteChild,int babyID}) async {
+ Future getDeleteBabyOrder({List_BabyInformationModel babyInfo}) async {
hasError = false;
await getUser();
- Map body = Map.from(deleteChild.toJson());
- // body['CreatedBy'] = 102;
+ Map body = Map();
body['EditedBy'] = 102;
- //body['BabyID'] = babyID;
- //body['BabyID'] = createNewBabyModelList ;
- // body['AlertBy'] = 2;
- // body['EmailAddress'] = user.emailAddress;
body['IsLogin'] = true;
- body['LogInTokenID'] = await sharedPref.getString(TOKEN);
- body['MobileNumber'] = user.mobileNumber;
- body['NationalID'] = user.nationalityID;
- body['ZipCode'] = user.zipCode;
-
+ body['BabyID'] = babyInfo.babyID;
body['isDentalAllowedBackend'] = false;
await baseAppClient.post(DELETE_CHILD_REQUEST,
@@ -45,31 +37,6 @@ class DeleteBabyService extends BaseService{
}, body: body);
}
- // Future getCreateNewBabyOrders({CreateNewBaby newChild,int userID}) async {
- // hasError = false;
- // await getUser();
- // Map body = Map.from(newChild.toJson());
- // body['CreatedBy'] = 102;
- // body['EditedBy'] = 102;
- // body['UserID'] = userID;
- // body['AlertBy'] = 2;
- // body['EmailAddress'] = user.emailAddress;
- // body['IsLogin'] = true;
- // body['LogInTokenID'] = await sharedPref.getString(TOKEN);
- // body['MobileNumber'] = user.mobileNumber;
- // body['NationalID'] = user.nationalityID;
- // body['ZipCode'] = user.zipCode;
- //
- // body['isDentalAllowedBackend'] = false;
- //
- // await baseAppClient.post(GET_NEWCHILD_REQUEST,
- // onSuccess: (dynamic response, int statusCode) {
- // var asd ="";
- // },
- // onFailure: (String error, int statusCode) {
- // hasError = true;
- // super.error = error;
- // }, body: body);
- // }
+
}
\ No newline at end of file
diff --git a/lib/core/service/childvaccines/get_vaccinations_item_services.dart b/lib/core/service/childvaccines/get_vaccinations_item_services.dart
deleted file mode 100644
index 5ff936af..00000000
--- a/lib/core/service/childvaccines/get_vaccinations_item_services.dart
+++ /dev/null
@@ -1,27 +0,0 @@
-import 'package:diplomaticquarterapp/config/config.dart';
-import 'package:diplomaticquarterapp/core/model/childvaccines/get_vacainations_itemsmodel.dart';
-
-import '../base_service.dart';
-
-class GetVccinationsItemsService extends BaseService {
- List getVaccinationsItemModelList = List();
- Map body = Map();
-
-
-
- Future getaccinationsitemOrders() async {
- hasError = false;
- await baseAppClient.post(GET_TABLE_REQUEST,
- onSuccess: (dynamic response, int statusCode) {
- getVaccinationsItemModelList.clear();
- response['List_CreateVaccinationTableModel'].forEach((vital) {
- getVaccinationsItemModelList.add(
- GET_VACCINATIONS_ITEMSMODEL.fromJson(vital));
- });
- }, onFailure: (String error, int statusCode) {
- hasError = true;
- super.error = error;
- }, body: body);
- }
-
-}
\ No newline at end of file
diff --git a/lib/core/service/childvaccines/user_information_service.dart b/lib/core/service/childvaccines/user_information_service.dart
index 0628920c..55ddc259 100644
--- a/lib/core/service/childvaccines/user_information_service.dart
+++ b/lib/core/service/childvaccines/user_information_service.dart
@@ -4,11 +4,11 @@ import 'package:diplomaticquarterapp/core/model/childvaccines/user_information_m
import '../base_service.dart';
class UserInformationService extends BaseService {
- List userInformationModelList = List();
- Map body = Map();
+ List_UserInformationModel userInformationModel = List_UserInformationModel();
Future getUserInformationOrders() async {
hasError = false;
+ Map body = Map();
await getUser();
body['CreatedBy'] = 102;
body['EditedBy'] = 102;
@@ -22,14 +22,44 @@ class UserInformationService extends BaseService {
await baseAppClient.post(GET_USERINFORMATION_REQUEST,
onSuccess: (dynamic response, int statusCode) {
- userInformationModelList.clear();
-
response['List_UserInformationModel_New'].forEach((vital) {
- userInformationModelList.add(List_UserInformationModel.fromJson(vital));
+ userInformationModel = List_UserInformationModel.fromJson(vital);
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: body);
}
+
+ Future updateEmail(String email) async {
+ hasError = false;
+ Map body = Map();
+ body['IsInternalRequest'] = true;
+ body['EmailAddress'] = email;
+ body['IsLogin'] = true;
+ body['isDentalAllowedBackend'] = false;
+ await baseAppClient.post(UPDATE_PATENT_EMAIL,
+ onSuccess: (dynamic response, int statusCode) {
+ var asd = "";
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body: body);
+ }
+
+ Future updateUserInfo(String email) async {
+ hasError = false;
+ Map body = Map();
+ body['IsInternalRequest'] = true;
+ body['EmailAddress'] = email;
+ body['IsLogin'] = true;
+ body['isDentalAllowedBackend'] = false;
+ await baseAppClient.post(UPDATE_PATENT_INFO,
+ onSuccess: (dynamic response, int statusCode) {
+ var asd = "";
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body: body);
+ }
}
diff --git a/lib/core/service/childvaccines/vaccination_table_service.dart b/lib/core/service/childvaccines/vaccination_table_service.dart
index 7f987b76..da3c8518 100644
--- a/lib/core/service/childvaccines/vaccination_table_service.dart
+++ b/lib/core/service/childvaccines/vaccination_table_service.dart
@@ -1,7 +1,9 @@
import 'package:diplomaticquarterapp/config/config.dart';
+import 'package:diplomaticquarterapp/core/model/childvaccines/List_BabyInformationModel.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/add_newchild_model.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/create_vaccination_table.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/user_information_model.dart';
+import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import '../base_service.dart';
class VaccinationTableService extends BaseService {
@@ -10,19 +12,16 @@ class VaccinationTableService extends BaseService {
- Future getCreateVaccinationTableOrders() async {
+ Future getCreateVaccinationTableOrders({List_BabyInformationModel babyInfo, List_UserInformationModel informationModel, bool isSendEmail=false}) async {
hasError = false;
await getUser();
- body['BabyName']="fffffffffff eeeeeeeeeeeeee";
- body['DOB'] = "/Date(1585774800000+0300)/";
- body['EmailAddress'] = user.emailAddress;
+ body['BabyName']=babyInfo.babyName;
+ body['DOB'] = DateUtil.convertDateToString(babyInfo.dOB);
+ body['EmailAddress'] = informationModel.emailAddress;
body['isDentalAllowedBackend'] = false;
- body['SendEmail'] = false;
+ body['SendEmail'] = isSendEmail;
body['IsLogin'] =true;
-
-
-
await baseAppClient.post(GET_TABLE_REQUEST,
onSuccess: (dynamic response, int statusCode) {
createVaccinationTableModelList.clear();
diff --git a/lib/core/service/client/base_app_client.dart b/lib/core/service/client/base_app_client.dart
index 528266f6..fa55f020 100644
--- a/lib/core/service/client/base_app_client.dart
+++ b/lib/core/service/client/base_app_client.dart
@@ -2,12 +2,19 @@ import 'dart:convert';
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
+import 'package:diplomaticquarterapp/core/service/medical/vital_sign_service.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
+import 'package:diplomaticquarterapp/pages/appUpdatePage/app_update_page.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
+import 'package:provider/provider.dart';
+import '../../../locator.dart';
import '../../../routes.dart';
+import '../AuthenticatedUserObject.dart';
AppSharedPreferences sharedPref = new AppSharedPreferences();
@@ -16,68 +23,92 @@ AppSharedPreferences sharedPref = new AppSharedPreferences();
/// onSuccess: (dynamic response, int statusCode) {},
/// onFailure: (String error, int statusCode) {},
/// body: Map();
+///
+AuthenticatedUserObject authenticatedUserObject =
+ locator();
+VitalSignService _vitalSignService = locator();
class BaseAppClient {
post(String endPoint,
{Map body,
Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
- bool isAllowAny = false}) async {
- String url = BASE_URL + endPoint;
+ bool isAllowAny = false,
+ bool isExternal = false}) async {
+ String url;
+ if (isExternal) {
+ url = endPoint;
+ } else {
+ url = BASE_URL + endPoint;
+ }
try {
//Map profile = await sharedPref.getObj(DOCTOR_PROFILE);
- String token = await sharedPref.getString(TOKEN);
- var languageID =
- await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'en');
- var user = await sharedPref.getObject(USER_PROFILE);
- if (body.containsKey('SetupID')) {
- body['SetupID'] = body.containsKey('SetupID')
- ? body['SetupID'] != null
- ? body['SetupID']
- : SETUP_ID
- : SETUP_ID;
- }
- body['VersionID'] = VERSION_ID;
- body['Channel'] = CHANNEL;
- body['LanguageID'] = languageID == 'ar' ? 1 : 2;
- body['IPAdress'] = IP_ADDRESS;
- body['generalid'] = GENERAL_ID;
- body['PatientOutSA'] = body.containsKey('PatientOutSA')
- ? body['PatientOutSA'] != null
- ? body['PatientOutSA']
- : PATIENT_OUT_SA
- : PATIENT_OUT_SA;
-
- if (body.containsKey('isDentalAllowedBackend')) {
- body['isDentalAllowedBackend'] =
- body.containsKey('isDentalAllowedBackend')
- ? body['isDentalAllowedBackend'] != null
- ? body['isDentalAllowedBackend']
- : IS_DENTAL_ALLOWED_BACKEND
- : IS_DENTAL_ALLOWED_BACKEND;
- }
+ if (!isExternal) {
+ String token = await sharedPref.getString(TOKEN);
+ var languageID = await sharedPref.getString(APP_LANGUAGE);
+ var user = await sharedPref.getObject(USER_PROFILE);
+ if (body.containsKey('SetupID')) {
+ body['SetupID'] = body.containsKey('SetupID')
+ ? body['SetupID'] != null
+ ? body['SetupID']
+ : SETUP_ID
+ : SETUP_ID;
+ }
+ body['VersionID'] = VERSION_ID;
+ body['Channel'] = CHANNEL;
+ body['LanguageID'] = body.containsKey('LanguageID')
+ ? body['LanguageID'] != null
+ ? body['LanguageID']
+ : languageID == 'ar'
+ ? 1
+ : 2
+ : languageID == 'en'
+ ? 2
+ : 1;
+
+ body['IPAdress'] = IP_ADDRESS;
+ body['generalid'] = GENERAL_ID;
+ body['PatientOutSA'] = body.containsKey('PatientOutSA')
+ ? body['PatientOutSA'] != null
+ ? body['PatientOutSA']
+ : PATIENT_OUT_SA
+ : PATIENT_OUT_SA;
+
+ if (body.containsKey('isDentalAllowedBackend')) {
+ body['isDentalAllowedBackend'] =
+ body.containsKey('isDentalAllowedBackend')
+ ? body['isDentalAllowedBackend'] != null
+ ? body['isDentalAllowedBackend']
+ : IS_DENTAL_ALLOWED_BACKEND
+ : IS_DENTAL_ALLOWED_BACKEND;
+ }
+
+ body['DeviceTypeID'] = DeviceTypeID;
+
+ if (!body.containsKey('IsPublicRequest')) {
+ body['PatientType'] = body.containsKey('PatientType')
+ ? body['PatientType'] != null
+ ? body['PatientType']
+ : user['PatientType'] != null
+ ? user['PatientType']
+ : PATIENT_TYPE
+ : PATIENT_TYPE;
- body['DeviceTypeID'] = DeviceTypeID;
-
- if (!body.containsKey('IsPublicRequest')) {
- body['PatientType'] = body.containsKey('PatientType')
- ? body['PatientType'] != null
- ? body['PatientType']
- : PATIENT_TYPE
- : PATIENT_TYPE;
-
- body['PatientTypeID'] = body.containsKey('PatientTypeID')
- ? body['PatientTypeID'] != null
- ? body['PatientTypeID']
- : PATIENT_TYPE_ID
- : PATIENT_TYPE_ID;
-
- if (user != null) {
- body['TokenID'] = token;
- body['PatientID'] =
- body['PatientID'] != null ? body['PatientID'] : user['PatientID'];
- body['PatientOutSA'] = user['OutSA'];
- body['SessionID'] = SESSION_ID; //getSessionId(token);
+ body['PatientTypeID'] = body.containsKey('PatientTypeID')
+ ? body['PatientTypeID'] != null
+ ? body['PatientTypeID']
+ : user['PatientType'] != null
+ ? user['PatientType']
+ : PATIENT_TYPE_ID
+ : PATIENT_TYPE_ID;
+ if (user != null) {
+ body['TokenID'] = token;
+ body['PatientID'] = body['PatientID'] != null
+ ? body['PatientID']
+ : user['PatientID'];
+ body['PatientOutSA'] = user['OutSA'];
+ body['SessionID'] = SESSION_ID; //getSessionId(token);
+ }
}
}
@@ -101,6 +132,10 @@ class BaseAppClient {
if (parsed['Response_Message'] != null) {
onSuccess(parsed, statusCode);
} else {
+ if (parsed['ErrorType'] == 4) {
+ navigateToAppUpdate(
+ AppGlobal.context, parsed['ErrorEndUserMessage']);
+ }
if (isAllowAny) {
onSuccess(parsed, statusCode);
} else if (parsed['IsAuthenticated'] == null) {
@@ -123,6 +158,10 @@ class BaseAppClient {
} else if (parsed['MessageStatus'] == 1 ||
parsed['SMSLoginRequired'] == true) {
onSuccess(parsed, statusCode);
+ } else if (!parsed['IsAuthenticated']) {
+ await logout();
+
+ //helpers.showErrorToast('Your session expired Please login agian');
} else {
if (parsed['SameClinicApptList'] != null) {
onSuccess(parsed, statusCode);
@@ -147,11 +186,24 @@ class BaseAppClient {
}
}
+ Future navigateToAppUpdate(context, String text) async {
+ Navigator.pushReplacement(
+ context,
+ MaterialPageRoute(
+ builder: (context) => AppUpdatePage(appUpdateText: text)));
+ }
+
get(String endPoint,
{Function(dynamic response, int statusCode) onSuccess,
Function(String error, int statusCode) onFailure,
- Map queryParams}) async {
- String url = BASE_URL + endPoint;
+ Map queryParams,
+ bool isExternal = false}) async {
+ String url;
+ if (isExternal) {
+ url = endPoint;
+ } else {
+ url = BASE_URL + endPoint;
+ }
if (queryParams != null) {
String queryString = Uri(queryParameters: queryParams).query;
url += '?' + queryString;
@@ -181,9 +233,46 @@ class BaseAppClient {
}
}
+ getPharmacy(String endPoint,
+ {Function(dynamic response, int statusCode) onSuccess,
+ Function(String error, int statusCode) onFailure,
+ bool isAllowAny = false,
+ Map queryParams}) async {
+ String url = PHARMACY_BASE_URL + endPoint;
+ if (queryParams != null) {
+ String queryString = Uri(queryParameters: queryParams).query;
+ url += '?' + queryString;
+ }
+
+ print("URL : $url");
+
+ if (await Utils.checkConnection()) {
+ final response = await http.get(url.trim(), headers: {
+ 'Content-Type': 'application/json',
+ 'Accept': 'application/json'
+ });
+ final int statusCode = response.statusCode;
+ print("statusCode :$statusCode");
+
+ if (statusCode < 200 || statusCode >= 400 || json == null) {
+ onFailure('Error While Fetching data', statusCode);
+ } else {
+ var parsed = json.decode(response.body.toString());
+ onSuccess(parsed, statusCode);
+ }
+ } else {
+ onFailure('Please Check The Internet Connection', -1);
+ }
+ }
+
logout() async {
await sharedPref.remove(LOGIN_TOKEN_ID);
- Navigator.of(AppGlobal.context).pushReplacementNamed(LOGIN_TYPE);
+ await authenticatedUserObject.getUser();
+ Provider.of(AppGlobal.context, listen: false).isLogin =
+ false;
+ _vitalSignService.weightKg = "";
+ _vitalSignService.heightCm = "";
+ Navigator.of(AppGlobal.context).pushReplacementNamed(HOME);
}
String getSessionId(String id) {
diff --git a/lib/core/service/feedback/feedback_service.dart b/lib/core/service/feedback/feedback_service.dart
index 74107585..9df5b0a6 100644
--- a/lib/core/service/feedback/feedback_service.dart
+++ b/lib/core/service/feedback/feedback_service.dart
@@ -1,5 +1,4 @@
import 'dart:io';
-
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/model/feedback/COC_items.dart';
@@ -45,8 +44,7 @@ class FeedbackService extends BaseService {
if (appointHistory != null) {
body['AppoinmentNo'] = appointHistory.appointmentNo;
- body['AppointmentDate'] =
- DateUtil.convertDateToString(appointHistory.appointmentDate);
+ body['AppointmentDate'] = DateUtil.convertDateToString(appointHistory.appointmentDate);
body['ClinicID'] = appointHistory.clinicID;
body['ClinicName'] = appointHistory.clinicName;
body['DoctorID'] = appointHistory.doctorID;
diff --git a/lib/core/service/insurance_service.dart b/lib/core/service/insurance_service.dart
index 7fee6615..790003e9 100644
--- a/lib/core/service/insurance_service.dart
+++ b/lib/core/service/insurance_service.dart
@@ -31,48 +31,9 @@ class InsuranceCardService extends BaseService {
_cardUpdated.clear();
}
- InsuranceCardModel _insuranceCardModel = InsuranceCardModel(
- channel: 3,
- deviceTypeID: 2,
- generalid: "Cs2020@2016\$2958",
- iPAdress: "10.20.10.20",
- isDentalAllowedBackend: false,
- languageID: 1,
- patientID: 1231755,
- patientOutSA: 0,
- patientType: 1,
- patientTypeID: 1,
- sessionID: "uoKFXSLUwEaHYPwKZNA",
- tokenID: "@dm!n",
- versionID: 5.5,
- );
-
- InsuranceUpdateModel _insuranceUpdateModel = InsuranceUpdateModel(
- channel: 3,
- deviceTypeID: 2,
- generalid: "Cs2020@2016\$2958",
- iPAdress: "10.20.10.20",
- isDentalAllowedBackend: false,
- patientID: 1231755,
- patientType: 1,
- versionID: 5.5,
- languageID: 2,
- patientOutSA: 0,
- sessionID: "ENRSJBKXnzCuuVQ",
- );
InsuranceApprovalModel _insuranceApprovalModel = InsuranceApprovalModel(
- versionID: 5.5,
- channel: 3,
- languageID: LANGUAGE_ID,
- iPAdress: "10.20.10.20",
- generalid: "Cs2020@2016\$2958",
- patientOutSA: 0,
- sessionID: "DypNmtMkivzURHjeYg",
isDentalAllowedBackend: false,
- deviceTypeID: 2,
- patientID: 1231755,
- tokenID: "@dm!n",
patientTypeID: 1,
patientType: 1,
eXuldAPPNO: 0,
@@ -89,21 +50,22 @@ class InsuranceCardService extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
- }, body: _insuranceCardModel.toJson());
+ }, body: Map());
}
Future getInsuranceUpdate() async {
hasError = false;
- // _cardList.clear();
+ _cardList.clear();
await baseAppClient.post(GET_PAtIENTS_INSURANCE_UPDATED,
onSuccess: (dynamic response, int statusCode) {
+ _cardUpdated.clear();
response['List_PatientInsuranceCardHistory'].forEach((item) {
_cardUpdated.add(InsuranceUpdateModel.fromJson(item));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
- }, body: _insuranceUpdateModel.toJson());
+ }, body: Map());
}
Future getInsuranceApproval({int appointmentNo}) async {
@@ -163,4 +125,15 @@ class InsuranceCardService extends BaseService {
throw error;
}
}
+ Future getInsuranceDetails(data) async{
+ dynamic localRes;
+ await baseAppClient.post(INSURANCE_DETAILS,
+ onSuccess: (dynamic response, int statusCode) {
+ localRes = response['List_InsuranceCheckList'];
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body:{'CompanyID': data.companyID,'SubCategoryID':data.subCategoryID },);
+ return Future.value(localRes);
+ }
}
diff --git a/lib/core/service/medical/BloodPressureService.dart b/lib/core/service/medical/BloodPressureService.dart
index 048c98e9..f2681191 100644
--- a/lib/core/service/medical/BloodPressureService.dart
+++ b/lib/core/service/medical/BloodPressureService.dart
@@ -3,10 +3,6 @@ import 'package:diplomaticquarterapp/core/model/my_trakers/blood_pressur/BloodPr
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 {
diff --git a/lib/core/service/medical/WeightPressureService.dart b/lib/core/service/medical/WeightPressureService.dart
index 006de821..27048dc8 100644
--- a/lib/core/service/medical/WeightPressureService.dart
+++ b/lib/core/service/medical/WeightPressureService.dart
@@ -1,12 +1,4 @@
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';
diff --git a/lib/core/service/medical/labs_service.dart b/lib/core/service/medical/labs_service.dart
index c1ad65f3..b9b9a16c 100644
--- a/lib/core/service/medical/labs_service.dart
+++ b/lib/core/service/medical/labs_service.dart
@@ -9,10 +9,12 @@ import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
class LabsService extends BaseService {
- RequestPatientLabOrders _requestPatientLabOrders = RequestPatientLabOrders();
List patientLabOrdersList = List();
Future getPatientLabOrdersList() async {
+ hasError = false;
+ Map body = Map();
+ body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_Patient_LAB_ORDERS,
onSuccess: (dynamic response, int statusCode) {
patientLabOrdersList.clear();
@@ -22,7 +24,7 @@ class LabsService extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
- }, body: _requestPatientLabOrders.toJson());
+ }, body: body);
}
RequestPatientLabSpecialResult _requestPatientLabSpecialResult =
@@ -39,7 +41,7 @@ class LabsService extends BaseService {
hasError = false;
_requestPatientLabSpecialResult.projectID = projectID;
_requestPatientLabSpecialResult.clinicID = clinicID;
- _requestPatientLabSpecialResult.invoiceNo = invoiceNo; //'1800296522';//;
+ _requestPatientLabSpecialResult.invoiceNo = invoiceNo;
_requestPatientLabSpecialResult.orderNo = orderNo;
await baseAppClient.post(GET_Patient_LAB_SPECIAL_RESULT,
@@ -59,10 +61,10 @@ class LabsService extends BaseService {
Map body = Map();
body['InvoiceNo'] = patientLabOrder.invoiceNo;
body['OrderNo'] = patientLabOrder.orderNo;
- body['Procedure'] = "U/A";
+ body['isDentalAllowedBackend'] = false;
+ body['SetupID'] = patientLabOrder.setupID;
body['ProjectID'] = patientLabOrder.projectID;
body['ClinicID'] = patientLabOrder.clinicID;
- //TODO Check the res
await baseAppClient.post(GET_Patient_LAB_RESULT,
onSuccess: (dynamic response, int statusCode) {
patientLabSpecialResult.clear();
diff --git a/lib/core/service/medical/my_balance_service.dart b/lib/core/service/medical/my_balance_service.dart
index 27d5d602..e3be9bcf 100644
--- a/lib/core/service/medical/my_balance_service.dart
+++ b/lib/core/service/medical/my_balance_service.dart
@@ -1,11 +1,12 @@
-import 'dart:convert';
-
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
+import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_advance_balance_amount.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart';
+import 'package:diplomaticquarterapp/core/service/AuthenticatedUserObject.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
+import 'package:diplomaticquarterapp/locator.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordsByStatusReq.dart';
import 'package:diplomaticquarterapp/services/family_files/family_files_provider.dart';
@@ -21,6 +22,9 @@ class MyBalanceService extends BaseService {
String logInTokenID;
String verificationCode;
+ AuthenticatedUserObject authenticatedUserObject =
+ locator();
+
getPatientAdvanceBalanceAmount() async {
hasError = false;
super.error = "";
@@ -56,13 +60,14 @@ class MyBalanceService extends BaseService {
}, body: body);
}
- getPatientInfoByPatientIDAndMobileNumber() async {
+ getPatientInfoByPatientIDAndMobileNumber(AdvanceModel advanceModel) async {
hasError = false;
super.error = "";
Map body = Map();
body['isDentalAllowedBackend'] = false;
- body['MobileNo'] = user.mobileNumber;
- body['ProjectID'] = user.projectID;
+ body['MobileNo'] = advanceModel.mobileNumber;
+ body['ProjectID'] = advanceModel.hospitalsModel.iD;
+ body['PatientID'] = advanceModel.fileNumber;
await baseAppClient.post(GET_PATIENT_INFO_BY_ID_AND_MOBILE_NUMBER,
onSuccess: (response, statusCode) async {
@@ -76,7 +81,7 @@ class MyBalanceService extends BaseService {
}, body: body);
}
- sendActivationCodeForAdvancePayment({int patientID,int projectID}) async {
+ sendActivationCodeForAdvancePayment({int patientID, int projectID}) async {
hasError = false;
super.error = "";
Map body = Map();
@@ -106,9 +111,8 @@ class MyBalanceService extends BaseService {
body['LogInTokenID'] = logInTokenID;
await baseAppClient.post(CHECK_ACTIVATION_CODE_FOR_ADVANCE_PAYMENT,
- onSuccess: (response, statusCode) async {
-
- }, onFailure: (String error, int statusCode) {
+ onSuccess: (response, statusCode) async {},
+ onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
super.error = error;
@@ -143,7 +147,7 @@ class MyBalanceService extends BaseService {
await sharedPref.getObject(FAMILY_FILE));
return getAllSharedRecordsByStatusResponse;
} else {
- return getSharedRecordByStatus();
+ return await getSharedRecordByStatus();
}
}
}
diff --git a/lib/core/service/medical/my_doctor_service.dart b/lib/core/service/medical/my_doctor_service.dart
index f2ba067a..3d9e14b7 100644
--- a/lib/core/service/medical/my_doctor_service.dart
+++ b/lib/core/service/medical/my_doctor_service.dart
@@ -22,12 +22,6 @@ class MyDoctorService extends BaseService {
channel: 3,
deviceTypeID: 2,
doctorID: 2477,
- iPAdress: '10.20.10.20',
- languageID: 2,
- patientOutSA: 0,
- sessionID: 'CvsUFeJkyLDnFQqw',
- versionID: 5.5,
- generalid: 'Cs2020@2016\$2958',
isDentalAllowedBackend: false);
Future getPatientDoctorAppointmentList({int top = 0, int beforeDays = 0,int exludType=4}) async {
@@ -52,18 +46,6 @@ class MyDoctorService extends BaseService {
RequestDoctorProfile _requestDoctorProfile = RequestDoctorProfile(
license: true,
isRegistered: true,
- projectID: 12,
- clinicID: 501,
- patientID: 1231755,
- versionID: 5.5,
- channel: 3,
- languageID: 2,
- iPAdress: '10.20.10.20',
- generalid: 'Cs2020@2016\$2958',
- patientOutSA: 0,
- sessionID: 'nstatCtNEmuwxeuVAOUmw',
- isDentalAllowedBackend: false,
- deviceTypeID: 2,
);
Future getDoctorProfileAndRating(
@@ -87,7 +69,7 @@ class MyDoctorService extends BaseService {
}, body: _requestDoctorProfile.toJson());
///GET DOCTOR RATING
- //_requestDoctorRating.doctorID = doctorId;
+ _requestDoctorRating.doctorID = doctorId;
await baseAppClient.post(GET_DOCTOR_RATING,
onSuccess: (dynamic response, int statusCode) {
doctorRating = DoctorRating.fromJson(response['AvgDoctorRatingList'][0]);
diff --git a/lib/core/service/medical/prescriptions_service.dart b/lib/core/service/medical/prescriptions_service.dart
index 294ef897..d6ad3732 100644
--- a/lib/core/service/medical/prescriptions_service.dart
+++ b/lib/core/service/medical/prescriptions_service.dart
@@ -11,40 +11,17 @@ import 'package:diplomaticquarterapp/core/model/prescriptions/request_prescripti
import 'package:diplomaticquarterapp/core/model/prescriptions/request_prescriptions_orders.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/request_send_prescription_email.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart';
+import 'package:flutter/cupertino.dart';
class PrescriptionsService extends BaseService {
List prescriptionsList = List();
- RequestPrescriptions _requestPrescriptions = RequestPrescriptions(
- versionID: 5.5,
- channel: 3,
- languageID: 2,
- iPAdress: '10.20.10.20',
- generalid: 'Cs2020@2016\$2958',
- patientOutSA: 0,
- sessionID: 'KIbLoqkytuKJEWECHQ',
- isDentalAllowedBackend: false,
- deviceTypeID: 2,
- patientID: 1231755,
- tokenID: '@dm!n',
- patientTypeID: 1,
- patientType: 1);
List prescriptionsOrderList = List();
- RequestPrescriptionsOrders _requestPrescriptionsOrders =
- RequestPrescriptionsOrders(
- patientID: 1231755,
- patientOutSA: 0,
- versionID: 5.5,
- channel: 3,
- languageID: 1,
- iPAdress: '10.20.10.20',
- generalid: 'Cs2020@2016\$2958',
- sessionID: 'KIbLoqkytuKJEWECHQ',
- isDentalAllowedBackend: false,
- deviceTypeID: 2);
Future getPrescriptions() async {
hasError = false;
+ Map body = Map();
+ body['isDentalAllowedBackend'] = false;
await baseAppClient.post(PRESCRIPTIONS,
onSuccess: (dynamic response, int statusCode) {
prescriptionsList.clear();
@@ -54,10 +31,12 @@ class PrescriptionsService extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
- }, body: _requestPrescriptions.toJson());
+ }, body: body);
}
Future getPrescriptionsOrders() async {
+ Map body = Map();
+ body['isDentalAllowedBackend'] = false;
await baseAppClient.post(GET_PRESCRIPTIONS_ALL_ORDERS,
onSuccess: (dynamic response, int statusCode) {
prescriptionsOrderList.clear();
@@ -69,41 +48,39 @@ class PrescriptionsService extends BaseService {
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
- }, body: _requestPrescriptionsOrders.toJson());
+ }, body: body);
}
RequestPrescriptionReport _requestPrescriptionReport =
RequestPrescriptionReport(
- appointmentNo: 0,
- channel: 3,
- clinicID: 4,
- deviceTypeID: 2,
- dischargeNo: 2018003246,
- episodeID: 0,
- iPAdress: '10.20.10.20',
- languageID: 1,
- patientID: 1231755,
- patientOutSA: 0,
- patientType: 1,
- patientTypeID: 1,
- projectID: 12,
- sessionID: 'wgKuHpsPsEuLnlJhAYCQ',
- tokenID: '@dm!n',
- setupID: "91877",
- versionID: 5.5,
- generalid: 'Cs2020@2016\$2958',
- isDentalAllowedBackend: false);
+ appointmentNo: 0, isDentalAllowedBackend: false);
List prescriptionReportList = List();
- Future getPrescriptionReport({int dischargeNo}) async {
+ Future getPrescriptionReport(
+ {Prescriptions prescriptions}) async {
hasError = false;
- _requestPrescriptionReport.dischargeNo = dischargeNo;
- await baseAppClient.post(GET_PRESCRIPTION_REPORT,
+ _requestPrescriptionReport.dischargeNo = prescriptions.dischargeNo;
+ _requestPrescriptionReport.projectID = prescriptions.projectID;
+ _requestPrescriptionReport.clinicID = prescriptions.clinicID;
+ _requestPrescriptionReport.setupID = prescriptions.setupID;
+ _requestPrescriptionReport.episodeID = prescriptions.episodeID;
+ _requestPrescriptionReport.appointmentNo = prescriptions.appointmentNo;
+
+ await baseAppClient.post(prescriptions.isInOutPatient? GET_PRESCRIPTION_REPORT_ENH : GET_PRESCRIPTION_REPORT,
onSuccess: (dynamic response, int statusCode) {
prescriptionReportList.clear();
- response['INP_GetPrescriptionReport_List'].forEach((prescriptions) {
- prescriptionReportList.add(PrescriptionReport.fromJson(prescriptions));
- });
+ prescriptionReportEnhList.clear();
+ if(prescriptions.isInOutPatient){
+ response['ListPRM'].forEach((prescriptions) {
+ prescriptionReportEnhList.add(PrescriptionReportEnh.fromJson(prescriptions));
+ });
+ }else{
+ response['INP_GetPrescriptionReport_List'].forEach((prescriptions) {
+ prescriptionReportList.add(PrescriptionReport.fromJson(prescriptions));
+ });
+ }
+
+
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
@@ -112,24 +89,7 @@ class PrescriptionsService extends BaseService {
RequestSendPrescriptionEmail _requestSendPrescriptionEmail =
RequestSendPrescriptionEmail(
- versionID: 5.5,
- languageID: 2,
- channel: 3,
- iPAdress: '10.20.10.20',
- generalid: 'Cs2020@2016\$2958',
- patientOutSA: 0,
- sessionID: 'twIUmHfOHqFdDfVcyw',
- isDentalAllowedBackend: false,
- deviceTypeID: 2,
- tokenID: '@dm!n',
- patientTypeID: 1,
- patientType: 1,
- to: 'aljammalzmohammad@outlook.com',
- dateofBirth: '/Date(536743800000+0300)/',
- patientIditificationNum: '2344670985',
- patientMobileNumber: '537503378',
- patientName: 'TAMER FANASHEH',
- setupID: '91877');
+ isDentalAllowedBackend: false,);
Future sendPrescriptionEmail(String appointmentDate, int patientID,
String clinicName, String doctorName, int projectID) async {
@@ -139,28 +99,25 @@ class PrescriptionsService extends BaseService {
_requestSendPrescriptionEmail.clinicName = clinicName;
_requestSendPrescriptionEmail.doctorName = doctorName;
_requestSendPrescriptionEmail.projectID = projectID;
+ _requestSendPrescriptionEmail.to = user.emailAddress;
+ _requestSendPrescriptionEmail.dateofBirth = user.dateofBirth;
+ _requestSendPrescriptionEmail.patientIditificationNum = user.patientIdentificationNo;
+ _requestSendPrescriptionEmail.patientMobileNumber = user.mobileNumber;
+ _requestSendPrescriptionEmail.patientName = user.firstName +" "+ user.lastName;
+ _requestSendPrescriptionEmail.setupID = user.setupID;
hasError = false;
- await baseAppClient.post(SEND_PRESCRIPTION_EMAIL,
- onFailure: (String error, int statusCode) {
+ await baseAppClient.post(SEND_PRESCRIPTION_EMAIL, onSuccess: (response, statusCode) {},
+ onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: _requestSendPrescriptionEmail.toJson());
}
- RequestGetListPharmacyForPrescriptions
- requestGetListPharmacyForPrescriptions =
- RequestGetListPharmacyForPrescriptions(
+ RequestGetListPharmacyForPrescriptions requestGetListPharmacyForPrescriptions = RequestGetListPharmacyForPrescriptions(
latitude: 0,
longitude: 0,
- versionID: 5.5,
- channel: 3,
- languageID: 2,
- iPAdress: '10.20.10.20',
- generalid: 'Cs2020@2016\$2958',
- patientOutSA: 0,
- sessionID: 'HGNerTUSXhpaHXBg',
isDentalAllowedBackend: false,
- deviceTypeID: 2,
+
);
List pharmacyPrescriptionsList = List();
@@ -180,44 +137,85 @@ class PrescriptionsService extends BaseService {
}, body: requestGetListPharmacyForPrescriptions.toJson());
}
+ RequestPrescriptionReportEnh _requestPrescriptionReportEnh =
+ RequestPrescriptionReportEnh(isDentalAllowedBackend: false,);
- RequestPrescriptionReportEnh _requestPrescriptionReportEnh = RequestPrescriptionReportEnh(
- versionID: 5.5,
- channel: 3,
- languageID: 2,
- iPAdress: '10.20.10.20',
- generalid: 'Cs2020@2016\$2958',
- patientOutSA: 0,
- sessionID: 'bQQdesEKpyYKTFMVNeg',
- isDentalAllowedBackend: false,
- deviceTypeID: 2,
- patientID: 1231755,
- tokenID: '@dm!n',
- patientTypeID: 1,
- patientType: 1,
- setupID: '91877',
- appointmentNo: 5926390,
- episodeID: 140251928,
- clinicID: 25,
- projectID: 12
+ List prescriptionReportEnhList = List();
- );
+ Future getPrescriptionReportEnh({PrescriptionsOrder prescriptionsOrder}) async {
+
+ ///This logic copy from the old app from class [order-history.component.ts] in line 45
+ bool isInPatient = false;
+ prescriptionsList.forEach((element) {
+ if (prescriptionsOrder.appointmentNo == "0") {
+ if (element.dischargeNo == int.parse(prescriptionsOrder.dischargeID)) {
+
+ _requestPrescriptionReportEnh.appointmentNo = element.appointmentNo;
+ _requestPrescriptionReportEnh.clinicID = element.clinicID;
+ _requestPrescriptionReportEnh.projectID = element.projectID;
+ _requestPrescriptionReportEnh.episodeID = element.episodeID;
+ _requestPrescriptionReportEnh.setupID = element.setupID;
+ _requestPrescriptionReportEnh.dischargeNo = element.dischargeNo;
+ isInPatient = element.isInOutPatient;
+ }
+ } else {
+ if (int.parse(prescriptionsOrder.appointmentNo) == element.appointmentNo) {
+ _requestPrescriptionReportEnh.appointmentNo = element.appointmentNo;
+ _requestPrescriptionReportEnh.clinicID = element.clinicID;
+ _requestPrescriptionReportEnh.projectID = element.projectID;
+ _requestPrescriptionReportEnh.episodeID = element.episodeID;
+ _requestPrescriptionReportEnh.setupID = element.setupID;
+ _requestPrescriptionReportEnh.dischargeNo = element.dischargeNo;
+ isInPatient = element.isInOutPatient;///call inpGetPrescriptionReport
+ }
+ }
+ });
- List prescriptionReportEnhList = List();
- Future getPrescriptionReportEnh({PrescriptionsOrder prescriptionsOrder})async{
hasError = false;
- // _requestPrescriptionReportEnh.appointmentNo = int.parse(prescriptionsOrder.appointmentNo);
- // _requestPrescriptionReportEnh.patientID = prescriptionsOrder.projectID;
- await baseAppClient.post(GET_PRESCRIPTION_REPORT_ENH,
+ await baseAppClient.post(isInPatient? GET_PRESCRIPTION_REPORT_ENH : GET_PRESCRIPTION_REPORT,
+ onSuccess: (dynamic response, int statusCode) {
+ prescriptionReportEnhList.clear();
+
+ if(isInPatient){
+ response['ListPRM'].forEach((prescriptions) {
+ prescriptionReportEnhList.add(PrescriptionReportEnh.fromJson(prescriptions));
+ });
+ }else{
+ response['INP_GetPrescriptionReport_List'].forEach((prescriptions) {
+
+ PrescriptionReportEnh reportEnh = PrescriptionReportEnh.fromJson(prescriptions);
+ reportEnh.itemDescription = prescriptions['ItemDescriptionN'];
+ prescriptionReportEnhList.add(reportEnh);
+
+ });
+
+ }
+
+
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body: _requestPrescriptionReportEnh.toJson());
+
+
+ }
+
+ Future updatePressOrder({@required int presOrderID}) async {
+ hasError = false;
+ Map body = Map();
+ body['PresOrderID'] = presOrderID;
+ body['EditedBy'] = user.patientID;
+ body['RejectionReason'] = '';
+ body['PresOrderStatus'] = 4;
+ body['isDentalAllowedBackend'] = false;
+ await baseAppClient.post(UPDATE_PRESS_ORDER,
onSuccess: (dynamic response, int statusCode) {
- prescriptionReportEnhList.clear();
- response['ListPRM'].forEach((prescriptions) {
- prescriptionReportEnhList.add(PrescriptionReportEnh.fromJson(prescriptions));
- });
+
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
- }, body: _requestPrescriptionReportEnh.toJson());
+ }, body: body);
}
+
}
diff --git a/lib/core/service/medical/reports_monthly_service.dart b/lib/core/service/medical/reports_monthly_service.dart
index 5e643669..479360ac 100644
--- a/lib/core/service/medical/reports_monthly_service.dart
+++ b/lib/core/service/medical/reports_monthly_service.dart
@@ -12,19 +12,8 @@ class ReportsMonthlyService extends BaseService {
isReport: true,
encounterType: 1,
requestType: 1,
- versionID: 5.5,
- channel: 3,
- languageID: 2,
- iPAdress: "10.20.10.20",
- generalid: 'Cs2020@2016\$2958',
- patientOutSA: 0,
- sessionID: 'KIbLoqkytuKJEWECHQ',
isDentalAllowedBackend: false,
- deviceTypeID: 2,
- patientID: 1231755,
- tokenID: '@dm!n',
- patientTypeID: 1,
- patientType: 1);
+ );
Future getReports() async {
hasError = false;
diff --git a/lib/core/service/medical/reports_service.dart b/lib/core/service/medical/reports_service.dart
index 316872ed..19f86e2e 100644
--- a/lib/core/service/medical/reports_service.dart
+++ b/lib/core/service/medical/reports_service.dart
@@ -12,19 +12,8 @@ class ReportsService extends BaseService {
isReport: true,
encounterType: 1,
requestType: 1,
- versionID: 5.5,
- channel: 3,
- languageID: 2,
- iPAdress: "10.20.10.20",
- generalid: 'Cs2020@2016\$2958',
patientOutSA: 0,
- sessionID: 'KIbLoqkytuKJEWECHQ',
- isDentalAllowedBackend: false,
- deviceTypeID: 2,
- patientID: 1231755,
- tokenID: '@dm!n',
- patientTypeID: 1,
- patientType: 1);
+ );
Future getReports() async {
hasError = false;
diff --git a/lib/core/service/notifications_service.dart b/lib/core/service/notifications_service.dart
new file mode 100644
index 00000000..f2cac55e
--- /dev/null
+++ b/lib/core/service/notifications_service.dart
@@ -0,0 +1,40 @@
+import 'package:diplomaticquarterapp/config/config.dart';
+import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_request_model.dart';
+import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/notifications/mark_message_as_read_request_model.dart';
+import 'package:diplomaticquarterapp/core/service/base_service.dart';
+
+class NotificationService extends BaseService {
+ List notificationsList = List();
+
+ Future getAllNotifications(GetNotificationsRequestModel getNotificationsRequestModel ) async {
+ hasError = false;
+ await baseAppClient.post(PUSH_NOTIFICATION_GET_ALL_NOTIFICATIONS,
+ onSuccess: (dynamic response, int statusCode) {
+ if(getNotificationsRequestModel.currentPage ==0)
+ notificationsList.clear();
+ response['List_GetAllNotificationsFromPool'].forEach((appoint) {
+ notificationsList.add(GetNotificationsResponseModel.fromJson(appoint));
+ });
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body: getNotificationsRequestModel.toJson());
+ }
+ Future markAsRead(MarkMessageAsReadRequestModel markMessageAsReadRequestModel ) async {
+ hasError = false;
+ await baseAppClient.post(PUSH_NOTIFICATION_SET_MESSAGES_FROM_POOL_AS_READ,
+ onSuccess: (dynamic response, int statusCode) {
+ updateNotification(markMessageAsReadRequestModel.notificationPoolID);
+ }, onFailure: (String error, int statusCode) {
+ hasError = true;
+ super.error = error;
+ }, body: markMessageAsReadRequestModel.toJson());
+ }
+
+ updateNotification(id) {
+ int index = notificationsList.indexWhere((element) => element.id == id);
+ notificationsList[index].isRead = true;
+
+ }
+}
diff --git a/lib/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart b/lib/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart
new file mode 100644
index 00000000..5bde5a5f
--- /dev/null
+++ b/lib/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart
@@ -0,0 +1,136 @@
+class AddNewAddressRequestModel {
+ Customer customer;
+
+ AddNewAddressRequestModel({this.customer});
+
+ AddNewAddressRequestModel.fromJson(Map json) {
+ customer = json['customer'] != null
+ ? new Customer.fromJson(json['customer'])
+ : null;
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ if (this.customer != null) {
+ data['customer'] = this.customer.toJson();
+ }
+ return data;
+ }
+}
+
+class Customer {
+ List addresses;
+ int id;
+ String email;
+ List roleIds;
+
+ Customer({this.addresses, this.id, this.email, this.roleIds});
+
+ Customer.fromJson(Map json) {
+ if (json['addresses'] != null) {
+ addresses = new List();
+ json['addresses'].forEach((v) {
+ addresses.add(new Addresses.fromJson(v));
+ });
+ }
+ id = json['id'];
+ email = json['email'];
+ roleIds = json['role_ids'].cast();
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ if (this.addresses != null) {
+ data['addresses'] = this.addresses.map((v) => v.toJson()).toList();
+ }
+ data['id'] = this.id;
+ data['email'] = this.email;
+ data['role_ids'] = this.roleIds;
+ return data;
+ }
+}
+
+class Addresses {
+ int id;
+ String firstName;
+ String lastName;
+ String email;
+ Null company;
+ int countryId;
+ String country;
+ Null stateProvinceId;
+ String city;
+ String address1;
+ String address2;
+ String zipPostalCode;
+ String phoneNumber;
+ Null faxNumber;
+ String customerAttributes;
+ String createdOnUtc;
+ Null province;
+ String latLong;
+
+ Addresses(
+ {this.id,
+ this.firstName,
+ this.lastName,
+ this.email,
+ this.company,
+ this.countryId,
+ this.country,
+ this.stateProvinceId,
+ this.city,
+ this.address1,
+ this.address2,
+ this.zipPostalCode,
+ this.phoneNumber,
+ this.faxNumber,
+ this.customerAttributes,
+ this.createdOnUtc,
+ this.province,
+ this.latLong});
+
+ Addresses.fromJson(Map json) {
+ id = json['id'];
+ firstName = json['first_name'];
+ lastName = json['last_name'];
+ email = json['email'];
+ company = json['company'];
+ countryId = json['country_id'];
+ country = json['country'];
+ stateProvinceId = json['state_province_id'];
+ city = json['city'];
+ address1 = json['address1'];
+ address2 = json['address2'];
+ zipPostalCode = json['zip_postal_code'];
+ phoneNumber = json['phone_number'];
+ faxNumber = json['fax_number'];
+ customerAttributes = json['customer_attributes'];
+ createdOnUtc = json['created_on_utc'];
+ province = json['province'];
+ latLong = json['lat_long'];
+ }
+
+ Map toJson() {
+ final Map data = new Map();
+ data['id'] = this.id;
+ data['first_name'] = this.firstName;
+ data['last_name'] = this.lastName;
+ data['email'] = this.email;
+ data['company'] = this.company;
+ data['country_id'] = this.countryId;
+ data['country'] = this.country;
+ data['state_province_id'] = this.stateProvinceId;
+ data['city'] = this.city;
+ data['address1'] = this.address1;
+ data['address2'] = this.address2;
+ data['zip_postal_code'] = this.zipPostalCode;
+ data['phone_number'] = this.phoneNumber;
+ data['fax_number'] = this.faxNumber;
+ data['customer_attributes'] = this.customerAttributes;
+ data['created_on_utc'] = this.createdOnUtc;
+ data['province'] = this.province;
+ data['lat_long'] = this.latLong;
+ return data;
+ }
+}
diff --git a/lib/core/viewModels/AlHabibMedicalService/cmc_view_model.dart b/lib/core/viewModels/AlHabibMedicalService/cmc_view_model.dart
index bf3404a9..0774e5a7 100644
--- a/lib/core/viewModels/AlHabibMedicalService/cmc_view_model.dart
+++ b/lib/core/viewModels/AlHabibMedicalService/cmc_view_model.dart
@@ -9,14 +9,19 @@ import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealth
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/cmc_service.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import '../../../locator.dart';
+import 'add_new_address_Request_Model.dart';
class CMCViewModel extends BaseViewModel {
CMCService _cMCService =
locator();
-
+ CustomerAddressesService _customerAddressesService =
+ locator();
+ List get addressesList =>
+ _customerAddressesService.addressesList;
List get cmcAllServicesList =>
_cMCService.cmcAllServicesList;
@@ -94,7 +99,6 @@ class CMCViewModel extends BaseViewModel {
await _cMCService
.getOrderDetailByOrderID(getOrderDetailByOrderIDRequestModel);
}
- //TODO check it in uat
Future insertPresPresOrder({CMCInsertPresOrderRequestModel order}) async {
setState(ViewState.Busy);
order.createdBy = user.patientID;
@@ -107,4 +111,44 @@ class CMCViewModel extends BaseViewModel {
getCmcAllPresOrders();
}
}
+
+ Future getCustomerAddresses() async {
+ setState(ViewState.Busy);
+ await _customerAddressesService.getCustomerAddresses(
+ );
+ if (_customerAddressesService.hasError) {
+ error = _customerAddressesService.error;
+ setState(ViewState.ErrorLocal);
+ } else {
+ setState(ViewState.Idle);
+ }
+ }
+
+ Future getCustomerInfo() async {
+ setState(ViewState.Busy);
+ await _customerAddressesService.getCustomerInfo(
+ );
+ if (_customerAddressesService.hasError) {
+ error = _customerAddressesService.error;
+ setState(ViewState.ErrorLocal);
+ } else {
+ await getCustomerAddresses();
+ }
+ }
+
+ Future addAddressInfo(
+ {AddNewAddressRequestModel addNewAddressRequestModel}) async {
+
+
+ setState(ViewState.Busy);
+ await _customerAddressesService.addAddressInfo(
+ addNewAddressRequestModel: addNewAddressRequestModel
+ );
+ if (_customerAddressesService.hasError) {
+ error = _customerAddressesService.error;
+ setState(ViewState.ErrorLocal);
+ } else {
+ setState(ViewState.Idle);
+ }
+ }
}
\ No newline at end of file
diff --git a/lib/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart b/lib/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart
index 031d0a0c..20a19b23 100644
--- a/lib/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart
+++ b/lib/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart
@@ -8,18 +8,28 @@ import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealth
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_insert_pres_order_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/home_health_care_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
+import 'package:intl/intl.dart';
import '../../../locator.dart';
+import 'add_new_address_Request_Model.dart';
class HomeHealthCareViewModel extends BaseViewModel {
HomeHealthCareService _homeHealthCareService =
locator();
+ CustomerAddressesService _customerAddressesService =
+ locator();
+
List get hhcAllServicesList =>
_homeHealthCareService.hhcAllServicesList;
+
+ List get addressesList =>
+ _customerAddressesService.addressesList;
+
List get hhcAllPresOrders =>
_homeHealthCareService.hhcAllPresOrdersList;
@@ -93,5 +103,44 @@ class HomeHealthCareViewModel extends BaseViewModel {
}
+ Future getCustomerAddresses() async {
+ setState(ViewState.Busy);
+ await _customerAddressesService.getCustomerAddresses(
+ );
+ if (_customerAddressesService.hasError) {
+ error = _customerAddressesService.error;
+ setState(ViewState.ErrorLocal);
+ } else {
+ setState(ViewState.Idle);
+ }
+ }
+
+ Future getCustomerInfo() async {
+ setState(ViewState.Busy);
+ await _customerAddressesService.getCustomerInfo(
+ );
+ if (_customerAddressesService.hasError) {
+ error = _customerAddressesService.error;
+ setState(ViewState.ErrorLocal);
+ } else {
+ await getCustomerAddresses();
+ }
+ }
+
+ Future addAddressInfo(
+ {AddNewAddressRequestModel addNewAddressRequestModel}) async {
+
+ setState(ViewState.Busy);
+ await _customerAddressesService.addAddressInfo(
+ addNewAddressRequestModel: addNewAddressRequestModel
+ );
+ if (_customerAddressesService.hasError) {
+ error = _customerAddressesService.error;
+ setState(ViewState.ErrorLocal);
+ } else {
+ setState(ViewState.Idle);
+ }
+ }
+
}
\ No newline at end of file
diff --git a/lib/core/viewModels/all_habib_medical_services/e_referral_view_model.dart b/lib/core/viewModels/all_habib_medical_services/e_referral_view_model.dart
index 1972e08f..45adb6d3 100644
--- a/lib/core/viewModels/all_habib_medical_services/e_referral_view_model.dart
+++ b/lib/core/viewModels/all_habib_medical_services/e_referral_view_model.dart
@@ -4,6 +4,7 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/check_activation_code_for_e_referral_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/create_e_referral_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_cities_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_projects_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_relationship_types_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_e_referral_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/search_e_referral_response_model.dart';
@@ -18,64 +19,92 @@ class EReferralViewModel extends BaseViewModel {
List get relationTypes =>
_eReferralService.relationTypes;
+
List get allCities => _eReferralService.allCities;
- List get allReferral => _eReferralService.allReferral;
+ List get allHospitals =>
+ _eReferralService.allProjects;
+ List get allReferral =>
+ _eReferralService.allReferral;
- void getRelationTypes() async {
+ void getRelationTypes() async {
setState(ViewState.Busy);
await _eReferralService.getRelationTypes();
if (_eReferralService.hasError) {
error = _eReferralService.error;
setState(ViewState.Error);
- } else{
+ } else {
setState(ViewState.Idle);
}
}
- void getAllCities() async {
+
+ void getAllCities() async {
setState(ViewState.Busy);
await _eReferralService.getAllCities();
if (_eReferralService.hasError) {
error = _eReferralService.error;
setState(ViewState.Error);
- } else{
+ } else {
setState(ViewState.Idle);
}
}
- void sendActivationCodeForEReferral(SendActivationCodeForEReferralRequestModel sendActivationCodeForEReferralRequestModel) async {
+ void getAllProjects() async {
+ setState(ViewState.Busy);
+ await _eReferralService.getAllProjects();
+ if (_eReferralService.hasError) {
+ error = _eReferralService.error;
+ setState(ViewState.Error);
+ } else {
+ setState(ViewState.Idle);
+ }
+ }
+
+ void sendActivationCodeForEReferral(
+ SendActivationCodeForEReferralRequestModel
+ sendActivationCodeForEReferralRequestModel) async {
setState(ViewState.BusyLocal);
- await _eReferralService.sendActivationCodeForEReferral(sendActivationCodeForEReferralRequestModel);
+ await _eReferralService.sendActivationCodeForEReferral(
+ sendActivationCodeForEReferralRequestModel);
if (_eReferralService.hasError) {
error = _eReferralService.error;
setState(ViewState.ErrorLocal);
- } else{
+ } else {
setState(ViewState.Idle);
}
}
- checkActivationCodeForEReferral(CheckActivationCodeForEReferralResponseModel checkActivationCodeForEReferralRequestModel) async {
+ checkActivationCodeForEReferral(
+ CheckActivationCodeForEReferralResponseModel
+ checkActivationCodeForEReferralRequestModel) async {
setState(ViewState.BusyLocal);
- await _eReferralService.checkActivationCodeForEReferral(checkActivationCodeForEReferralRequestModel);
+ await _eReferralService.checkActivationCodeForEReferral(
+ checkActivationCodeForEReferralRequestModel);
if (_eReferralService.hasError) {
error = _eReferralService.error;
setState(ViewState.ErrorLocal);
- } else{
+ } else {
setState(ViewState.Idle);
}
}
- void createEReferral(
+ Future createEReferral(
CreateEReferralRequestModel createEReferralRequestModel) async {
+ dynamic localRes;
setState(ViewState.BusyLocal);
- await _eReferralService.createEReferral(createEReferralRequestModel);
+ await _eReferralService
+ .createEReferral(createEReferralRequestModel)
+ .then((response) {
+ localRes = response;
+ });
if (_eReferralService.hasError) {
error = _eReferralService.error;
setState(ViewState.ErrorLocal);
} else {
setState(ViewState.Idle);
}
+ return Future.value(localRes);
}
getEReferrals(SearchEReferralRequestModel searchEReferralRequestModel) async {
diff --git a/lib/core/viewModels/base_view_model.dart b/lib/core/viewModels/base_view_model.dart
index 18ab02e3..d8ea5196 100644
--- a/lib/core/viewModels/base_view_model.dart
+++ b/lib/core/viewModels/base_view_model.dart
@@ -30,6 +30,9 @@ class BaseViewModel extends ChangeNotifier {
}
BaseViewModel() {
+ //authenticatedUserObject.getUser();
+ user = authenticatedUserObject.user;
+ this.isLogin = authenticatedUserObject.isLogin;
_getUser();
}
diff --git a/lib/core/viewModels/child_vaccines/add_new_child_view_model.dart b/lib/core/viewModels/child_vaccines/add_new_child_view_model.dart
index eebaca02..2559c074 100644
--- a/lib/core/viewModels/child_vaccines/add_new_child_view_model.dart
+++ b/lib/core/viewModels/child_vaccines/add_new_child_view_model.dart
@@ -13,7 +13,6 @@ class AddNewChildViewModel extends BaseViewModel {
CreteNewBabyService _creteNewBabyService = locator();
ChildVaccinesService _childVaccinesService = locator();
- // DeleteBabyService _deleteBabyService = locator();
bool isAdded = false;
///create new baby
createNewBabyOrders({ CreateNewBaby newChild}) async {
@@ -25,13 +24,7 @@ class AddNewChildViewModel extends BaseViewModel {
} else {
isAdded = true;
setState(ViewState.Idle);
- await _childVaccinesService.getAllBabyInformationOrders();
- if (_childVaccinesService.hasError) {
- error = _childVaccinesService.error;
- setState(ViewState.Error);
- } else{
- }
}
}
diff --git a/lib/core/viewModels/child_vaccines/child_vaccines_view_model.dart b/lib/core/viewModels/child_vaccines/child_vaccines_view_model.dart
index 7c4af285..a713b6ec 100644
--- a/lib/core/viewModels/child_vaccines/child_vaccines_view_model.dart
+++ b/lib/core/viewModels/child_vaccines/child_vaccines_view_model.dart
@@ -16,14 +16,11 @@ class ChildVaccinesViewModel extends BaseViewModel{
List get babyInformationModelList=> _childVaccinesService.babyInformationModelList;
-
-//===========
CreteNewBabyService _creteNewBabyService = locator();
DeleteBabyService _deleteBabyService = locator();
bool isAdded = false;
bool isDeleted = false;
- //============
getNewUserOrders() async {
@@ -48,25 +45,15 @@ class ChildVaccinesViewModel extends BaseViewModel{
///delete baby
- deleteBabyOrders({ DeleteBaby newChild}) async {
+ deleteBabyOrders({ List_BabyInformationModel babyInfo}) async {
setState(ViewState.Busy);
- //await _creteNewBabyService.getCreateNewBabyOrders(newChild: newChild, userID: _childVaccinesService.userID);
- await _deleteBabyService.getDeleteBabyOrder(deleteChild: newChild,babyID: newChild.babyID);
- //getDeleteBabyOrder(deleteChild: newChild,);
- // getDeleteBabyOrder
- if (_creteNewBabyService.hasError) {
- error = _creteNewBabyService.error;
+ await _deleteBabyService.getDeleteBabyOrder(babyInfo: babyInfo);
+ if (_deleteBabyService.hasError) {
+ error = _deleteBabyService.error;
setState(ViewState.Error);
} else {
isDeleted = true;
- setState(ViewState.Idle);
- await _childVaccinesService.getAllBabyInformationOrders();
- if (_childVaccinesService.hasError) {
- error = _childVaccinesService.error;
- setState(ViewState.Error);
- } else{
-
- }
+ getBabyInformatioRequestOrders();
}
}
diff --git a/lib/core/viewModels/child_vaccines/user_information_view_model.dart b/lib/core/viewModels/child_vaccines/user_information_view_model.dart
index 43269f42..e183ee42 100644
--- a/lib/core/viewModels/child_vaccines/user_information_view_model.dart
+++ b/lib/core/viewModels/child_vaccines/user_information_view_model.dart
@@ -8,8 +8,7 @@ class UserInformationViewModel extends BaseViewModel {
UserInformationService _userInformationService =
locator();
- List get userInformationModelList =>
- _userInformationService.userInformationModelList;
+ List_UserInformationModel get userInformationModelList => _userInformationService.userInformationModel;
getUserInformationRequestOrders() async {
setState(ViewState.Busy);
@@ -20,4 +19,15 @@ class UserInformationViewModel extends BaseViewModel {
} else
setState(ViewState.Idle);
}
+
+ updateEmail(String email)async{
+ setState(ViewState.Busy);
+ await _userInformationService.updateEmail(email);
+ await _userInformationService.updateUserInfo(email);
+ if (_userInformationService.hasError) {
+ error = _userInformationService.error;
+ setState(ViewState.Error);
+ } else
+ await getUserInformationRequestOrders();
+ }
}
diff --git a/lib/core/viewModels/child_vaccines/vaccination_table_view_model.dart b/lib/core/viewModels/child_vaccines/vaccination_table_view_model.dart
index 3b72dd50..25559b81 100644
--- a/lib/core/viewModels/child_vaccines/vaccination_table_view_model.dart
+++ b/lib/core/viewModels/child_vaccines/vaccination_table_view_model.dart
@@ -1,30 +1,27 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
-import 'package:diplomaticquarterapp/core/model/childvaccines/add_newchild_model.dart';
+import 'package:diplomaticquarterapp/core/model/childvaccines/List_BabyInformationModel.dart';
import 'package:diplomaticquarterapp/core/model/childvaccines/create_vaccination_table.dart';
-import 'package:diplomaticquarterapp/core/service/childvaccines/add_new_child_service.dart';
+import 'package:diplomaticquarterapp/core/model/childvaccines/user_information_model.dart';
import 'package:diplomaticquarterapp/core/service/childvaccines/vaccination_table_service.dart';
import '../../../locator.dart';
import '../base_view_model.dart';
+class VaccinationTableViewModel extends BaseViewModel {
+ VaccinationTableService _creteVaccinationTableService =
+ locator();
-class VaccinationTableViewModel extends BaseViewModel{
+ List get creteVaccinationTableModelList =>
+ _creteVaccinationTableService.createVaccinationTableModelList;
- VaccinationTableService _creteVaccinationTableService = locator();
-
- // String get creteVaccinationTableContent => _creteVaccinationTableService.userAgreementContent;
- //String get userAgreementContent => _creteNewBabyService.v//_reportsService.userAgreementContent;
- List get creteVaccinationTableModelList=> _creteVaccinationTableService.createVaccinationTableModelList;//.createNewBabyModelList;
- getCreateVaccinationTable() async {
+ getCreateVaccinationTable({List_BabyInformationModel babyInfo, List_UserInformationModel informationModel, bool isSendEmail =false}) async {
setState(ViewState.Busy);
- await _creteVaccinationTableService.getCreateVaccinationTableOrders();//getCreateNewBabyOrders();
-
- if ( _creteVaccinationTableService.hasError) {
- error = _creteVaccinationTableService.error;
+ await _creteVaccinationTableService.getCreateVaccinationTableOrders(babyInfo: babyInfo,informationModel: informationModel,isSendEmail: isSendEmail);
+ if (_creteVaccinationTableService.hasError) {
+ error = _creteVaccinationTableService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
-
}
diff --git a/lib/core/viewModels/dashboard_view_model.dart b/lib/core/viewModels/dashboard_view_model.dart
index e2523120..4cf22b23 100644
--- a/lib/core/viewModels/dashboard_view_model.dart
+++ b/lib/core/viewModels/dashboard_view_model.dart
@@ -10,7 +10,7 @@ class DashboardViewModel extends BaseViewModel {
String bloadType = "";
getPatientRadOrders() async {
- if (!isLogin && _vitalSignService.weightKg.isEmpty) {
+ if (isLogin && _vitalSignService.weightKg.isEmpty) {
setState(ViewState.Busy);
await _vitalSignService.getPatientRadOrders();
if (_vitalSignService.hasError) {
diff --git a/lib/core/viewModels/feedback/feedback_view_model.dart b/lib/core/viewModels/feedback/feedback_view_model.dart
index d5f14e2d..4956024d 100644
--- a/lib/core/viewModels/feedback/feedback_view_model.dart
+++ b/lib/core/viewModels/feedback/feedback_view_model.dart
@@ -3,6 +3,8 @@ import 'package:diplomaticquarterapp/core/model/feedback/COC_items.dart';
import 'package:diplomaticquarterapp/core/service/feedback/feedback_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/pages/feedback/appointment_history.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
+import 'package:flutter/cupertino.dart';
import '../../../locator.dart';
@@ -22,7 +24,31 @@ class FeedbackViewModel extends BaseViewModel {
MessageType messageType = MessageType.NON;
MessageType messageTypeDialog = MessageType.NON;
- String selected = "not selected";
+
+
+ String getSelected(BuildContext context) {
+ switch (messageType) {
+ case MessageType.ComplaintOnAnAppointment:
+ return TranslationBase.of(context).complainAppo;
+ break;
+ case MessageType.ComplaintWithoutAppointment:
+ return TranslationBase.of(context).complainWithoutAppo;
+ break;
+ case MessageType.Question:
+ return TranslationBase.of(context).question;
+ break;
+ case MessageType.Compliment:
+ return TranslationBase.of(context).compliment;
+ break;
+ case MessageType.Suggestion:
+ return TranslationBase.of(context).suggestion;
+ break;
+ case MessageType.NON:
+ return TranslationBase.of(context).notClassified;
+ break;
+ }
+ return TranslationBase.of(context).notClassified;
+ }
setMessageDialogType(MessageType messageType) {
messageTypeDialog = messageType;
@@ -33,19 +59,14 @@ class FeedbackViewModel extends BaseViewModel {
this.messageType = messageType;
switch (messageType) {
case MessageType.ComplaintOnAnAppointment:
- selected = "Complaint on an appointment";
break;
case MessageType.ComplaintWithoutAppointment:
- selected = "Complaint without appointment";
break;
case MessageType.Question:
- selected = "Question";
break;
case MessageType.Compliment:
- selected = "Compliment";
break;
case MessageType.Suggestion:
- selected = "Suggestion";
break;
case MessageType.NON:
break;
diff --git a/lib/core/viewModels/insurance_card_View_model.dart b/lib/core/viewModels/insurance_card_View_model.dart
index e99a53f6..7029f082 100644
--- a/lib/core/viewModels/insurance_card_View_model.dart
+++ b/lib/core/viewModels/insurance_card_View_model.dart
@@ -65,11 +65,12 @@ class InsuranceViewModel extends BaseViewModel {
}
Future getFamilyFiles() async {
- await _insuranceCardService.getFamilyFiles();
+ await _insuranceCardService.getSharedRecordByStatus();
if (_insuranceCardService.hasError) {
error = _insuranceCardService.error;
setState(ViewState.Error);
} else
setState(ViewState.Idle);
}
+
}
diff --git a/lib/core/viewModels/medical/labs_view_model.dart b/lib/core/viewModels/medical/labs_view_model.dart
index 8cbf0efc..582ee745 100644
--- a/lib/core/viewModels/medical/labs_view_model.dart
+++ b/lib/core/viewModels/medical/labs_view_model.dart
@@ -82,6 +82,8 @@ class LabsViewModel extends BaseViewModel {
List get labResultList => _labsService.labResultList;
+ List labResultLists = List();
+
getLaboratoryResult(
{String projectID,
int clinicID,
@@ -110,6 +112,24 @@ class LabsViewModel extends BaseViewModel {
error = _labsService.error;
setState(ViewState.Error);
} else {
+ _labsService.labResultList.forEach((element) {
+ List patientLabOrdersClinic =
+ labResultLists
+ .where((elementClinic) =>
+ elementClinic.filterName == element.testCode)
+ .toList();
+
+ if (patientLabOrdersClinic.length != 0) {
+ labResultLists[labResultLists.indexOf(patientLabOrdersClinic[0])]
+ .patientLabResultList
+ .add(element);
+ } else {
+ labResultLists.add(LabResultList(
+ filterName: element.testCode,
+ lab: element));
+ }
+
+ });
setState(ViewState.Idle);
}
}
diff --git a/lib/core/viewModels/medical/medical_view_model.dart b/lib/core/viewModels/medical/medical_view_model.dart
index f8b14c6e..52fd221a 100644
--- a/lib/core/viewModels/medical/medical_view_model.dart
+++ b/lib/core/viewModels/medical/medical_view_model.dart
@@ -14,7 +14,6 @@ class MedicalViewModel extends BaseViewModel {
getAppointmentHistory() async {
if (authenticatedUserObject.isLogin) {
setState(ViewState.Busy);
- if (_medicalService.appoitmentAllHistoryResultList.length == 0)
await _medicalService.getAppointmentHistory();
if (_medicalService.hasError) {
error = _medicalService.error;
diff --git a/lib/core/viewModels/medical/my_balance_view_model.dart b/lib/core/viewModels/medical/my_balance_view_model.dart
index b110edcb..62b7868b 100644
--- a/lib/core/viewModels/medical/my_balance_view_model.dart
+++ b/lib/core/viewModels/medical/my_balance_view_model.dart
@@ -2,6 +2,7 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/blood_groub_details.dart';
import 'package:diplomaticquarterapp/core/model/blooddonation/get_all_cities.dart';
import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
+import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_advance_balance_amount.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info.dart';
import 'package:diplomaticquarterapp/core/model/my_balance/patient_info_and_mobile_number.dart';
@@ -25,11 +26,15 @@ class MyBalanceViewModel extends BaseViewModel {
_myBalanceService.patientAdvanceBalanceAmountList;
//========================
- BloodDonationService _bloodDonationService =locator();
- List get CitiesModelList => _bloodDonationService.CitiesModelList;
- BloodDetailsService _bloodDetailsService =locator();
- List get BloodDetailsModelList => _bloodDetailsService.BloodModelList;//_bloodDonationService.CitiesModelList;
+ BloodDonationService _bloodDonationService = locator();
+ List get CitiesModelList =>
+ _bloodDonationService.CitiesModelList;
+ BloodDetailsService _bloodDetailsService = locator();
+
+ List get BloodDetailsModelList =>
+ _bloodDetailsService
+ .BloodModelList; //_bloodDonationService.CitiesModelList;
//===========================
@@ -44,8 +49,8 @@ class MyBalanceViewModel extends BaseViewModel {
PatientInfoAndMobileNumber get patientInfoAndMobileNumber =>
_myBalanceService.patientInfoAndMobileNumber;
-
String get logInTokenID => _myBalanceService.logInTokenID;
+
String get verificationCode => _myBalanceService.verificationCode;
getPatientAdvanceBalanceAmount() async {
@@ -68,6 +73,7 @@ class MyBalanceViewModel extends BaseViewModel {
} else
setState(ViewState.Idle);
}
+
//==============
Future getCities() async {
setState(ViewState.Busy);
@@ -79,9 +85,11 @@ class MyBalanceViewModel extends BaseViewModel {
} else
setState(ViewState.Idle);
}
+
Future getBlood() async {
setState(ViewState.Busy);
- await _bloodDetailsService .getAllBloodOrders();;
+ await _bloodDetailsService.getAllBloodOrders();
+ ;
if (_bloodDetailsService.hasError) {
error = _bloodDetailsService.error;
@@ -89,6 +97,7 @@ class MyBalanceViewModel extends BaseViewModel {
} else
setState(ViewState.Idle);
}
+
//===============
Future getPatientInfoByPatientID({String id}) async {
@@ -103,9 +112,10 @@ class MyBalanceViewModel extends BaseViewModel {
}
}
- Future getPatientInfoByPatientIDAndMobileNumber() async {
+ Future getPatientInfoByPatientIDAndMobileNumber(AdvanceModel advanceModel) async {
setState(ViewState.Busy);
- await _myBalanceService.getPatientInfoByPatientIDAndMobileNumber();
+ await _myBalanceService
+ .getPatientInfoByPatientIDAndMobileNumber(advanceModel);
if (_myBalanceService.hasError) {
error = _myBalanceService.error;
setState(ViewState.ErrorLocal);
@@ -115,9 +125,11 @@ class MyBalanceViewModel extends BaseViewModel {
}
}
- Future sendActivationCodeForAdvancePayment({int patientID,int projectID}) async {
+ Future sendActivationCodeForAdvancePayment(
+ {int patientID, int projectID}) async {
setState(ViewState.Busy);
- await _myBalanceService.sendActivationCodeForAdvancePayment(patientID: patientID,projectID: projectID);
+ await _myBalanceService.sendActivationCodeForAdvancePayment(
+ patientID: patientID, projectID: projectID);
if (_myBalanceService.hasError) {
error = _myBalanceService.error;
setState(ViewState.ErrorLocal);
@@ -126,9 +138,12 @@ class MyBalanceViewModel extends BaseViewModel {
setState(ViewState.Idle);
}
}
- Future checkActivationCodeForAdvancePayment({String activationCode}) async {
+
+ Future checkActivationCodeForAdvancePayment(
+ {String activationCode, String patientMobileNumber}) async {
setState(ViewState.Busy);
- await _myBalanceService.checkActivationCodeForAdvancePayment(activationCode: activationCode);
+ await _myBalanceService.checkActivationCodeForAdvancePayment(
+ activationCode: activationCode);
if (_myBalanceService.hasError) {
error = _myBalanceService.error;
setState(ViewState.ErrorLocal);
@@ -139,7 +154,7 @@ class MyBalanceViewModel extends BaseViewModel {
Future getFamilyFiles() async {
setState(ViewState.Busy);
- await _myBalanceService.getFamilyFiles();
+ await _myBalanceService.getSharedRecordByStatus();
if (_myBalanceService.hasError) {
error = _myBalanceService.error;
setState(ViewState.ErrorLocal);
diff --git a/lib/core/viewModels/medical/prescriptions_view_model.dart b/lib/core/viewModels/medical/prescriptions_view_model.dart
index 27b954d4..1cd934e2 100644
--- a/lib/core/viewModels/medical/prescriptions_view_model.dart
+++ b/lib/core/viewModels/medical/prescriptions_view_model.dart
@@ -3,6 +3,7 @@ import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_repor
import 'package:diplomaticquarterapp/core/model/prescriptions/prescription_report_enh.dart';
import 'package:diplomaticquarterapp/core/model/prescriptions/prescriptions_order.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
+import 'package:flutter/cupertino.dart';
import '../../../core/enum/filter_type.dart';
import '../../../core/enum/viewstate.dart';
@@ -102,9 +103,9 @@ class PrescriptionsViewModel extends BaseViewModel {
notifyListeners();
}
- getPrescriptionReport({int dischargeNo}) async {
+ getPrescriptionReport({Prescriptions prescriptions}) async {
setState(ViewState.Busy);
- await _prescriptionsService.getPrescriptionReport(dischargeNo: dischargeNo);
+ await _prescriptionsService.getPrescriptionReport(prescriptions: prescriptions);
if (_prescriptionsService.hasError) {
error = _prescriptionsService.error;
setState(ViewState.ErrorLocal);
@@ -157,4 +158,16 @@ class PrescriptionsViewModel extends BaseViewModel {
}
}
+
+ Future updatePressOrder({@required int presOrderID}) async {
+ setState(ViewState.Busy);
+ await _prescriptionsService.updatePressOrder(presOrderID: presOrderID);
+ if (_prescriptionsService.hasError) {
+ error = _prescriptionsService.error;
+ setState(ViewState.Error);
+ } else {
+ await getPrescriptions();
+ }
+ }
+
}
diff --git a/lib/core/viewModels/notifications_view_model.dart b/lib/core/viewModels/notifications_view_model.dart
new file mode 100644
index 00000000..ac09e3b2
--- /dev/null
+++ b/lib/core/viewModels/notifications_view_model.dart
@@ -0,0 +1,40 @@
+import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
+import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_request_model.dart';
+import 'package:diplomaticquarterapp/core/model/notifications/get_notifications_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/notifications/mark_message_as_read_request_model.dart';
+import 'package:diplomaticquarterapp/core/service/notifications_service.dart';
+import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
+import 'package:flutter/material.dart';
+
+import '../../locator.dart';
+import 'base_view_model.dart';
+
+class NotificationViewModel extends BaseViewModel {
+ NotificationService _notificationService = locator();
+
+ List get notifications =>
+ _notificationService.notificationsList;
+
+ Future getNotifications(
+ GetNotificationsRequestModel getNotificationsRequestModel, BuildContext context) async {
+ if(getNotificationsRequestModel.currentPage == 0)
+ setState(ViewState.Busy);
+
+ await _notificationService
+ .getAllNotifications(getNotificationsRequestModel);
+ if (_notificationService.hasError) {
+ error = _notificationService.error;
+ setState(ViewState.Error);
+ } else {
+ setState(ViewState.Idle);
+ }
+ }
+
+ Future markAsRead(id) async {
+ // setState(ViewState.Busy);
+ MarkMessageAsReadRequestModel markMessageAsReadRequestModel =
+ new MarkMessageAsReadRequestModel(notificationPoolID: id);
+ await _notificationService.markAsRead(markMessageAsReadRequestModel);
+ setState(ViewState.Idle);
+ }
+}
\ No newline at end of file
diff --git a/lib/core/viewModels/pharmacyModule/PharmacyAddressesViewModel.dart b/lib/core/viewModels/pharmacyModule/PharmacyAddressesViewModel.dart
new file mode 100644
index 00000000..75a178fa
--- /dev/null
+++ b/lib/core/viewModels/pharmacyModule/PharmacyAddressesViewModel.dart
@@ -0,0 +1,24 @@
+
+import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
+import 'package:diplomaticquarterapp/services/pharmacy_services/pharmacyAddress_service.dart';
+import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyAddressesModel.dart';
+import '../../../locator.dart';
+import '../base_view_model.dart';
+
+class PharmacyAddressesViewModel extends BaseViewModel {
+ PharmacyAddressService _PharmacyAddressService = locator();
+
+ List get address => _PharmacyAddressService.address;
+
+
+ Future getAddress() async {
+ setState(ViewState.Busy);
+ await _PharmacyAddressService.getAddress();
+ if (_PharmacyAddressService.hasError) {
+ error = _PharmacyAddressService.error;
+ setState(ViewState.Error);
+ } else {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/core/viewModels/pharmacyModule/order_model_view_model.dart b/lib/core/viewModels/pharmacyModule/order_model_view_model.dart
new file mode 100644
index 00000000..beb62a53
--- /dev/null
+++ b/lib/core/viewModels/pharmacyModule/order_model_view_model.dart
@@ -0,0 +1,39 @@
+import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
+import 'package:diplomaticquarterapp/services/pharmacy_services/orderDetails_service.dart';
+import 'package:diplomaticquarterapp/services/pharmacy_services/order_service.dart';
+import 'package:diplomaticquarterapp/core/model/pharmacies/order_model.dart';
+import '../../../locator.dart';
+import '../base_view_model.dart';
+
+class OrderModelViewModel extends BaseViewModel {
+ OrderService _orderService = locator();
+ List get order => _orderService.orderList;
+
+ OrderDetailsService _orderDetailsService = locator();
+ List get orderDetails => _orderDetailsService.orderDetails;
+
+
+
+
+ Future getOrder(id, pageId) async {
+ setState(ViewState.Busy);
+ await _orderService.getOrder(id,pageId);
+ if (_orderService.hasError) {
+ error = _orderService.error;
+ setState(ViewState.Error);
+ } else {
+
+ }
+ }
+
+ Future getOrderDetails(orderId) async {
+ setState(ViewState.Busy);
+ await _orderDetailsService.getOrderDetails(orderId);
+ if (_orderDetailsService.hasError) {
+ error = _orderDetailsService.error;
+ setState(ViewState.Error);
+ } else {
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/lib/core/viewModels/project_view_model.dart b/lib/core/viewModels/project_view_model.dart
index ea06c8ad..d2b7cf8b 100644
--- a/lib/core/viewModels/project_view_model.dart
+++ b/lib/core/viewModels/project_view_model.dart
@@ -10,19 +10,26 @@ import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
class ProjectViewModel extends BaseViewModel {
AppSharedPreferences sharedPref = AppSharedPreferences();
- Locale _appLocale;
- String currentLanguage = 'en';
+ Locale _appLocale = Locale('ar');
+ String currentLanguage = 'ar';
bool _isArabic = false;
bool isInternetConnection = true;
bool isLoading = false;
bool isError = false;
String error = '';
dynamic searchvalue;
+ bool isLogin
+ = false;
+
+
dynamic get searchValue => searchvalue;
+
Locale get appLocal => _appLocale;
- LocaleType get localeType => isArabic? LocaleType.en:LocaleType.ar;
+ LocaleType get localeType => isArabic ? LocaleType.en : LocaleType.ar;
+
bool get isArabic => _isArabic;
+
// BaseViewModel baseViewModel = locator()
StreamSubscription subscription;
@@ -48,11 +55,10 @@ class ProjectViewModel extends BaseViewModel {
}
void loadSharedPrefLanguage() async {
- currentLanguage = await sharedPref.getString(APP_LANGUAGE);
- _appLocale = Locale(currentLanguage ?? 'en');
- _isArabic = currentLanguage != null
- ? currentLanguage == 'ar' ? true : false
- : true;
+ currentLanguage =
+ await sharedPref.getStringWithDefaultValue(APP_LANGUAGE, 'ar');
+ _appLocale = Locale(currentLanguage);
+ _isArabic = currentLanguage == 'ar';
notifyListeners();
}
diff --git a/lib/core/viewModels/qr_view_model.dart b/lib/core/viewModels/qr_view_model.dart
index 03c88462..9833d6c8 100644
--- a/lib/core/viewModels/qr_view_model.dart
+++ b/lib/core/viewModels/qr_view_model.dart
@@ -1,11 +1,11 @@
import 'dart:convert';
-
-// import 'package:barcode_scan/platform_wrapper.dart';
+import 'package:barcode_scan_fix/barcode_scan.dart';
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/qr/qr_parking_model.dart';
import 'package:diplomaticquarterapp/core/service/qr_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
+
import '../../locator.dart';
class QrViewModel extends BaseViewModel {
@@ -15,25 +15,25 @@ class QrViewModel extends BaseViewModel {
readQr() async {
//TODO fix the barcode scan
- // var result = await BarcodeScanner.scan();
- // var data = json.decode(result.rawContent);
- // var qRParkingID = data['QRParkingID'];
- // setState(ViewState.BusyLocal);
- // await _qrService.getQRParkingByID(qRParkingID);
- // if (_qrService.hasError) {
- // error = _qrService.error;
- // setState(ViewState.ErrorLocal);
- // } else {
- // if (_qrService.qRParkingList.length > 0) {
- // qrParkingModel = _qrService.qRParkingList[0];
- // await sharedPref.setObject(IS_GO_TO_PARKING, qrParkingModel);
- // isSavePark = true;
- // setState(ViewState.Idle);
- // } else {
- // error = "Invalid Qr Code";
- // setState(ViewState.ErrorLocal);
- // }
- // }
+ String result = await BarcodeScanner.scan();
+ var data = json.decode(result);
+ var qRParkingID = data['QRParkingID'];
+ setState(ViewState.BusyLocal);
+ await _qrService.getQRParkingByID(qRParkingID);
+ if (_qrService.hasError) {
+ error = _qrService.error;
+ setState(ViewState.ErrorLocal);
+ } else {
+ if (_qrService.qRParkingList.length > 0) {
+ qrParkingModel = _qrService.qRParkingList[0];
+ await sharedPref.setObject(IS_GO_TO_PARKING, qrParkingModel);
+ isSavePark = true;
+ setState(ViewState.Idle);
+ } else {
+ error = "Invalid Qr Code";
+ setState(ViewState.ErrorLocal);
+ }
+ }
}
getIsSaveParking() async {
diff --git a/lib/d_q_icons_icons.dart b/lib/d_q_icons_icons.dart
index 040e6e08..c3b64559 100644
--- a/lib/d_q_icons_icons.dart
+++ b/lib/d_q_icons_icons.dart
@@ -30,16 +30,13 @@ class DQIcons {
static const IconData thermometer = IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData weight_scale = IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData parking_icon = IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData more_menu_icon = IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData offer_icon = IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData prescription_icon = IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData search_scan_icon = IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData share_icon = IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData wishlist_add_icon = IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData wishlist_icon = IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData bg_1 = IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData bg_2 = IconData(0xe811, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData bg_3 = IconData(0xe812, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData bg_4 = IconData(0xe813, fontFamily: _kFontFam, fontPackage: _kFontPkg);
- static const IconData medication_icon = IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData blood_type_icon = IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData height_icon = IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData online_payment_icon = IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData search_medicine_icon = IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData vital_sign_icon = IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData weight_icon = IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData my_medical_file = IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData family = IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg);
+ static const IconData calendar__2_ = IconData(0xe811, fontFamily: _kFontFam, fontPackage: _kFontPkg);
}
diff --git a/lib/locator.dart b/lib/locator.dart
index a12adb3a..c89dc37f 100644
--- a/lib/locator.dart
+++ b/lib/locator.dart
@@ -4,10 +4,14 @@ import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/H2O_v
import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/user_information_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/PharmacyAddressesViewModel.dart';
+import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart';
+import 'package:diplomaticquarterapp/services/pharmacy_services/order_service.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
import 'package:get_it/get_it.dart';
import 'core/service/AlHabibMedicalService/cmc_service.dart';
+import 'core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'core/service/AlHabibMedicalService/e_referral_service.dart';
import 'core/service/AlHabibMedicalService/home_health_care_service.dart';
import 'core/service/AuthenticatedUserObject.dart';
@@ -46,6 +50,7 @@ import 'core/service/parmacyModule/lacum-registration-service.dart';
import 'core/service/parmacyModule/lacum-service.dart';
import 'core/service/parmacyModule/lacum-transfer-service.dart';
import 'core/service/parmacyModule/order-preview-service.dart';
+import 'core/service/notifications_service.dart';
import 'core/viewModels/AlHabibMedicalService/cmc_view_model.dart';
import 'core/service/parmacyModule/parmacy_module_service.dart';
@@ -80,6 +85,7 @@ 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/notifications_view_model.dart';
import 'core/viewModels/pharmacies_view_model.dart';
import 'core/service/pharmacies_service.dart';
import 'core/service/insurance_service.dart';
@@ -92,6 +98,8 @@ import 'core/viewModels/pharmacyModule/pharmacy_module_view_model.dart';
import 'core/viewModels/qr_view_model.dart';
import 'core/viewModels/vaccine_view_model.dart';
import 'core/service/vaccine_service.dart';
+import 'services/pharmacy_services/orderDetails_service.dart';
+import 'services/pharmacy_services/pharmacyAddress_service.dart';
GetIt locator = GetIt.instance;
@@ -121,8 +129,6 @@ void setupLocator() {
locator.registerLazySingleton(() => EReferralService());
locator.registerLazySingleton(() => HomeHealthCareService());
locator.registerLazySingleton(() => CMCService());
-
-
locator.registerLazySingleton(() => PatientSickLeaveService());
locator.registerLazySingleton(() => MyBalanceService());
locator.registerLazySingleton(() => BloodSugarService());
@@ -135,22 +141,23 @@ void setupLocator() {
locator.registerLazySingleton(() => FindusService());
locator.registerLazySingleton(() => LiveChatService());
locator.registerLazySingleton(() => H2OService());
-
locator.registerLazySingleton(() => BloodDonationService());
locator.registerLazySingleton(() => BloodDetailsService());
locator.registerLazySingleton(() => ChildVaccinesService());
locator.registerLazySingleton(() => UserInformationService());
locator.registerLazySingleton(() => CreteNewBabyService());
locator.registerLazySingleton(() => DeleteBabyService());
-
locator.registerLazySingleton(() => VaccinationTableService());
-
-
+ locator.registerLazySingleton(() => NotificationService());
locator.registerLazySingleton(() => PharmacyModuleService());
locator.registerLazySingleton(() => OrderPreviewService());
locator.registerLazySingleton(() => LacumService());
locator.registerLazySingleton(() => LacumTransferService());
locator.registerLazySingleton(() => LacumRegistrationService());
+ locator.registerLazySingleton(() => OrderService());
+ locator.registerLazySingleton(() => PharmacyAddressService());
+ locator.registerLazySingleton(() => OrderDetailsService());
+ locator.registerLazySingleton(() => CustomerAddressesService());
/// View Model
locator.registerFactory(() => HospitalViewModel());
@@ -181,8 +188,8 @@ void setupLocator() {
locator.registerFactory(() => ChildVaccinesViewModel());
locator.registerFactory(() => UserInformationViewModel());
locator.registerFactory(() => VaccinationTableViewModel());
-
-
+ locator.registerFactory(() => OrderModelViewModel());
+ locator.registerFactory(() => PharmacyAddressesViewModel());
locator.registerFactory(() => AddNewChildViewModel());
locator.registerFactory(() => H2OViewModel());
@@ -196,8 +203,7 @@ void setupLocator() {
locator.registerFactory(() => AllergiesViewModel());
locator.registerFactory(() => HomeHealthCareViewModel());
locator.registerFactory(() => CMCViewModel());
-
-
+ locator.registerFactory(() => NotificationViewModel());
locator.registerFactory(() => PharmacyModuleViewModel());
locator.registerFactory(() => OrderPreviewViewModel());
diff --git a/lib/main.dart b/lib/main.dart
index 9cb5cb78..218fbf07 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,24 +1,30 @@
+import 'package:diplomaticquarterapp/theme/theme_notifier.dart';
+import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
import 'package:diplomaticquarterapp/routes.dart';
+import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
+import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
+import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:hexcolor/hexcolor.dart';
import 'package:provider/provider.dart';
-import 'package:diplomaticquarterapp/services/robo_search/search_provider.dart';
+
import 'config/size_config.dart';
import 'core/viewModels/project_view_model.dart';
import 'locator.dart';
-import 'package:diplomaticquarterapp/services/robo_search/event_provider.dart';
void main() async {
setupLocator();
- runApp(MyApp());
+ runApp(ChangeNotifierProvider(
+ create: (context) => ThemeNotifier(defaultTheme), child: MyApp() ));
}
class MyApp extends StatelessWidget {
- /// static final _myTabbedPageKey = new GlobalKey<_LandingPageState>();
@override
Widget build(BuildContext context) {
+ final themeNotifier = Provider.of(context);
+
return LayoutBuilder(
builder: (context, constraints) {
return OrientationBuilder(
@@ -29,6 +35,8 @@ class MyApp extends StatelessWidget {
ChangeNotifierProvider(
create: (context) => ProjectViewModel(),
),
+ ChangeNotifierProvider(
+ create: (context) => ToDoCountProviderModel()),
ChangeNotifierProvider(
create: (context) => SearchProvider()),
ChangeNotifierProvider.value(
@@ -41,6 +49,7 @@ class MyApp extends StatelessWidget {
],
child: Consumer(
builder: (context, projectProvider, child) => MaterialApp(
+
showSemanticsDebugger: false,
title: 'Diplomatic Quarter App',
locale: projectProvider.appLocal,
@@ -48,13 +57,15 @@ class MyApp extends StatelessWidget {
TranslationBaseDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
+ GlobalCupertinoLocalizations.delegate,
],
supportedLocales: [
const Locale('ar', ''), // Arabic
const Locale('en', ''), // English
],
- theme: ThemeData(
- fontFamily: projectProvider.isArabic ? 'Cairo' : 'WorkSans',
+ // theme: themeNotifier.getTheme(),
+ theme:ThemeData(
+ fontFamily:projectProvider.isArabic ? 'Cairo' : 'WorkSans',
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
brightness: Brightness.light,
@@ -65,9 +76,14 @@ class MyApp extends StatelessWidget {
},
),
hintColor: Colors.grey[400],
+ textTheme: TextTheme(
+ headline1: TextStyle(
+ color: Color(0xffB8382C),
+ ),
+ ),
disabledColor: Colors.grey[300],
errorColor: Color.fromRGBO(235, 80, 60, 1.0),
- scaffoldBackgroundColor: HexColor('#E9E9E9'), // Colors.grey[100],
+ scaffoldBackgroundColor: Color(0xffE9E9E9), // Colors.grey[100],
textSelectionColor: Color.fromRGBO(80, 100, 253, 0.5),
textSelectionHandleColor: Colors.grey,
canvasColor: Colors.white,
@@ -88,7 +104,7 @@ class MyApp extends StatelessWidget {
),
),
),
- initialRoute: HOME,
+ initialRoute: SPLASH,
routes: routes,
debugShowCheckedModeBanner: false,
),
diff --git a/lib/models/Appointments/toDoCountProviderModel.dart b/lib/models/Appointments/toDoCountProviderModel.dart
new file mode 100644
index 00000000..0fd83491
--- /dev/null
+++ b/lib/models/Appointments/toDoCountProviderModel.dart
@@ -0,0 +1,12 @@
+import 'package:flutter/cupertino.dart';
+
+class ToDoCountProviderModel with ChangeNotifier {
+ int _count;
+
+ int get count => _count == null ? 0 : _count;
+
+ void setState(int count) {
+ _count = count;
+ notifyListeners();
+ }
+}
diff --git a/lib/models/Authentication/authenticated_user.dart b/lib/models/Authentication/authenticated_user.dart
index efccc068..4c7974a3 100644
--- a/lib/models/Authentication/authenticated_user.dart
+++ b/lib/models/Authentication/authenticated_user.dart
@@ -60,6 +60,7 @@ class AuthenticatedUser {
dynamic strDateofBirth;
dynamic tempAddress;
dynamic zipCode;
+ dynamic isFamily;
// dynamic patientPayType;
// dynamic patientType;
// dynamic status;
@@ -123,6 +124,7 @@ class AuthenticatedUser {
this.strDateofBirth,
this.tempAddress,
this.zipCode,
+ this.isFamily
});
AuthenticatedUser.fromJson(Map json) {
@@ -190,6 +192,7 @@ class AuthenticatedUser {
strDateofBirth = json['StrDateofBirth'];
tempAddress = json['TempAddress'];
zipCode = json['ZipCode'];
+ isFamily = json['IsFamily'];
}
Map toJson() {
@@ -255,7 +258,7 @@ class AuthenticatedUser {
data['StrDateofBirth'] = this.strDateofBirth;
data['TempAddress'] = this.tempAddress;
data['ZipCode'] = this.zipCode;
-
+ data['IsFamily'] = this.isFamily;
return data;
}
}
diff --git a/lib/models/Authentication/check_activation_code_request.dart b/lib/models/Authentication/check_activation_code_request.dart
index a4bf79c3..af139ba5 100644
--- a/lib/models/Authentication/check_activation_code_request.dart
+++ b/lib/models/Authentication/check_activation_code_request.dart
@@ -2,7 +2,7 @@ class CheckActivationCodeReq {
int patientMobileNumber;
String mobileNo;
String deviceToken;
- int projectOutSA;
+ bool projectOutSA;
int loginType;
String zipCode;
bool isRegister;
diff --git a/lib/models/Authentication/register_user_requet.dart b/lib/models/Authentication/register_user_requet.dart
index ebefcfcf..7758ce5b 100644
--- a/lib/models/Authentication/register_user_requet.dart
+++ b/lib/models/Authentication/register_user_requet.dart
@@ -76,6 +76,9 @@ class Patientobject {
String firstName;
String middleName;
String lastName;
+ String firstNameN;
+ String middleNameN;
+ String lastNameN;
dynamic strDateofBirth;
String dateofBirth;
int gender;
@@ -93,8 +96,11 @@ class Patientobject {
this.mobileNumber,
this.patientOutSA,
this.firstName,
- this.middleName,
- this.lastName,
+ this.middleName,
+ this.lastName,
+ this.firstNameN,
+ this.middleNameN,
+ this.lastNameN,
this.strDateofBirth,
this.dateofBirth,
this.gender,
@@ -114,6 +120,9 @@ class Patientobject {
firstName = json['FirstName'];
middleName = json['MiddleName'];
lastName = json['LastName'];
+ firstNameN = json['FirstNameN'];
+ middleNameN = json['MiddleNameN'];
+ lastNameN = json['LastNameN'];
strDateofBirth = json['StrDateofBirth'];
dateofBirth = json['DateofBirth'];
gender = json['Gender'];
@@ -136,6 +145,9 @@ class Patientobject {
data['FirstName'] = this.firstName;
data['MiddleName'] = this.middleName;
data['LastName'] = this.lastName;
+ data['FirstNameN'] = this.firstNameN;
+ data['MiddleNameN'] = this.middleNameN;
+ data['LastNameN'] = this.lastNameN;
data['StrDateofBirth'] = this.strDateofBirth;
data['DateofBirth'] = this.dateofBirth;
data['Gender'] = this.gender;
diff --git a/lib/models/Authentication/send_activation_request.dart b/lib/models/Authentication/send_activation_request.dart
index 804f6ef0..b53e19b8 100644
--- a/lib/models/Authentication/send_activation_request.dart
+++ b/lib/models/Authentication/send_activation_request.dart
@@ -2,7 +2,7 @@ class SendActivationRequest {
int patientMobileNumber;
String mobileNo;
String deviceToken;
- int projectOutSA;
+ bool projectOutSA;
int loginType;
String zipCode;
bool isRegister;
diff --git a/lib/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart b/lib/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart
index da848b65..b21d940f 100644
--- a/lib/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart
+++ b/lib/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart
@@ -1,68 +1,68 @@
class GetAllSharedRecordsByStatusResponse {
- Null date;
+ dynamic date;
int languageID;
int serviceName;
- Null time;
- Null androidLink;
- Null authenticationTokenID;
- Null data;
+ dynamic time;
+ dynamic androidLink;
+ dynamic authenticationTokenID;
+ dynamic data;
bool dataw;
int dietType;
- Null errorCode;
- Null errorEndUserMessage;
- Null errorEndUserMessageN;
- Null errorMessage;
+ dynamic errorCode;
+ dynamic errorEndUserMessage;
+ dynamic errorEndUserMessageN;
+ dynamic errorMessage;
int errorType;
int foodCategory;
- Null iOSLink;
+ dynamic iOSLink;
bool isAuthenticated;
int mealOrderStatus;
int mealType;
int messageStatus;
int numberOfResultRecords;
- Null patientBlodType;
- Null successMsg;
- Null successMsgN;
- Null doctorInformationList;
- Null getAllPendingRecordsList;
+ dynamic patientBlodType;
+ dynamic successMsg;
+ dynamic successMsgN;
+ dynamic doctorInformationList;
+ List getAllPendingRecordsList;
List getAllSharedRecordsByStatusList;
- Null getResponseFileList;
+ List getResponseFileList;
bool isHMGPatient;
bool isLoginSuccessfully;
bool isNeedUpdateIdintificationNo;
bool kioskSendSMS;
- Null list;
- Null listAskHabibMobileLoginInfo;
- Null listAskHabibPatientFile;
- Null listMergeFiles;
- Null listMobileLoginInfo;
- Null listPatientCount;
- Null logInTokenID;
- Null mohemmPrivilegeList;
+ dynamic list;
+ dynamic listAskHabibMobileLoginInfo;
+ dynamic listAskHabibPatientFile;
+ dynamic listMergeFiles;
+ dynamic listMobileLoginInfo;
+ dynamic listPatientCount;
+ dynamic logInTokenID;
+ dynamic mohemmPrivilegeList;
int pateintID;
- Null patientBloodType;
- Null patientERDriverFile;
- Null patientERDriverFileList;
+ dynamic patientBloodType;
+ dynamic patientERDriverFile;
+ dynamic patientERDriverFileList;
bool patientHasFile;
- Null patientMergedIDs;
+ dynamic patientMergedIDs;
bool patientOutSA;
int patientShareRequestID;
int patientType;
int projectIDOut;
- Null returnMessage;
+ dynamic returnMessage;
bool sMSLoginRequired;
- Null servicePrivilegeList;
- Null sharePatientName;
- Null verificationCode;
- Null email;
- Null errorList;
+ dynamic servicePrivilegeList;
+ dynamic sharePatientName;
+ dynamic verificationCode;
+ dynamic email;
+ dynamic errorList;
bool hasFile;
bool isActiveCode;
bool isMerged;
bool isNeedUserAgreement;
bool isSMSSent;
- Null memberList;
- Null message;
+ dynamic memberList;
+ dynamic message;
int statusCode;
GetAllSharedRecordsByStatusResponse(
@@ -133,78 +133,92 @@ class GetAllSharedRecordsByStatusResponse {
this.statusCode});
GetAllSharedRecordsByStatusResponse.fromJson(Map json) {
- date = json['Date'];
- languageID = json['LanguageID'];
- serviceName = json['ServiceName'];
- time = json['Time'];
- androidLink = json['AndroidLink'];
- authenticationTokenID = json['AuthenticationTokenID'];
- data = json['Data'];
- dataw = json['Dataw'];
- dietType = json['DietType'];
- errorCode = json['ErrorCode'];
- errorEndUserMessage = json['ErrorEndUserMessage'];
- errorEndUserMessageN = json['ErrorEndUserMessageN'];
- errorMessage = json['ErrorMessage'];
- errorType = json['ErrorType'];
- foodCategory = json['FoodCategory'];
- iOSLink = json['IOSLink'];
- isAuthenticated = json['IsAuthenticated'];
- mealOrderStatus = json['MealOrderStatus'];
- mealType = json['MealType'];
- messageStatus = json['MessageStatus'];
- numberOfResultRecords = json['NumberOfResultRecords'];
- patientBlodType = json['PatientBlodType'];
- successMsg = json['SuccessMsg'];
- successMsgN = json['SuccessMsgN'];
- doctorInformationList = json['DoctorInformation_List'];
- getAllPendingRecordsList = json['GetAllPendingRecordsList'];
- if (json['GetAllSharedRecordsByStatusList'] != null) {
- getAllSharedRecordsByStatusList =
- new List();
- json['GetAllSharedRecordsByStatusList'].forEach((v) {
- getAllSharedRecordsByStatusList
- .add(new GetAllSharedRecordsByStatusList.fromJson(v));
- });
+ try {
+ date = json['Date'];
+ languageID = json['LanguageID'];
+ serviceName = json['ServiceName'];
+ time = json['Time'];
+ androidLink = json['AndroidLink'];
+ authenticationTokenID = json['AuthenticationTokenID'];
+ data = json['Data'];
+ dataw = json['Dataw'];
+ dietType = json['DietType'];
+ errorCode = json['ErrorCode'];
+ errorEndUserMessage = json['ErrorEndUserMessage'];
+ errorEndUserMessageN = json['ErrorEndUserMessageN'];
+ errorMessage = json['ErrorMessage'];
+ errorType = json['ErrorType'];
+ foodCategory = json['FoodCategory'];
+ iOSLink = json['IOSLink'];
+ isAuthenticated = json['IsAuthenticated'];
+ mealOrderStatus = json['MealOrderStatus'];
+ mealType = json['MealType'];
+ messageStatus = json['MessageStatus'];
+ numberOfResultRecords = json['NumberOfResultRecords'];
+ patientBlodType = json['PatientBlodType'];
+ successMsg = json['SuccessMsg'];
+ successMsgN = json['SuccessMsgN'];
+ doctorInformationList = json['DoctorInformation_List'];
+// getAllPendingRecordsList = json['GetAllPendingRecordsList'];
+
+ if (json['GetAllPendingRecordsList'] != null) {
+ getAllSharedRecordsByStatusList = new List();
+ json['GetAllPendingRecordsList'].forEach((v) {
+ getAllSharedRecordsByStatusList
+ .add(new GetAllSharedRecordsByStatusList.fromJson(v));
+ });
+ }
+
+ if (json['GetAllSharedRecordsByStatusList'] != null) {
+ getAllSharedRecordsByStatusList = new List();
+ json['GetAllSharedRecordsByStatusList'].forEach((v) {
+ getAllSharedRecordsByStatusList
+ .add(new GetAllSharedRecordsByStatusList.fromJson(v));
+ });
+ }
+ getResponseFileList = json['GetResponseFileList'];
+ isHMGPatient = json['IsHMGPatient'];
+ isLoginSuccessfully = json['IsLoginSuccessfully'];
+ isNeedUpdateIdintificationNo = json['IsNeedUpdateIdintificationNo'];
+ kioskSendSMS = json['KioskSendSMS'];
+ list = json['List'];
+ listAskHabibMobileLoginInfo = json['List_AskHabibMobileLoginInfo'];
+ listAskHabibPatientFile = json['List_AskHabibPatientFile'];
+ listMergeFiles = json['List_MergeFiles'];
+ listMobileLoginInfo = json['List_MobileLoginInfo'];
+ listPatientCount = json['List_PatientCount'];
+ logInTokenID = json['LogInTokenID'];
+ mohemmPrivilegeList = json['MohemmPrivilege_List'];
+ pateintID = json['PateintID'];
+ patientBloodType = json['PatientBloodType'];
+ patientERDriverFile = json['PatientER_DriverFile'];
+ patientERDriverFileList = json['PatientER_DriverFileList'];
+ patientHasFile = json['PatientHasFile'];
+ patientMergedIDs = json['PatientMergedIDs'];
+ patientOutSA = json['PatientOutSA'];
+ patientShareRequestID = json['PatientShareRequestID'];
+ patientType = json['PatientType'];
+ projectIDOut = json['ProjectIDOut'];
+ returnMessage = json['ReturnMessage'];
+ sMSLoginRequired = json['SMSLoginRequired'];
+ servicePrivilegeList = json['ServicePrivilege_List'];
+ sharePatientName = json['SharePatientName'];
+ verificationCode = json['VerificationCode'];
+ email = json['email'];
+ errorList = json['errorList'];
+ hasFile = json['hasFile'];
+ isActiveCode = json['isActiveCode'];
+ isMerged = json['isMerged'];
+ isNeedUserAgreement = json['isNeedUserAgreement'];
+ isSMSSent = json['isSMSSent'];
+ memberList = json['memberList'];
+ message = json['message'];
+ statusCode = json['statusCode'];
+ }catch (e){
+ var asd ="";
+ print(e);
+
}
- getResponseFileList = json['GetResponseFileList'];
- isHMGPatient = json['IsHMGPatient'];
- isLoginSuccessfully = json['IsLoginSuccessfully'];
- isNeedUpdateIdintificationNo = json['IsNeedUpdateIdintificationNo'];
- kioskSendSMS = json['KioskSendSMS'];
- list = json['List'];
- listAskHabibMobileLoginInfo = json['List_AskHabibMobileLoginInfo'];
- listAskHabibPatientFile = json['List_AskHabibPatientFile'];
- listMergeFiles = json['List_MergeFiles'];
- listMobileLoginInfo = json['List_MobileLoginInfo'];
- listPatientCount = json['List_PatientCount'];
- logInTokenID = json['LogInTokenID'];
- mohemmPrivilegeList = json['MohemmPrivilege_List'];
- pateintID = json['PateintID'];
- patientBloodType = json['PatientBloodType'];
- patientERDriverFile = json['PatientER_DriverFile'];
- patientERDriverFileList = json['PatientER_DriverFileList'];
- patientHasFile = json['PatientHasFile'];
- patientMergedIDs = json['PatientMergedIDs'];
- patientOutSA = json['PatientOutSA'];
- patientShareRequestID = json['PatientShareRequestID'];
- patientType = json['PatientType'];
- projectIDOut = json['ProjectIDOut'];
- returnMessage = json['ReturnMessage'];
- sMSLoginRequired = json['SMSLoginRequired'];
- servicePrivilegeList = json['ServicePrivilege_List'];
- sharePatientName = json['SharePatientName'];
- verificationCode = json['VerificationCode'];
- email = json['email'];
- errorList = json['errorList'];
- hasFile = json['hasFile'];
- isActiveCode = json['isActiveCode'];
- isMerged = json['isMerged'];
- isNeedUserAgreement = json['isNeedUserAgreement'];
- isSMSSent = json['isSMSSent'];
- memberList = json['memberList'];
- message = json['message'];
- statusCode = json['statusCode'];
}
Map toJson() {
@@ -287,7 +301,7 @@ class GetAllSharedRecordsByStatusList {
int responseID;
int regionID;
int status;
- Null isActive;
+ dynamic isActive;
String editedOn;
String createdOn;
String emaiLAddress;
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/cmc_location_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/cmc_location_page.dart
new file mode 100644
index 00000000..ee32bcb6
--- /dev/null
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/cmc_location_page.dart
@@ -0,0 +1,147 @@
+import 'package:diplomaticquarterapp/config/config.dart';
+import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
+import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/add_new_address_Request_Model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_view_model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart';
+import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
+import 'package:diplomaticquarterapp/pages/base/base_view.dart';
+import 'package:diplomaticquarterapp/uitl/app_toast.dart';
+import 'package:diplomaticquarterapp/uitl/utils.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';
+import 'package:google_maps_flutter/google_maps_flutter.dart';
+import 'package:google_maps_place_picker/google_maps_place_picker.dart';
+import 'package:provider/provider.dart';
+
+class CMCLocationPage extends StatefulWidget {
+ final Function(PickResult) onPick;
+ final double latitude;
+ final double longitude;
+ final dynamic model;
+
+ const CMCLocationPage({Key key, this.onPick, this.latitude, this.longitude, this.model})
+ : super(key: key);
+
+ @override
+ _CMCLocationPageState createState() =>
+ _CMCLocationPageState();
+}
+
+class _CMCLocationPageState
+ extends State {
+ double latitude = 0;
+ double longitude = 0;
+
+ @override
+ void initState() {
+
+ latitude = widget.latitude;
+ longitude = widget.longitude;
+ super.initState();
+ }
+
+
+ @override
+ Widget build(BuildContext context) {
+ ProjectViewModel projectViewModel = Provider.of(context);
+ return BaseView(
+ onModelReady: (model) {},
+ builder: (_, model, widget) => AppScaffold(
+ isShowDecPage: false,
+ isShowAppBar: true,
+ baseViewModel: model,
+ body: PlacePicker(
+ apiKey: GOOGLE_API_KEY,
+ enableMyLocationButton: true,
+ automaticallyImplyAppBarLeading: false,
+ autocompleteOnTrailingWhitespace: true,
+ selectInitialPosition: true,
+ autocompleteLanguage: projectViewModel.currentLanguage,
+ enableMapTypeButton: true,
+ searchForInitialValue: false,
+ onPlacePicked: (PickResult result) {
+ print(result.adrAddress);
+
+ },
+ selectedPlaceWidgetBuilder:
+ (_, selectedPlace, state, isSearchBarFocused) {
+ print("state: $state, isSearchBarFocused: $isSearchBarFocused");
+ return isSearchBarFocused
+ ? Container()
+ : FloatingCard(
+ bottomPosition: 0.0,
+ leftPosition: 0.0,
+ rightPosition: 0.0,
+ width: 500,
+ borderRadius: BorderRadius.circular(12.0),
+ child: state == SearchingState.Searching
+ ? Center(child: CircularProgressIndicator())
+ : Container(
+ margin: EdgeInsets.all(12),
+ child: Column(
+ children: [
+ SecondaryButton(
+ color: Colors.grey[800],
+ textColor: Colors.white,
+ onTap: () async {
+ print(selectedPlace);
+ AddNewAddressRequestModel
+ addNewAddressRequestModel =
+ new AddNewAddressRequestModel(
+ customer: Customer(addresses: [
+ Addresses(
+ address1:
+ selectedPlace.formattedAddress,
+ address2: selectedPlace
+ .formattedAddress,
+ customerAttributes: "",
+ city: "",
+ createdOnUtc: "",
+ id: 0,
+ latLong: "$latitude,$longitude",
+ email: "")
+ ]),
+ );
+
+ selectedPlace.addressComponents.forEach((e) {
+ if (e.types.contains("country")) {
+ addNewAddressRequestModel.customer
+ .addresses[0].country = e.longName;
+ }
+ if (e.types.contains("postal_code")) {
+ addNewAddressRequestModel.customer
+ .addresses[0].zipPostalCode =
+ e.longName;
+ }
+ if (e.types.contains("locality")) {
+ addNewAddressRequestModel.customer
+ .addresses[0].city =
+ e.longName;
+ }
+ });
+
+ await model.addAddressInfo(
+ addNewAddressRequestModel: addNewAddressRequestModel);
+ if (model.state == ViewState.ErrorLocal) {
+ Utils.showErrorToast(model.error);
+ } else {
+ AppToast.showSuccessToast(
+ message: "Address Added Successfully");
+ }
+ Navigator.of(context).pop();
+ },
+ label: " Add New Address ",
+ ),
+ ],
+ ),
+ ),
+ );
+ },
+ initialPosition: LatLng(latitude, longitude),
+ useCurrentLocation: false,
+ ),
+ ));
+ }
+}
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_page.dart
index 532396cc..cedd4018 100644
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_page.dart
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_page.dart
@@ -134,7 +134,7 @@ class _NewCMCPageState extends State
children: [
widget.model.cmcAllOrderDetail.length != 0
? FractionallySizedBox(
- heightFactor: 0.8,
+ heightFactor: 0.9,
widthFactor: 0.9,
child: Container(
width: double.infinity,
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_one_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_one_page.dart
index 02d099b4..7da00dee 100644
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_one_page.dart
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_one_page.dart
@@ -1,6 +1,8 @@
+import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_get_items_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_view_model.dart';
+import 'package:diplomaticquarterapp/uitl/utils.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';
@@ -199,26 +201,42 @@ class _NewCMCStepOnePageState extends State {
child: SecondaryButton(
label: "Next",
textColor: Theme.of(context).backgroundColor,
- onTap: () {
- if (widget.cMCInsertPresOrderRequestModel.patientERCMCInsertServicesList.length = null) {
+ color: Colors.grey[800],
+ onTap: () async {
+ if (widget.cMCInsertPresOrderRequestModel
+ .patientERCMCInsertServicesList.length !=
+ 0 ||
+ widget.cMCInsertPresOrderRequestModel
+ .patientERCMCInsertServicesList ==
+ null) {
int index = widget.model.cmcAllServicesList.length;
PatientERCMCInsertServicesList
patientERCMCInsertServicesList =
new PatientERCMCInsertServicesList(
- price: widget.model.cmcAllServicesList[index-1].price,
- serviceID: widget.model.cmcAllServicesList[index-1].serviceID.toString(),
- selectedServiceName: widget.model.cmcAllServicesList[index-1].description,
- selectedServiceNameAR: widget.model.cmcAllServicesList[index-1].description,
+ price: widget
+ .model.cmcAllServicesList[index - 1].price,
+ serviceID: widget
+ .model.cmcAllServicesList[index - 1].serviceID
+ .toString(),
+ selectedServiceName: widget.model
+ .cmcAllServicesList[index - 1].description,
+ selectedServiceNameAR: widget.model
+ .cmcAllServicesList[index - 1].description,
recordID: 1,
- totalPrice: widget.model.cmcAllServicesList[index-1].totalPrice,
+ totalPrice: widget
+ .model.cmcAllServicesList[index - 1].totalPrice,
vAT: widget.model.cmcAllServicesList[index-1].vAT);
widget.cMCInsertPresOrderRequestModel
.patientERCMCInsertServicesList = [
patientERCMCInsertServicesList
];
-
- widget.changePageViewIndex(1);
+ await widget.model.getCustomerInfo();
+ if(widget.model.state == ViewState.ErrorLocal){
+ Utils.showErrorToast();
+ } else {
+ widget.changePageViewIndex(1);
+ }
}
},
),
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart
index e48bb5d5..893fbfa9 100644
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_three_page.dart
@@ -149,6 +149,7 @@ class _NewCMCStepThreePageState
width: MediaQuery.of(context).size.width * 0.9,
child: SecondaryButton(
label: "Confirm",
+ color: Colors.grey[800],
onTap: () async {
await widget.model.insertPresPresOrder(order: widget.cmcInsertPresOrderRequestModel);
if (widget.model.state != ViewState.ErrorLocal) {
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_tow_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_tow_page.dart
index 27cddfe3..c1ec952f 100644
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_tow_page.dart
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/NewCMC/new_cmc_step_tow_page.dart
@@ -1,19 +1,22 @@
import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart';
-import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_insert_pres_order_request_model.dart';
+import 'package:diplomaticquarterapp/core/service/AlHabibMedicalService/customer_addresses_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_view_model.dart';
-import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
+import 'package:diplomaticquarterapp/widgets/dialogs/select_location_dialog.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/location_page.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:diplomaticquarterapp/widgets/others/close_back.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
-import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
+import 'package:google_maps_place_picker/google_maps_place_picker.dart';
import 'package:provider/provider.dart';
+import 'cmc_location_page.dart';
+
class NewCMCStepTowPage extends StatefulWidget {
final Function(PickResult) onPick;
final double latitude;
@@ -41,12 +44,13 @@ class _NewCMCStepTowPageState
extends State {
double latitude = 0;
double longitude = 0;
+ AddressInfo _selectedAddress;
+
@override
void initState() {
if (widget.cmcInsertPresOrderRequestModel.latitude == null) {
- latitude = widget.latitude;
- longitude = widget.longitude;
+ setLatitudeAndLongitude();
} else {
latitude = widget.cmcInsertPresOrderRequestModel.latitude;
longitude = widget.cmcInsertPresOrderRequestModel.longitude;
@@ -54,60 +58,152 @@ class _NewCMCStepTowPageState
super.initState();
}
+ setLatitudeAndLongitude({bool isSetState = false, String latLong}) {
+ if (latLong == null)
+ latLong = widget.model.addressesList[widget.model.addressesList
+ .length - 1].latLong;
+ List latLongArr = latLong.split(',');
+
+ latitude = double.parse(latLongArr[0]);
+ longitude = double.parse(latLongArr[1]);
+ }
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
- return AppScaffold(
+ return AppScaffold(
isShowDecPage: false,
- body: PlacePicker(
- apiKey: GOOGLE_API_KEY,
- enableMyLocationButton: true,
- automaticallyImplyAppBarLeading: false,
- autocompleteOnTrailingWhitespace: true,
- selectInitialPosition: true,
- autocompleteLanguage: projectViewModel.currentLanguage,
- enableMapTypeButton: true,
- onPlacePicked: (PickResult result) {
- print(result.adrAddress);
- widget.changePageViewIndex(3);
- },
- selectedPlaceWidgetBuilder:
- (_, selectedPlace, state, isSearchBarFocused) {
- print("state: $state, isSearchBarFocused: $isSearchBarFocused");
- return isSearchBarFocused
- ? Container()
- : FloatingCard(
- bottomPosition: 0.0,
- leftPosition: 0.0,
- rightPosition: 0.0,
- width: 500,
- borderRadius: BorderRadius.circular(12.0),
- child: state == SearchingState.Searching
- ? Center(child: CircularProgressIndicator())
- : Container(
- margin: EdgeInsets.all(12),
- child: SecondaryButton(
- color: Colors.grey[800],
- textColor: Colors.white,
- onTap: () {
- setState(() {
- widget.cmcInsertPresOrderRequestModel
- .latitude =
- selectedPlace.geometry.location.lat;
- widget.cmcInsertPresOrderRequestModel
- .longitude =
- selectedPlace.geometry.location.lng;
- });
- widget.changePageViewIndex(3);
- },
- label: TranslationBase.of(context).next,
- ),
+ body: Stack(
+ children: [
+ PlacePicker(
+ apiKey: GOOGLE_API_KEY,
+ enableMyLocationButton: true,
+ automaticallyImplyAppBarLeading: false,
+ autocompleteOnTrailingWhitespace: true,
+ selectInitialPosition: true,
+ autocompleteLanguage: projectViewModel.currentLanguage,
+ enableMapTypeButton: true,
+ searchForInitialValue: false,
+
+ onPlacePicked: (PickResult result) {
+ print(result.adrAddress);
+ widget.changePageViewIndex(3);
+ },
+ selectedPlaceWidgetBuilder:
+ (_, selectedPlace, state, isSearchBarFocused) {
+ print("state: $state, isSearchBarFocused: $isSearchBarFocused");
+ return isSearchBarFocused
+ ? Container()
+ : FloatingCard(
+ bottomPosition: 0.0,
+ leftPosition: 0.0,
+ rightPosition: 0.0,
+ width: 500,
+ borderRadius: BorderRadius.circular(12.0),
+ child: state == SearchingState.Searching
+ ? Center(child: CircularProgressIndicator())
+ : Container(
+ margin: EdgeInsets.all(12),
+ child: Column(
+ children: [
+ SecondaryButton(
+ color: Colors.grey[800],
+ textColor: Colors.white,
+ onTap: () {
+ Navigator.push(
+ context,
+ MaterialPageRoute(
+ builder: (BuildContext context) =>
+ CMCLocationPage(
+ latitude: latitude,
+ longitude: longitude,
+
+ ),
+ ),
+ );
+ },
+ label: " Add New Address ",
+ ),
+ SizedBox(height: 10,),
+ SecondaryButton(
+ color: Colors.red
+ [800],
+ textColor: Colors.white,
+ onTap: () {
+ setState(() {
+ widget.cmcInsertPresOrderRequestModel
+ .latitude =
+ selectedPlace.geometry.location.lat;
+ widget.cmcInsertPresOrderRequestModel
+ .longitude =
+ selectedPlace.geometry.location.lng;
+ });
+ widget.changePageViewIndex(3);
+ },
+ label: TranslationBase.of(context).confirm,
),
- );
+ ],
+ )
+ ),
+ );
+ },
+ initialPosition: LatLng(latitude, longitude),
+ useCurrentLocation: false,
+ ),
+ Container(
+ child: InkWell(
+ onTap: () =>
+ confirmSelectLocationDialog(widget.model.addressesList),
+ child: Container(
+ padding: EdgeInsets.all(10),
+ width: double.infinity,
+ // height: 65,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.circular(10),
+ color: Colors.white),
+ child: Row(
+ mainAxisAlignment:
+ MainAxisAlignment.spaceBetween,
+ children: [
+ Expanded(child: Texts(getAddressName(), fontSize: 14,),),
+ Icon(Icons.arrow_drop_down)
+ ],
+ ),
+ ),
+ ),
+ height: 56, width: double.infinity, color: Theme
+ .of(context)
+ .scaffoldBackgroundColor,
+
+ )
+ ],
+ ),
+ );
+
+
+ }
+
+
+ void confirmSelectLocationDialog(List addresses) {
+ showDialog(
+ context: context,
+ child: SelectLocationDialog(
+ addresses: addresses,
+ selectedAddress: _selectedAddress
+ ,
+ onValueSelected: (value) {
+ setLatitudeAndLongitude(latLong: value.latLong);
+ setState(() {
+ _selectedAddress = value;
+ });
},
- initialPosition: LatLng(latitude, longitude),
- useCurrentLocation: true,
),
);
}
+
+ String getAddressName() {
+ if (_selectedAddress != null)
+ return _selectedAddress.address1;
+ else
+ return "Select Address" /*TranslationBase.of(context).selectHospital*/;
+ }
}
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_index_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_index_page.dart
deleted file mode 100644
index e8e9eccc..00000000
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_index_page.dart
+++ /dev/null
@@ -1,68 +0,0 @@
-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:diplomaticquarterapp/widgets/transitions/fade_page.dart';
-import 'package:flutter/cupertino.dart';
-import 'package:flutter/material.dart';
-import 'package:hexcolor/hexcolor.dart';
-import 'cmc_page.dart';
-
-class CMCIndexPage extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return AppScaffold(
- isShowAppBar: true,
- appBarTitle: TranslationBase.of(context).serviceInformation,
- body: SingleChildScrollView(
- padding: EdgeInsets.all(12),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Texts(
- "CMC",
- fontWeight: FontWeight.normal,
- fontSize: 25,
- color: Color(0xff60686b),
- ),
- SizedBox(
- height: 12,
- ),
- Texts(
- "This service is designed to help you to set drinking water goals and track the volume of water you are drinking on a daily basis. This service allows for schedule reminders and offers a basic statistical analysis of the amount of what you have consumed over the course of a day, week or month.",
- fontWeight: FontWeight.normal,
- fontSize: 17,
- ),
- SizedBox(
- height: 22,
- ),
- Center(
- child: Image.asset(
- 'assets/images/AlHabibMedicalService/Wifi-AR.png')),
- SizedBox(
- height: 77,
- ),
- ],
- )),
- bottomSheet: Container(
- height: MediaQuery.of(context).size.height * 0.10,
- width: double.infinity,
- child: Column(
- children: [
- Container(
- width: MediaQuery.of(context).size.width * 0.9,
- child: SecondaryButton(
- onTap: () => Navigator.push(
- context,
- FadePage(
- page: CMCPage(),
- ),
- ),
- label: "CMC",
- textColor: Theme.of(context).backgroundColor),
- ),
- ],
- ),
- ));
- }
-}
diff --git a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart
index 385d0da3..04d8ea36 100644
--- a/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart
+++ b/lib/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_page.dart
@@ -40,7 +40,8 @@ class _CMCPageState extends State
},
builder: (_, model, widget) => AppScaffold(
isShowAppBar: true,
- appBarTitle: TranslationBase.of(context).homeHealthCare,
+ description: TranslationBase.of(context).HHCNotAuthMsg,
+ appBarTitle: TranslationBase.of(context).comprehensiveMedicalCheckup,
body: Scaffold(
extendBodyBehindAppBar: true,
appBar: PreferredSize(
diff --git a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_index_page.dart b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_index_page.dart
index fb2b94c6..2cb179b8 100644
--- a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_index_page.dart
+++ b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_index_page.dart
@@ -40,34 +40,32 @@ class _StartIndexForNewEReferralState extends State
@override
Widget build(BuildContext context) {
return Scaffold(
- body: SafeArea(
- child: SingleChildScrollView(
- child: Container(
- height: MediaQuery.of(context).size.height * 0.9,
- child: PageView(
- physics: NeverScrollableScrollPhysics(),
- controller: _controller,
- onPageChanged: (index) {
- setState(() {
- _currentIndex = index;
- });
- },
- scrollDirection: Axis.horizontal,
- children: [
- NewEReferralStepOnePage(
- changePageViewIndex: changePageViewIndex,
- createEReferralRequestModel: createEReferralRequestModel,
- ),
- NewEReferralStepTowPage(
- changePageViewIndex: changePageViewIndex,
- createEReferralRequestModel: createEReferralRequestModel,
- ),
- NewEReferralStepThreePage(
- changePageViewIndex: changePageViewIndex,
- createEReferralRequestModel: createEReferralRequestModel,
- ),
- ],
- ),
+ body: SingleChildScrollView(
+ child: Container(
+ height: MediaQuery.of(context).size.height * 0.9,
+ child: PageView(
+ physics: NeverScrollableScrollPhysics(),
+ controller: _controller,
+ onPageChanged: (index) {
+ setState(() {
+ _currentIndex = index;
+ });
+ },
+ scrollDirection: Axis.horizontal,
+ children: [
+ NewEReferralStepOnePage(
+ changePageViewIndex: changePageViewIndex,
+ createEReferralRequestModel: createEReferralRequestModel,
+ ),
+ NewEReferralStepTowPage(
+ changePageViewIndex: changePageViewIndex,
+ createEReferralRequestModel: createEReferralRequestModel,
+ ),
+ NewEReferralStepThreePage(
+ changePageViewIndex: changePageViewIndex,
+ createEReferralRequestModel: createEReferralRequestModel,
+ ),
+ ],
),
),
),
diff --git a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_one_page.dart b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_one_page.dart
index 62799c6d..db549626 100644
--- a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_one_page.dart
+++ b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_one_page.dart
@@ -6,28 +6,29 @@ import 'package:diplomaticquarterapp/core/model/my_balance/AdvanceModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/all_habib_medical_services/e_referral_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
-import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/e_referral_confirm_sms_dialog.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/dialogs/select_country_ingo_Dialog.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/dialogs/select_relation_type_dialog.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/e_referral_confirm_sms_dialog.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/medical/balance/new_text_Field.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.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 NewEReferralStepOnePage extends StatefulWidget {
final CreateEReferralRequestModel createEReferralRequestModel;
final Function changePageViewIndex;
- const NewEReferralStepOnePage({Key key, this.createEReferralRequestModel, this.changePageViewIndex}) : super(key: key);
+ const NewEReferralStepOnePage(
+ {Key key, this.createEReferralRequestModel, this.changePageViewIndex})
+ : super(key: key);
@override
- _NewEReferralStepOnePageState createState() => _NewEReferralStepOnePageState();
+ _NewEReferralStepOnePageState createState() =>
+ _NewEReferralStepOnePageState();
}
class _NewEReferralStepOnePageState extends State {
@@ -64,27 +65,25 @@ class _NewEReferralStepOnePageState extends State {
context: context,
barrierDismissible: false,
child: EReferralConfirmSMSDialog(
- phoneNumber: _selectedCountry['code']+_mobileTextController.text,
- onSucces: (){
- Navigator.of(context).pop();
- widget.changePageViewIndex(1);
- widget.createEReferralRequestModel.requesterName=_nameTextController.text;
- widget.createEReferralRequestModel.requesterContactNo = _selectedCountry['code'].toString().substring(1)+_mobileTextController.text;
- widget.createEReferralRequestModel.requesterRelationship=_selectedRelation.iD;
-
-
- }
-
-
- ),
+ phoneNumber: _selectedCountry['code'] + _mobileTextController.text,
+ onSucces: () {
+ Navigator.of(context).pop();
+ widget.changePageViewIndex(1);
+ widget.createEReferralRequestModel.requesterName =
+ _nameTextController.text;
+ widget.createEReferralRequestModel.requesterContactNo =
+ _selectedCountry['code'].toString().substring(1) +
+ _mobileTextController.text;
+ widget.createEReferralRequestModel.requesterRelationship =
+ _selectedRelation.iD;
+ }),
).then((value) {
print("dialog dismissed");
print(value);
- if (value != null && value) {
-
- }
+ if (value != null && value) {}
});
}
+
return BaseView(
onModelReady: (model) => model.getRelationTypes(),
builder: (_, model, widget) => AppScaffold(
@@ -92,7 +91,7 @@ class _NewEReferralStepOnePageState extends State {
body: SingleChildScrollView(
physics: ScrollPhysics(),
child: Container(
- margin: EdgeInsets.all(12),
+ margin: EdgeInsets.all(10),
child: Center(
child: FractionallySizedBox(
widthFactor: 0.9,
@@ -100,11 +99,10 @@ class _NewEReferralStepOnePageState extends State {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
- height: 20,
+ height: 80,
),
Center(
child: Texts(
-// TranslationBase.of(context).advancePaymentLabel,
"Referral requester information",
textAlign: TextAlign.center,
),
@@ -185,34 +183,30 @@ class _NewEReferralStepOnePageState extends State {
),
),
bottomSheet: Container(
- height: MediaQuery
- .of(context)
- .size
- .height * 0.1,
+ height: MediaQuery.of(context).size.height * 0.1,
width: double.infinity,
padding: EdgeInsets.all(9),
child: SecondaryButton(
textColor: Colors.white,
label: "Next",
- onTap: () async {
- SendActivationCodeForEReferralRequestModel sendActivationCodeForEReferralRequestModel =
- SendActivationCodeForEReferralRequestModel(
+ onTap: () async {
+ SendActivationCodeForEReferralRequestModel
+ sendActivationCodeForEReferralRequestModel =
+ SendActivationCodeForEReferralRequestModel(
zipCode: _selectedCountry['code'],
- patientMobileNumber: int.parse(
- _mobileTextController.text),);
- await model.sendActivationCodeForEReferral(sendActivationCodeForEReferralRequestModel);
+ patientMobileNumber: int.parse(_mobileTextController.text),
+ );
+ await model.sendActivationCodeForEReferral(
+ sendActivationCodeForEReferralRequestModel);
showSMSDialog();
},
loading: model.state == ViewState.BusyLocal,
- disabled:
- _nameTextController.text.isEmpty ||
+ disabled: _nameTextController.text.isEmpty ||
_selectedRelation == null ||
_mobileTextController.text.isEmpty,
),
)));
-
-
}
void confirmSelectRelationTypeDialog(
@@ -261,12 +255,8 @@ class _NewEReferralStepOnePageState extends State {
}
class MobileNumberTextFiled extends StatelessWidget {
- const MobileNumberTextFiled({
- Key key,
- this.controller,
- this.code
- }) : super(key: key);
-
+ const MobileNumberTextFiled({Key key, this.controller, this.code})
+ : super(key: key);
final TextEditingController controller;
final String code;
diff --git a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart
index d84b9d61..cb9f03df 100644
--- a/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart
+++ b/lib/pages/AlHabibMedicalService/E-Referral/New_E_Referral/new_e_referral_step_three_page.dart
@@ -1,21 +1,23 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/create_e_referral_request_model.dart';
-import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_cities_response_model.dart';
+import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/EReferral/get_all_projects_response_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/all_habib_medical_services/e_referral_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
+import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/E-Referral/dialogs/select_project_dialog.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
+import 'package:diplomaticquarterapp/routes.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/bottom_options/BottomSheet.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
+import 'package:diplomaticquarterapp/widgets/dialogs/alert_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
-import '../dialogs/select_city_dialog.dart';
-
class NewEReferralStepThreePage extends StatefulWidget {
final CreateEReferralRequestModel createEReferralRequestModel;
final Function changePageViewIndex;
@@ -32,7 +34,8 @@ class NewEReferralStepThreePage extends StatefulWidget {
class _NewEReferralStepThreePageState extends State {
TextEditingController _nameTextController = TextEditingController();
TextEditingController _mobileTextController = TextEditingController();
- GetAllCitiesResponseModel _selectedCity;
+
+ GetAllProjectsResponseModel _selectedHospital;
GetAllSharedRecordsByStatusList selectedPatientFamily;
List medicalReportImages = [];
@@ -50,6 +53,7 @@ class _NewEReferralStepThreePageState extends State {
@override
Widget build(BuildContext context) {
return BaseView(
+ onModelReady: (model) => model.getAllProjects(),
builder: (_, model, widget) => AppScaffold(
isShowAppBar: false,
body: SingleChildScrollView(
@@ -64,7 +68,7 @@ class _NewEReferralStepThreePageState extends State {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
SizedBox(
- height: 20,
+ height: 80,
),
Center(
child: Texts(
@@ -103,8 +107,13 @@ class _NewEReferralStepThreePageState extends State {
ImageOptions.showImageOptions(context,
(String image) {
setState(() {
- EReferralAttachment eReferralAttachment = new EReferralAttachment(fileName: 'image ${ medicalReportImages.length +1}.png',base64String: image );
- medicalReportImages.add(eReferralAttachment);
+ EReferralAttachment eReferralAttachment =
+ new EReferralAttachment(
+ fileName:
+ 'image ${medicalReportImages.length + 1}.png',
+ base64String: image);
+ medicalReportImages
+ .add(eReferralAttachment);
});
});
},
@@ -158,15 +167,17 @@ class _NewEReferralStepThreePageState extends State {
width: 8,
),
Texts(
- medicalReportImages[index].fileName,
+ medicalReportImages[index]
+ .fileName,
),
],
),
InkWell(
onTap: () {
setState(() {
- medicalReportImages
- .remove(medicalReportImages[index]);
+ medicalReportImages.remove(
+ medicalReportImages[
+ index]);
});
},
child: Icon(
@@ -205,7 +216,7 @@ class _NewEReferralStepThreePageState extends State {
),
InkWell(
onTap: () =>
- confirmSelectCityDialog(model.allCities),
+ confirmSelectHospital(model.allHospitals),
child: Container(
padding: EdgeInsets.all(12),
width: double.infinity,
@@ -262,12 +273,12 @@ class _NewEReferralStepThreePageState extends State {
],
),
),
- if(isPatientInsured)
- SizedBox(
- height: 12,
- ),
+ if (isPatientInsured)
+ SizedBox(
+ height: 12,
+ ),
Opacity(
- opacity: isPatientInsured?1:0,
+ opacity: isPatientInsured ? 1 : 0,
child: Container(
padding: EdgeInsets.only(top: 10),
decoration: BoxDecoration(
@@ -276,16 +287,21 @@ class _NewEReferralStepThreePageState extends State {
),
child: Column(
children: [
-
InkWell(
onTap: () {
ImageOptions.showImageOptions(context,
(String image) {
setState(() {
+ EReferralAttachment
+ eReferralAttachment =
+ new EReferralAttachment(
+ fileName:
+ 'image ${medicalReportImages.length + 1}.png',
+ base64String: image);
- EReferralAttachment eReferralAttachment = new EReferralAttachment(fileName: 'image ${ medicalReportImages.length +1}.png',base64String: image );
-
- insuredPatientImages=[eReferralAttachment];
+ insuredPatientImages = [
+ eReferralAttachment
+ ];
});
});
},
@@ -333,8 +349,8 @@ class _NewEReferralStepThreePageState extends State