Merge branch 'development_new_design_2.0' into zik_new_design_2.0

* development_new_design_2.0: (105 commits)
  app bar back icon issue
  improvements
  emergency nearest ui changes
  Zoom Avatar implementation
  no message
  Child Vaccine 3
  register
  register page
  Working on Health data
  Child Vaccine 2
  registration
  Ereferral fixed, HHC moved to new APIs, Notification new design implemented
  registration done
  Child Vaccine 1.0
  In App Review
  In App Review
  oder log merge fix
  design fixes 3
  Chart fix & In-App update implemented
  design fixes 1.1
  ...

# Conflicts:
#	lib/config/config.dart
#	lib/pages/landing/fragments/home_page_fragment2.dart
merge-update-with-lab-changes
Zohaib Iqbal Kambrani 4 years ago
commit 8b1ac05012

@ -271,6 +271,184 @@
"search": [ "search": [
"roboticon" "roboticon"
] ]
},
{
"uid": "8ce732688587909ad0a9d8323eaca8ad",
"css": "marquee",
"code": 59590,
"src": "fontelico"
},
{
"uid": "ec8496ef645f3be7b28147ec60cd9ab1",
"css": "crown-minus",
"code": 59589,
"src": "fontelico"
},
{
"uid": "36ef9feb0754335302784521267a9ad4",
"css": "crown-plus",
"code": 59588,
"src": "fontelico"
},
{
"uid": "186dec7a13156bbe2550790c158fb85d",
"css": "crown",
"code": 59587,
"src": "fontelico"
},
{
"uid": "2a46f1d1c9bd036e17a74e46613c1636",
"css": "ie",
"code": 59586,
"src": "fontelico"
},
{
"uid": "9c2b737b16ae2c8d66b7bfd29ba5ecd8",
"css": "chrome",
"code": 59584,
"src": "fontelico"
},
{
"uid": "45861dd1e5ce4fde338bcccf01eeb808",
"css": "opera",
"code": 59585,
"src": "fontelico"
},
{
"uid": "2bd5f98482d86649958312ea2ab5bb40",
"css": "emo-laugh",
"code": 59576,
"src": "fontelico"
},
{
"uid": "fc92480dedc439d274d4e3e4b425edf4",
"css": "emo-squint",
"code": 59575,
"src": "fontelico"
},
{
"uid": "4843d0d6050dd508d4c101a334f46db2",
"css": "emo-shoot",
"code": 59574,
"src": "fontelico"
},
{
"uid": "04688d76a33ce7a7950e40fae79c08ac",
"css": "emo-cry",
"code": 59573,
"src": "fontelico"
},
{
"uid": "e4b163acaaa08255819f2f78afe8f075",
"css": "cart_menu_icon",
"code": 59412,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M367.1 624.3H972.6A33.2 33.2 0 0 0 1004.7 601.7L1138.2 164.7A29.6 29.6 0 0 0 1132.9 137.3 34.3 34.3 0 0 0 1106.3 124.9H289.9L266.3 24.5A33 33 0 0 0 233.7 0H33.4A32.4 32.4 0 0 0 0 31.2 32.4 32.4 0 0 0 33.4 62.4H206.9L327.4 569.6A93.8 93.8 0 0 0 267.1 655.5 97.1 97.1 0 0 0 367.2 749.1H972.6A31.3 31.3 0 1 0 972.6 686.7H367.2A31.3 31.3 0 1 1 367.2 624.3ZM1061.9 187.3L947.4 561.9H394L305 187.3ZM1061.9 187.3M315.3 894.6A105.4 105.4 0 1 0 420.7 789.2 105.4 105.4 0 0 0 315.3 894.6ZM420.7 859.4A35.2 35.2 0 1 1 385.6 894.6 35.2 35.2 0 0 1 420.7 859.4ZM420.7 859.4M735.4 894.6A105.4 105.4 0 1 0 840.9 789.2 105.4 105.4 0 0 0 735.4 894.6ZM840.9 859.4A35.2 35.2 0 1 1 805.7 894.6 35.2 35.2 0 0 1 840.9 859.4ZM840.9 859.4",
"width": 1140
},
"search": [
"cart_menu_icon"
]
},
{
"uid": "45f50872f02e050e19f0910ca3e0e8e6",
"css": "categories_menu_icon",
"code": 59413,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M332.7 458.9H126.3A126.3 126.3 0 0 1 0 332.7V126.3A126.3 126.3 0 0 1 126.3 0H332.7A126.3 126.3 0 0 1 459 126.3V332.7A126.3 126.3 0 0 1 332.7 458.9ZM126.3 61.2A65.1 65.1 0 0 0 61.2 126.3V332.7A65.1 65.1 0 0 0 126.3 397.8H332.7A65.1 65.1 0 0 0 397.8 332.7V126.3A65.1 65.1 0 0 0 332.7 61.2ZM873.8 458.9H667.3A126.3 126.3 0 0 1 541 332.6V126.3A126.3 126.3 0 0 1 667.3 0H873.9A126.3 126.3 0 0 1 1000.2 126.3V332.7A126.3 126.3 0 0 1 873.8 458.9ZM667.3 61.2A65.1 65.1 0 0 0 602.2 126.3V332.7A65.1 65.1 0 0 0 667.3 397.8H873.9A65.1 65.1 0 0 0 938.9 332.7V126.3A65.1 65.1 0 0 0 873.9 61.3ZM332.7 999.9H126.3A126.3 126.3 0 0 1 0 873.7V667.3A126.3 126.3 0 0 1 126.3 541H332.7A126.3 126.3 0 0 1 459 667.3V873.9A126.3 126.3 0 0 1 332.7 999.9ZM126.3 602.2A65.1 65.1 0 0 0 61.2 667.3V873.9A65.1 65.1 0 0 0 126.3 938.8H332.7A65.1 65.1 0 0 0 397.8 873.8V667.3A65.1 65.1 0 0 0 332.7 602.3ZM873.8 999.9H667.3A126.3 126.3 0 0 1 541 873.7V667.3A126.3 126.3 0 0 1 667.3 541H873.8A126.3 126.3 0 0 1 1000.1 667.3V873.9A126.3 126.3 0 0 1 873.8 999.9ZM667.3 602.2A65.1 65.1 0 0 0 602.2 667.3V873.9A65.1 65.1 0 0 0 667.3 938.8H873.8A65.1 65.1 0 0 0 938.8 873.8V667.3A65.1 65.1 0 0 0 873.8 602.3Z",
"width": 1000
},
"search": [
"categories_menu_icon"
]
},
{
"uid": "de65d94899c08a719eb8f9b723f73fc4",
"css": "hmg_logo_icon",
"code": 59414,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M146 835.7S180.9 835.5 205.5 835.5L392.2 836.4C414.4 836.4 433 812.7 434 778.5L434 622.5C434 589.3 448.9 563.3 472 561.7L529.2 561.2C552.3 562.7 568.1 588.9 568.1 622L568.1 778.9C569.2 813.1 584.7 835.5 607.1 835.5L858.4 836.1 858.8 643.3C858.8 610.2 842.9 584.4 819.8 583L718.8 582.5C696.5 582.5 678.9 558.9 677.9 524.7L677.5 472.6C678.6 438.4 696.4 414.8 718.7 414.8L820.2 415.1C843.3 413.6 858.3 386.4 858.3 353.3L858.5 112.8A102.4 102.4 0 0 1 780.8 161.4L610.2 161.4C587.9 161.4 569.4 185.7 568.3 219.9V374.6C567.2 408.8 549.8 432.9 527.5 432.9L475.8 432C453.4 432 435.6 408.6 434.5 374.7L434.5 218.4C433.4 184.3 415.6 161.2 393.4 161.2L145.6 161.2 145.6 353.4C145.6 386.6 161.2 413.1 184.3 414.7L285.8 414.3C308.8 415.8 325.1 443.2 325.1 476.2L324.8 520.7C324.8 553.8 309.1 580.4 286 581.9L184.3 581.7C161.2 583.3 145.6 609.5 145.6 642.6ZM999.3 99.1V902.8A102.2 102.2 0 0 1 896 1000H102.8A101.9 101.9 0 0 1 0 902.8L0 97.6A102.3 102.3 0 0 1 103 0L895.4 0.3A104 104 0 0 1 999.3 99.1Z",
"width": 999
},
"search": [
"hmg_logo_icon"
]
},
{
"uid": "baf8798b7336aad03b1d61cacc015142",
"css": "user_menu_icon",
"code": 59415,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M853.6 146.4A500 500 0 0 0 146.4 853.6 500 500 0 0 0 853.6 146.4ZM217 838.5A286.1 286.1 0 0 1 500 586.7 285 285 0 0 1 783 838.5 440.5 440.5 0 0 1 217 838.5ZM500 526.3A151.8 151.8 0 1 1 651.8 374.5 152.1 152.1 0 0 1 500 526.3ZM833.4 788.8A344.4 344.4 0 0 0 617.6 548.7 210.5 210.5 0 1 0 382.1 548.7 344.2 344.2 0 0 0 166.3 788.7 441.4 441.4 0 1 1 833.2 788.7ZM833.4 788.8",
"width": 1000
},
"search": [
"user_menu_icon"
]
},
{
"uid": "d3f621623139837ff2fb5fe09cf16994",
"css": "cart_menu_icon-1",
"code": 59416,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M367.1 624.3H972.6A33.2 33.2 0 0 0 1004.7 601.7L1138.2 164.7A29.6 29.6 0 0 0 1132.9 137.3 34.3 34.3 0 0 0 1106.3 124.9H289.9L266.3 24.5A33 33 0 0 0 233.7 0H33.4A32.4 32.4 0 0 0 0 31.2 32.4 32.4 0 0 0 33.4 62.4H206.9L327.4 569.6A93.8 93.8 0 0 0 267.1 655.5 97.1 97.1 0 0 0 367.2 749.1H972.6A31.3 31.3 0 1 0 972.6 686.7H367.2A31.3 31.3 0 1 1 367.2 624.3ZM1061.9 187.3L947.4 561.9H394L305 187.3ZM1061.9 187.3M315.3 894.6A105.4 105.4 0 1 0 420.7 789.2 105.4 105.4 0 0 0 315.3 894.6ZM420.7 859.4A35.2 35.2 0 1 1 385.6 894.6 35.2 35.2 0 0 1 420.7 859.4ZM420.7 859.4M735.4 894.6A105.4 105.4 0 1 0 840.9 789.2 105.4 105.4 0 0 0 735.4 894.6ZM840.9 859.4A35.2 35.2 0 1 1 805.7 894.6 35.2 35.2 0 0 1 840.9 859.4ZM840.9 859.4",
"width": 1140
},
"search": [
"cart_menu_icon"
]
},
{
"uid": "6aac6f399374da0b9c4811b6a7110627",
"css": "categories_menu_icon-1",
"code": 59417,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M332.7 458.9H126.3A126.3 126.3 0 0 1 0 332.7V126.3A126.3 126.3 0 0 1 126.3 0H332.7A126.3 126.3 0 0 1 459 126.3V332.7A126.3 126.3 0 0 1 332.7 458.9ZM126.3 61.2A65.1 65.1 0 0 0 61.2 126.3V332.7A65.1 65.1 0 0 0 126.3 397.8H332.7A65.1 65.1 0 0 0 397.8 332.7V126.3A65.1 65.1 0 0 0 332.7 61.2ZM873.8 458.9H667.3A126.3 126.3 0 0 1 541 332.6V126.3A126.3 126.3 0 0 1 667.3 0H873.9A126.3 126.3 0 0 1 1000.2 126.3V332.7A126.3 126.3 0 0 1 873.8 458.9ZM667.3 61.2A65.1 65.1 0 0 0 602.2 126.3V332.7A65.1 65.1 0 0 0 667.3 397.8H873.9A65.1 65.1 0 0 0 938.9 332.7V126.3A65.1 65.1 0 0 0 873.9 61.3ZM332.7 999.9H126.3A126.3 126.3 0 0 1 0 873.7V667.3A126.3 126.3 0 0 1 126.3 541H332.7A126.3 126.3 0 0 1 459 667.3V873.9A126.3 126.3 0 0 1 332.7 999.9ZM126.3 602.2A65.1 65.1 0 0 0 61.2 667.3V873.9A65.1 65.1 0 0 0 126.3 938.8H332.7A65.1 65.1 0 0 0 397.8 873.8V667.3A65.1 65.1 0 0 0 332.7 602.3ZM873.8 999.9H667.3A126.3 126.3 0 0 1 541 873.7V667.3A126.3 126.3 0 0 1 667.3 541H873.8A126.3 126.3 0 0 1 1000.1 667.3V873.9A126.3 126.3 0 0 1 873.8 999.9ZM667.3 602.2A65.1 65.1 0 0 0 602.2 667.3V873.9A65.1 65.1 0 0 0 667.3 938.8H873.8A65.1 65.1 0 0 0 938.8 873.8V667.3A65.1 65.1 0 0 0 873.8 602.3Z",
"width": 1000
},
"search": [
"categories_menu_icon"
]
},
{
"uid": "0a4cf1ff2671b9ea852d635e27df1e69",
"css": "hmg_logo_icon-1",
"code": 59418,
"src": "custom_icons",
"selected": true,
"svg": {
"path": "M146 835.7S180.9 835.5 205.5 835.5L392.2 836.4C414.4 836.4 433 812.7 434 778.5L434 622.5C434 589.3 448.9 563.3 472 561.7L529.2 561.2C552.3 562.7 568.1 588.9 568.1 622L568.1 778.9C569.2 813.1 584.7 835.5 607.1 835.5L858.4 836.1 858.8 643.3C858.8 610.2 842.9 584.4 819.8 583L718.8 582.5C696.5 582.5 678.9 558.9 677.9 524.7L677.5 472.6C678.6 438.4 696.4 414.8 718.7 414.8L820.2 415.1C843.3 413.6 858.3 386.4 858.3 353.3L858.5 112.8A102.4 102.4 0 0 1 780.8 161.4L610.2 161.4C587.9 161.4 569.4 185.7 568.3 219.9V374.6C567.2 408.8 549.8 432.9 527.5 432.9L475.8 432C453.4 432 435.6 408.6 434.5 374.7L434.5 218.4C433.4 184.3 415.6 161.2 393.4 161.2L145.6 161.2 145.6 353.4C145.6 386.6 161.2 413.1 184.3 414.7L285.8 414.3C308.8 415.8 325.1 443.2 325.1 476.2L324.8 520.7C324.8 553.8 309.1 580.4 286 581.9L184.3 581.7C161.2 583.3 145.6 609.5 145.6 642.6ZM999.3 99.1V902.8A102.2 102.2 0 0 1 896 1000H102.8A101.9 101.9 0 0 1 0 902.8L0 97.6A102.3 102.3 0 0 1 103 0L895.4 0.3A104 104 0 0 1 999.3 99.1Z",
"width": 999
},
"search": [
"hmg_logo_icon"
]
},
{
"uid": "d19eb878f1dee49848276b6d0faa6602",
"css": "wishlist_menu_icon",
"code": 59411,
"src": "custom_icons",
"selected": false,
"svg": {
"path": "M877.6 0A394.8 394.8 0 0 0 600.7 112.2 394.8 394.8 0 0 0 323.8 0 332.4 332.4 0 0 0 0 349 515.4 515.4 0 0 0 138.3 679.5 1351.1 1351.1 0 0 0 580.3 995.3 46.9 46.9 0 0 0 621.1 995.3 1351.1 1351.1 0 0 0 1063.1 679.5 515.4 515.4 0 0 0 1201.4 349 332.5 332.5 0 0 0 877.6 0ZM991.8 618.5A1233.8 1233.8 0 0 1 600.7 900.8 1233.7 1233.7 0 0 1 209.5 618.5 418.4 418.4 0 0 1 93.8 349 239.1 239.1 0 0 1 323.8 93.8 297.2 297.2 0 0 1 500.6 150.7 283.5 283.5 0 0 1 562 209.5 46.5 46.5 0 0 0 600.5 230H600.5A46.9 46.9 0 0 0 639.1 209.3 301.2 301.2 0 0 1 877.2 93.8 239.2 239.2 0 0 1 1107.1 349 418.4 418.4 0 0 1 991.8 618.5Z",
"width": 1201
},
"search": [
"wishlist_menu_icon"
]
} }
] ]
} }

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="27.682" height="40.133" viewBox="0 0 27.682 40.133">
<g id="Group_8185" data-name="Group 8185" transform="translate(0 0)">
<path id="Path_4944" data-name="Path 4944" d="M68.423,22.945a52.3,52.3,0,0,0,.657,5.827,9,9,0,0,1,.32,2.393,8.691,8.691,0,0,0-.121,2.516,8.175,8.175,0,0,1-.02,2.757,20.1,20.1,0,0,0-.379,2.047c-.639,1.613-.278,1.534-.278,1.534.2.243.537.019.537.019A.332.332,0,0,0,69.575,40a.4.4,0,0,0,.48-.023.491.491,0,0,0,.536-.122c.16.081.2-.021.2-.021.48-.031-.268-1.566-.268-1.566a4.192,4.192,0,0,1,.178-2.146c1.168-3.463,1.227-4.382.76-5.688-.131-.377-.165-.526-.1-.69.14-.378.038-1.9.209-2.5a54.113,54.113,0,0,0,.823-5.489,10.623,10.623,0,0,0-.805-4.339,27.788,27.788,0,0,1,.105-4.615,4.369,4.369,0,0,1,.445,1.993,8.269,8.269,0,0,0,1.078,3.373,5.43,5.43,0,0,1,.763,1.7c0,.243-.053.83-.053.83l.021.512a7.3,7.3,0,0,1,.071.8c-.086,1.335.126,1.084.126,1.084.179,0,.376-1.074.376-1.074a4.6,4.6,0,0,0,.082,1.419c.179.373.31-.064.313-.152.047-1.7.149-1.254.149-1.254.1,1.379.222,1.69.441,1.582.166-.079.014-1.655.014-1.655.284.936.5,1.085.5,1.085.469.329.179-.58.114-.76a5.17,5.17,0,0,1-.358-1.289c.434.86.76.828.76.828.423-.135-.37-1.353-.834-1.936a4.745,4.745,0,0,1-.631-.932,11.259,11.259,0,0,1-.254-1.687,5.071,5.071,0,0,0-.419-2.178,7.868,7.868,0,0,1-.763-2.944L73.6,8.909c-.225-2.207-1.851-2.223-1.851-2.223-1.644-.245-1.873-.776-1.873-.776a2.318,2.318,0,0,1-.149-1.462,1.747,1.747,0,0,0,.4-.859c.48-.368.456-.906.235-.9-.178,0-.138-.143-.138-.143A2.049,2.049,0,0,0,68.373,0h-.328a2.049,2.049,0,0,0-1.852,2.546s.04.147-.139.143c-.221-.006-.242.532.236.9a1.746,1.746,0,0,0,.4.859,2.318,2.318,0,0,1-.149,1.462s-.228.531-1.873.776c0,0-1.629.016-1.851,2.223l-.031,3.236a7.817,7.817,0,0,1-.763,2.944,5.089,5.089,0,0,0-.417,2.178,11.33,11.33,0,0,1-.253,1.687,4.693,4.693,0,0,1-.632.932c-.468.582-1.256,1.8-.834,1.936,0,0,.329.032.76-.828a5.119,5.119,0,0,1-.355,1.289c-.068.178-.358,1.087.111.76,0,0,.217-.149.5-1.085,0,0-.152,1.575.017,1.655.22.108.341-.2.44-1.582,0,0,.1-.445.149,1.254,0,.088.131.525.31.152a4.538,4.538,0,0,0,.083-1.419s.194,1.074.376,1.074c0,0,.214.251.126-1.084a6.719,6.719,0,0,1,.072-.8L62.5,20.7s-.053-.586-.053-.83a5.424,5.424,0,0,1,.763-1.7,8.272,8.272,0,0,0,1.076-3.373,4.38,4.38,0,0,1,.447-1.993,28.166,28.166,0,0,1,.106,4.615,10.6,10.6,0,0,0-.806,4.339,53.433,53.433,0,0,0,.822,5.489c.172.6.07,2.12.209,2.5.062.165.03.316-.1.69-.464,1.305-.405,2.224.763,5.688a4.154,4.154,0,0,1,.178,2.146s-.746,1.535-.268,1.566c0,0,.037.1.2.021a.492.492,0,0,0,.537.122.4.4,0,0,0,.479.023.329.329,0,0,0,.435.039s.339.229.54-.019c0,0,.358.079-.279-1.534a20.009,20.009,0,0,0-.378-2.047,8.216,8.216,0,0,1-.021-2.757,8.844,8.844,0,0,0-.12-2.516,8.81,8.81,0,0,1,.319-2.393A52.612,52.612,0,0,0,68,22.944l.2.069A.4.4,0,0,0,68.423,22.945Z" transform="translate(-59.768)" fill="#2e303a"/>
<path id="Path_4945" data-name="Path 4945" d="M59.165,10.877a1.411,1.411,0,1,0-1.9,1.323,2.8,2.8,0,1,1-5.6,0,1.413,1.413,0,0,0,.921-1.323v-.82c2.144-1.069,3.761-4.513,3.761-6.7,0-1.206-.109-1.8-1.127-2.327C54.918.722,54.147,0,53.523,0a1.411,1.411,0,1,0,0,2.821,2.7,2.7,0,0,0,1.493-.831c.332.214.387.463.387,1.364,0,2.2-2.015,6.112-4.232,6.112S46.94,5.56,46.94,3.354c0-.9.055-1.15.387-1.364a2.7,2.7,0,0,0,1.493.831,1.411,1.411,0,0,0,0-2.821c-.624,0-1.4.722-1.694,1.027C46.109,1.55,46,2.148,46,3.354c0,2.138,1.579,5.614,3.761,6.7v.82a1.413,1.413,0,0,0,.957,1.335,3.746,3.746,0,1,0,7.49,0A1.413,1.413,0,0,0,59.165,10.877Z" transform="translate(-31.483 0)" fill="#da4a54"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" width="36.033" height="32.32" viewBox="0 0 36.033 32.32">
<g id="Group_6982" data-name="Group 6982" transform="translate(0 0)">
<g id="Group_6964" data-name="Group 6964">
<path id="Subtraction_64" data-name="Subtraction 64" d="M807.5,957.28h-3.132a3.925,3.925,0,0,1-1.545-.314,4.019,4.019,0,0,1-2.121-2.119,3.9,3.9,0,0,1-.314-1.54V941.469a3.908,3.908,0,0,1,.314-1.543,4.014,4.014,0,0,1,2.118-2.116,3.916,3.916,0,0,1,1.54-.312h14.682a3.915,3.915,0,0,1,1.543.314,4.01,4.01,0,0,1,2.116,2.118,3.92,3.92,0,0,1,.313,1.54v2.919a3.274,3.274,0,0,0,0,6.127V953.3a3.93,3.93,0,0,1-.309,1.545,4,4,0,0,1-2.113,2.12,3.91,3.91,0,0,1-1.542.314h-3.432a10.325,10.325,0,0,0,1.118-1.11,1.034,1.034,0,0,0,.228-.817,15.093,15.093,0,0,0,2.129-4.006,14.583,14.583,0,0,0,.579-2.111,10.557,10.557,0,0,0,.2-1.981,7,7,0,0,0-.313-2.292,2.991,2.991,0,0,0-.9-1.348,4.283,4.283,0,0,0-1.436-.751c-.565-.19-1.219-.34-1.91-.5h0l0-.007a1.068,1.068,0,0,0-.956-.607,1.084,1.084,0,1,0,0,2.169,1.043,1.043,0,0,0,.638-.239l.025.009h.007l.017,0c.691.159,1.236.284,1.689.431a2.958,2.958,0,0,1,1.076.549,1.844,1.844,0,0,1,.558.947,6.338,6.338,0,0,1,.16,1.631,9.146,9.146,0,0,1-.186,1.755,13.223,13.223,0,0,1-.529,1.887,14.692,14.692,0,0,1-.825,1.874,12.98,12.98,0,0,1-1.077,1.715,1.035,1.035,0,0,0-.714.346,7.34,7.34,0,0,1-1.544,1.378,3.552,3.552,0,0,1-4.162.006,7.291,7.291,0,0,1-1.543-1.371,1.035,1.035,0,0,0-.713-.346,13.038,13.038,0,0,1-1.079-1.719,14.8,14.8,0,0,1-.827-1.878,13.155,13.155,0,0,1-.53-1.89,9.167,9.167,0,0,1-.187-1.758,6.412,6.412,0,0,1,.158-1.632,1.835,1.835,0,0,1,.556-.947,2.928,2.928,0,0,1,1.077-.549c.458-.148,1.034-.28,1.7-.432l.015,0h0l.01-.009a1.072,1.072,0,0,0,.652.24,1.084,1.084,0,1,0,0-2.168,1.052,1.052,0,0,0-.575.171,1.176,1.176,0,0,0-.393.434h0l-.014,0c-2.842.656-4.557,1.051-4.557,4.893a10.584,10.584,0,0,0,.2,1.983,14.543,14.543,0,0,0,.583,2.115,14.983,14.983,0,0,0,2.146,4.013,1.028,1.028,0,0,0,.229.816,10.456,10.456,0,0,0,1.105,1.1h0Zm1.9-11.264a.588.588,0,0,0-.592.561v4.632a.585.585,0,0,0,.591.559h4.563a.588.588,0,0,0,.594-.559v-4.623a.565.565,0,0,0-.18-.4.621.621,0,0,0-.417-.169Zm26.359,9.2h-1.607a1.387,1.387,0,0,1-.718-.208l-6.684-4.219a.66.66,0,0,1-.309-.556v-.419a3.27,3.27,0,0,0,0-4.712v-.742a.661.661,0,0,1,.309-.557l6.684-4.219a1.322,1.322,0,0,1,.718-.209h1.607a.661.661,0,0,1,.665.657v14.528a.65.65,0,0,1-.193.464.665.665,0,0,1-.471.191Z" transform="translate(-800.388 -937.498)" fill="#2e303a"/>
<path id="Path_656" data-name="Path 656" d="M894.195,1023.524l-.051,13.538c0,3.014-2.447,6.151-5.461,6.151a5.464,5.464,0,0,1-5.461-5.461l-.091-4.43c1.43-.191-2.655-.191-1.227,0l.079,4.43a6.707,6.707,0,0,0,6.7,6.693c3.69,0,6.687-3.692,6.687-7.383l.051-13.538C897.162,1023.233,892.453,1023.234,894.195,1023.524Z" transform="translate(-871.015 -1012.125)" fill="#de5c5d"/>
<path id="Path_663" data-name="Path 663" d="M970.188,998.3a1.9,1.9,0,1,1-1.9,1.9h0A1.9,1.9,0,0,1,970.188,998.3Z" transform="translate(-946.411 -990.378)" fill="#de5c5d"/>
<path id="Subtraction_64-2" data-name="Subtraction 64" d="M807.5,957.28h-3.132a3.925,3.925,0,0,1-1.545-.314,4.019,4.019,0,0,1-2.121-2.119,3.9,3.9,0,0,1-.314-1.54V941.469a3.908,3.908,0,0,1,.314-1.543,4.014,4.014,0,0,1,2.118-2.116,3.916,3.916,0,0,1,1.54-.312h14.682a3.915,3.915,0,0,1,1.543.314,4.01,4.01,0,0,1,2.116,2.118,3.92,3.92,0,0,1,.313,1.54v2.919a3.274,3.274,0,0,0,0,6.127V953.3a3.93,3.93,0,0,1-.309,1.545,4,4,0,0,1-2.113,2.12,3.91,3.91,0,0,1-1.542.314h-3.432a10.325,10.325,0,0,0,1.118-1.11,1.034,1.034,0,0,0,.228-.817,15.093,15.093,0,0,0,2.129-4.006,14.583,14.583,0,0,0,.579-2.111,10.557,10.557,0,0,0,.2-1.981,7,7,0,0,0-.313-2.292,2.991,2.991,0,0,0-.9-1.348,4.283,4.283,0,0,0-1.436-.751c-.565-.19-1.219-.34-1.91-.5h0l0-.007a1.068,1.068,0,0,0-.956-.607,1.084,1.084,0,1,0,0,2.169,1.043,1.043,0,0,0,.638-.239l.025.009h.007l.017,0c.691.159,1.236.284,1.689.431a2.958,2.958,0,0,1,1.076.549,1.844,1.844,0,0,1,.558.947,6.338,6.338,0,0,1,.16,1.631,9.146,9.146,0,0,1-.186,1.755,13.223,13.223,0,0,1-.529,1.887,14.692,14.692,0,0,1-.825,1.874,12.98,12.98,0,0,1-1.077,1.715,1.035,1.035,0,0,0-.714.346,7.34,7.34,0,0,1-1.544,1.378,3.552,3.552,0,0,1-4.162.006,7.291,7.291,0,0,1-1.543-1.371,1.035,1.035,0,0,0-.713-.346,13.038,13.038,0,0,1-1.079-1.719,14.8,14.8,0,0,1-.827-1.878,13.155,13.155,0,0,1-.53-1.89,9.167,9.167,0,0,1-.187-1.758,6.412,6.412,0,0,1,.158-1.632,1.835,1.835,0,0,1,.556-.947,2.928,2.928,0,0,1,1.077-.549c.458-.148,1.034-.28,1.7-.432l.015,0h0l.01-.009a1.072,1.072,0,0,0,.652.24,1.084,1.084,0,1,0,0-2.168,1.052,1.052,0,0,0-.575.171,1.176,1.176,0,0,0-.393.434h0l-.014,0c-2.842.656-4.557,1.051-4.557,4.893a10.584,10.584,0,0,0,.2,1.983,14.543,14.543,0,0,0,.583,2.115,14.983,14.983,0,0,0,2.146,4.013,1.028,1.028,0,0,0,.229.816,10.456,10.456,0,0,0,1.105,1.1h0Zm28.256-2.069h-1.607a1.387,1.387,0,0,1-.718-.208l-6.684-4.219a.66.66,0,0,1-.309-.556v-.419a3.27,3.27,0,0,0,0-4.712v-.742a.661.661,0,0,1,.309-.557l6.684-4.219a1.322,1.322,0,0,1,.718-.209h1.607a.661.661,0,0,1,.665.657v14.528a.65.65,0,0,1-.193.464.665.665,0,0,1-.471.191Z" transform="translate(-800.388 -937.498)" fill="#2e303a"/>
<path id="Path_4645" data-name="Path 4645" d="M232.363,4.484h.32l1,0c.119,0,.219-.127.225-.311V3.34c0-.178.08-.318.2-.326l.307,0c.124.008.209.149.209.326V4.18c.005.183.089.3.209.3l1.348,0,0-1.034c0-.178-.085-.316-.21-.324l-.542,0c-.12,0-.214-.126-.219-.31l0-.28c.006-.183.1-.31.221-.31l.544,0c.124-.008.2-.154.2-.332V.6a.55.55,0,0,1-.417.261h-.916c-.119,0-.219.13-.225.314v.829c-.006.183-.1.313-.219.313l-.277,0c-.12,0-.216-.125-.222-.308V1.172c-.005-.184-.1-.307-.22-.307h-1.329V1.9c0,.178.083.321.207.329l.545,0c.123.008.21.155.21.332l0,.239c0,.178-.084.32-.208.328h-.545c-.124.008-.207.149-.207.327ZM236.941.532V4.844a.548.548,0,0,1-.554.521h-4.256a.546.546,0,0,1-.552-.522V.523A.548.548,0,0,1,232.131,0l4.252,0a.558.558,0,0,1,.557.53" transform="translate(-223.139 8.931)" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

@ -0,0 +1,5 @@
<svg id="Group_8429" data-name="Group 8429" xmlns="http://www.w3.org/2000/svg" width="31.346" height="31.94" viewBox="0 0 31.346 31.94">
<path id="Path_5095" data-name="Path 5095" d="M132.741,147.943a8.267,8.267,0,0,1-7.14,3.659,8.465,8.465,0,0,1-7.027-12.764l6.243-10.641a1.154,1.154,0,0,1,1.4-.5,1.138,1.138,0,0,1,.6.5l6.243,10.641A8.474,8.474,0,0,1,132.741,147.943Zm0,0" transform="translate(-110.073 -119.664)" fill="#de5c5d"/>
<path id="Path_5096" data-name="Path 5096" d="M366.039,9.648a4.471,4.471,0,0,1-4.3,2.722A4.551,4.551,0,0,1,358,5.506L360.9.57a1.154,1.154,0,0,1,1.4-.5,1.131,1.131,0,0,1,.6.5l2.9,4.936A4.541,4.541,0,0,1,366.039,9.648Zm0,0" transform="translate(-335.077 0.001)" fill="#de5c5d"/>
<path id="Path_5097" data-name="Path 5097" d="M7.76,107.5a3.965,3.965,0,0,1-3.752,2.62A4.029,4.029,0,0,1,.56,104.039l2.564-4.372a1.024,1.024,0,0,1,1.34-.4,1.009,1.009,0,0,1,.426.4l2.564,4.372A4.017,4.017,0,0,1,7.76,107.5Zm0,0" transform="translate(0 -92.976)" fill="#de5c5d"/>
</svg>

After

Width:  |  Height:  |  Size: 999 B

@ -0,0 +1,5 @@
<svg id="Group_7066" data-name="Group 7066" xmlns="http://www.w3.org/2000/svg" width="28.357" height="28.357" viewBox="0 0 28.357 28.357">
<path id="Path_4367" data-name="Path 4367" d="M24.7,2.215H22.154V.886a.886.886,0,1,0-1.772,0V2.215H7.976V.886A.886.886,0,1,0,6.2.886V2.215H3.655A3.66,3.66,0,0,0,0,5.871V24.7a3.66,3.66,0,0,0,3.655,3.655H24.7A3.66,3.66,0,0,0,28.357,24.7V5.871A3.66,3.66,0,0,0,24.7,2.215ZM26.585,24.7A1.883,1.883,0,0,1,24.7,26.585H3.655A1.883,1.883,0,0,1,1.772,24.7V10.025a.277.277,0,0,1,.277-.277H26.308a.277.277,0,0,1,.277.277Z" fill="#2e303a"/>
<line id="Line_12" data-name="Line 12" y2="10.743" transform="translate(13.755 12.168)" fill="none" stroke="#da4a54" stroke-width="2.5"/>
<line id="Line_13" data-name="Line 13" y2="10.743" transform="translate(19.127 17.539) rotate(90)" fill="none" stroke="#da4a54" stroke-width="2.5"/>
</svg>

After

Width:  |  Height:  |  Size: 867 B

@ -0,0 +1,89 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29.723" height="30.591" viewBox="0 0 29.723 30.591">
<g id="injection" transform="translate(-2.188 -1.267)">
<g id="Group_8391" data-name="Group 8391" transform="translate(2.188 26.82)">
<g id="Group_8390" data-name="Group 8390">
<path id="Path_5064" data-name="Path 5064" d="M2.89,60.126a.7.7,0,0,1-.5-.206.7.7,0,0,1,0-.991L5.16,56.164a.7.7,0,1,1,.991.991L3.385,59.921A.685.685,0,0,1,2.89,60.126Z" transform="translate(-2.188 -55.957)" fill="#2e303a"/>
</g>
</g>
<g id="Group_8409" data-name="Group 8409" transform="translate(4.631 3.194)">
<g id="Group_8392" data-name="Group 8392" transform="translate(0.502 2.995)">
<path id="Path_5065" data-name="Path 5065" d="M30.348,18.486,15.6,33.232a1.444,1.444,0,0,1-2.037,0L8.917,28.583a1.435,1.435,0,0,1,0-2.037L23.662,11.8Z" transform="translate(-8.492 -11.8)" fill="#2e303a"/>
</g>
<g id="Group_8393" data-name="Group 8393" transform="translate(0.506 11.755)">
<path id="Path_5066" data-name="Path 5066" d="M14.906,30.55,8.921,36.535a1.444,1.444,0,0,0,0,2.037l4.649,4.649a1.444,1.444,0,0,0,2.037,0l8.134-8.134Z" transform="translate(-8.5 -30.55)" fill="#de5c5d"/>
</g>
<g id="Group_8394" data-name="Group 8394" transform="translate(0 20.628)">
<path id="Path_5067" data-name="Path 5067" d="M10.984,53.652l1.159-1.159L9.189,49.54,8.031,50.7a2.088,2.088,0,0,0,2.953,2.953Z" transform="translate(-7.418 -49.54)" fill="#2e303a"/>
</g>
<g id="Group_8395" data-name="Group 8395" transform="translate(0.005 22.726)" opacity="0.1">
<path id="Path_5068" data-name="Path 5068" d="M12.148,54.885l-1.159,1.159A2.085,2.085,0,0,1,7.5,54.03a1.994,1.994,0,0,0,.537.939,2.087,2.087,0,0,0,2.953,0l.621-.621Z" transform="translate(-7.428 -54.03)" fill="#070707"/>
</g>
<g id="Group_8396" data-name="Group 8396" transform="translate(17.798 0)">
<path id="Path_5069" data-name="Path 5069" d="M53.065,7.824l-4.457,4.462-.663.659L45.51,10.511l.663-.659L50.631,5.39Z" transform="translate(-45.51 -5.39)" fill="#2e303a"/>
</g>
<g id="Group_8398" data-name="Group 8398" transform="translate(16.834 9.007)">
<g id="Group_8397" data-name="Group 8397">
<path id="Path_5070" data-name="Path 5070" d="M46.878,27.435l-.659.659h0l-2.63-2.63a.465.465,0,0,1,0-.659.471.471,0,0,1,.663,0Z" transform="translate(-43.447 -24.667)" fill="#fff"/>
</g>
</g>
<g id="Group_8400" data-name="Group 8400" transform="translate(15.675 12.212)">
<g id="Group_8399" data-name="Group 8399" transform="translate(0)">
<path id="Path_5071" data-name="Path 5071" d="M43.375,33.271l-.663.663L41.1,32.323a.466.466,0,1,1,.659-.659Z" transform="translate(-40.967 -31.527)" fill="#fff"/>
</g>
</g>
<g id="Group_8402" data-name="Group 8402" transform="translate(12.466 13.371)">
<g id="Group_8401" data-name="Group 8401">
<path id="Path_5072" data-name="Path 5072" d="M37.528,36.779l-.659.659-2.635-2.63a.469.469,0,0,1,.663-.663Z" transform="translate(-34.097 -34.007)" fill="#fff"/>
</g>
</g>
<g id="Group_8404" data-name="Group 8404" transform="translate(11.307 16.576)">
<g id="Group_8403" data-name="Group 8403">
<path id="Path_5073" data-name="Path 5073" d="M34.025,42.616l-.659.659h0l-1.607-1.607a.471.471,0,0,1,0-.663.465.465,0,0,1,.659,0Z" transform="translate(-31.617 -40.868)" fill="#fff"/>
</g>
</g>
<g id="Group_8406" data-name="Group 8406" transform="translate(8.102 17.739)">
<g id="Group_8405" data-name="Group 8405">
<path id="Path_5074" data-name="Path 5074" d="M28.183,46.125v0l-.659.659-2.63-2.635a.466.466,0,0,1,.659-.659Z" transform="translate(-24.757 -43.357)" fill="#fff"/>
</g>
</g>
<g id="Group_8408" data-name="Group 8408" transform="translate(6.938 20.945)">
<g id="Group_8407" data-name="Group 8407">
<path id="Path_5075" data-name="Path 5075" d="M24.675,51.966l-.659.659L22.4,51.018a.469.469,0,0,1,.663-.663Z" transform="translate(-22.267 -50.218)" fill="#fff"/>
</g>
</g>
</g>
<g id="Group_8410" data-name="Group 8410" transform="translate(23.326 20.986)">
<path id="Path_5076" data-name="Path 5076" d="M55.116,46.89v6.2a1.254,1.254,0,0,1-1.257,1.257H48.692a1.258,1.258,0,0,1-1.262-1.257V46.895A1.266,1.266,0,0,1,48.7,45.633a1.262,1.262,0,0,0,1.257-1.205V43.47H52.6v.958a1.26,1.26,0,0,0,1.257,1.205h0A1.254,1.254,0,0,1,55.116,46.89Z" transform="translate(-47.43 -43.47)" fill="#6f6f6f"/>
</g>
<g id="Group_8411" data-name="Group 8411" transform="translate(23.321 26.822)">
<path id="Path_5077" data-name="Path 5077" d="M47.42,56.148v3.593A1.258,1.258,0,0,0,48.682,61h5.168a1.254,1.254,0,0,0,1.257-1.257V56.148C52.438,55.41,50.653,57.181,47.42,56.148Z" transform="translate(-47.42 -55.962)" fill="#de5c5d"/>
</g>
<g id="Group_8413" data-name="Group 8413" transform="translate(25.844 20.986)" opacity="0.1">
<path id="Path_5079" data-name="Path 5079" d="M52.82,43.47h2.645v.565H52.82Z" transform="translate(-52.82 -43.47)" fill="#070707"/>
</g>
<g id="Group_8414" data-name="Group 8414" transform="translate(24.714 19.121)">
<path id="Path_5080" data-name="Path 5080" d="M55.306,39.947V40.9a.469.469,0,0,1-.467.467H50.867A.469.469,0,0,1,50.4,40.9v-.953a.469.469,0,0,1,.467-.467h3.971A.466.466,0,0,1,55.306,39.947Z" transform="translate(-50.4 -39.48)" fill="#2e303a"/>
</g>
<g id="Group_8415" data-name="Group 8415" transform="translate(24.709 19.121)" opacity="0.1">
<path id="Path_5081" data-name="Path 5081" d="M55.3,39.947V40.9a.469.469,0,0,1-.467.467H50.857a.469.469,0,0,1-.467-.467V40.84h3.915a.469.469,0,0,0,.467-.467V39.48h.061A.469.469,0,0,1,55.3,39.947Z" transform="translate(-50.39 -39.48)" fill="#070707"/>
</g>
<g id="Group_8416" data-name="Group 8416" transform="translate(23.326 24.906)">
<path id="Path_5082" data-name="Path 5082" d="M50.659,52.4v3.63a.544.544,0,0,1-.547.547H47.43V51.86h2.682a.538.538,0,0,1,.547.542Z" transform="translate(-47.43 -51.86)" fill="#259bd6"/>
</g>
<g id="Group_8420" data-name="Group 8420" transform="translate(25.624 1.267)">
<g id="Group_8419" data-name="Group 8419" transform="translate(0 0)">
<g id="Group_8418" data-name="Group 8418">
<path id="Path_5084" data-name="Path 5084" d="M58.17,7.558a.479.479,0,0,1-.332-.135L52.484,2.063a.466.466,0,1,1,.659-.659L58.5,6.759a.465.465,0,0,1,0,.659A.446.446,0,0,1,58.17,7.558Z" transform="translate(-52.347 -1.267)" fill="#2e303a"/>
</g>
</g>
</g>
<g id="Group_8422" data-name="Group 8422" transform="translate(22.429 7.656)" opacity="0.1">
<path id="Path_5086" data-name="Path 5086" d="M48.608,17.374l-.663.659L45.51,15.6l.663-.659Z" transform="translate(-45.51 -14.94)" fill="#070707"/>
</g>
<g id="Group_8424" data-name="Group 8424" transform="translate(19.545 5.426)">
<g id="Group_8423" data-name="Group 8423">
<path id="Path_5087" data-name="Path 5087" d="M47.076,18.378a.479.479,0,0,1-.332-.135l-7.27-7.279a.466.466,0,0,1,.659-.659l7.275,7.275a.465.465,0,0,1,0,.659A.456.456,0,0,1,47.076,18.378Z" transform="translate(-39.337 -10.167)" fill="#2e303a"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

@ -0,0 +1,20 @@
<svg id="car_2_" data-name="car (2)" xmlns="http://www.w3.org/2000/svg" width="36.25" height="26.585" viewBox="0 0 36.25 26.585">
<g id="Group_8169" data-name="Group 8169" transform="translate(0 6.37)">
<path id="Path_4845" data-name="Path 4845" d="M325.672,265.192l2.665-.016a.92.92,0,0,1,.925.914l.032,5.291a.92.92,0,0,1-.914.925l-2.665.016a.92.92,0,0,1-.925-.914l-.032-5.291A.92.92,0,0,1,325.672,265.192Z" transform="translate(-295.231 -252.268)" fill="#2f4859"/>
<path id="Path_4846" data-name="Path 4846" d="M27.439,266.967l2.665-.016a.92.92,0,0,1,.925.914l.031,5.291a.92.92,0,0,1-.914.925l-2.665.016a.92.92,0,0,1-.925-.914l-.032-5.291A.92.92,0,0,1,27.439,266.967Z" transform="translate(-24.113 -253.882)" fill="#2f4859"/>
<path id="Path_4847" data-name="Path 4847" d="M351.094,123.245a.43.43,0,0,0-.389.433.87.87,0,0,1-.651.952l-.663,0,.34.993s4.268-.026,4.14-1.427C353.772,123.111,351.919,123.166,351.094,123.245Z" transform="translate(-317.624 -123.208)" fill="#2f4859"/>
<path id="Path_4848" data-name="Path 4848" d="M2.78,123.245a.43.43,0,0,1,.39.433.869.869,0,0,0,.651.952l.663,0-.34.993S-.125,125.6,0,124.2c.1-1.088,1.951-1.034,2.777-.954Z" transform="translate(0 -123.208)" fill="#2f4859"/>
</g>
<path id="Path_4849" data-name="Path 4849" d="M44.372,67.882a7.343,7.343,0,0,0-.884-2.973l-1.8-3.3s-3.194-7.2-4.525-7.773c-1.287-.554-9.5-.679-10.044-.686h-.03c-.544.014-8.755.237-10.035.806-1.324.589-4.434,7.825-4.434,7.825L10.863,65.1a7.35,7.35,0,0,0-.849,2.983,21.5,21.5,0,0,0,.735,6.839,2.4,2.4,0,0,0,2.335,1.763l14.145-.082h.03L41.4,76.523a2.4,2.4,0,0,0,2.313-1.791,21.477,21.477,0,0,0,.654-6.849Z" transform="translate(-9.076 -53.151)" fill="#de5c5d"/>
<path id="Path_4850" data-name="Path 4850" d="M119.245,261.412l13.784-.082a.447.447,0,0,1,.449.444l.014,2.347a.447.447,0,0,1-.444.449l-13.784.082a.447.447,0,0,1-.449-.444l-.014-2.347A.447.447,0,0,1,119.245,261.412Z" transform="translate(-108 -242.402)" fill="#3a556a"/>
<path id="Path_4851" data-name="Path 4851" d="M80.067,65.472a.9.9,0,0,0-.8-.524l-9.425-.193h-.03l-9.423.306a.9.9,0,0,0-.792.533l-2.7,6.082L69.853,71.6h.03l12.961-.077Z" transform="translate(-51.721 -63.7)" fill="#2f4859"/>
<path id="Path_4852" data-name="Path 4852" d="M329.158,256.968a1.645,1.645,0,1,0,1.655,1.636h0A1.645,1.645,0,0,0,329.158,256.968Z" transform="translate(-297.744 -238.437)" fill="#ebf0f3"/>
<path id="Path_4853" data-name="Path 4853" d="M38.622,258.7a1.645,1.645,0,1,0,1.655,1.635A1.645,1.645,0,0,0,38.622,258.7Z" transform="translate(-33.624 -240.015)" fill="#ebf0f3"/>
<path id="Path_4854" data-name="Path 4854" d="M131.61,216.343h12v1.5h-12Z" transform="translate(-119.644 -201.506)" fill="#3a556a"/>
<path id="Path_4855" data-name="Path 4855" d="M292.439,184.776a.638.638,0,0,0-.787-.548l-5.487,1.342a.639.639,0,0,0-.394.29l-1.087,1.8a.638.638,0,0,0,.546.967h5.361a.642.642,0,0,0,.353-.1A3.664,3.664,0,0,0,292.439,184.776Z" transform="translate(-258.716 -172.294)" fill="#e1e6e9"/>
<path id="Path_4856" data-name="Path 4856" d="M330.774,196.033a1.2,1.2,0,1,0,1.25,1.152A1.2,1.2,0,0,0,330.774,196.033Z" transform="translate(-299.652 -183.041)" fill="#bdbec1"/>
<path id="Path_4857" data-name="Path 4857" d="M305.515,208.653a.914.914,0,1,0,.95.877h0A.914.914,0,0,0,305.515,208.653Z" transform="translate(-276.94 -194.515)" fill="#bdbec1"/>
<path id="Path_4858" data-name="Path 4858" d="M27.445,184.776a.638.638,0,0,1,.787-.548l5.487,1.342a.639.639,0,0,1,.394.29l1.087,1.8a.638.638,0,0,1-.546.967H29.294a.642.642,0,0,1-.353-.1A3.664,3.664,0,0,1,27.445,184.776Z" transform="translate(-24.918 -172.294)" fill="#e1e6e9"/>
<path id="Path_4859" data-name="Path 4859" d="M43.888,196.033a1.2,1.2,0,1,1-1.25,1.152A1.2,1.2,0,0,1,43.888,196.033Z" transform="translate(-38.76 -183.041)" fill="#bdbec1"/>
<path id="Path_4860" data-name="Path 4860" d="M74.9,208.653a.914.914,0,1,1-.95.877h0A.914.914,0,0,1,74.9,208.653Z" transform="translate(-67.228 -194.515)" fill="#bdbec1"/>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1,15 @@
<svg id="calculator_1_" data-name="calculator (1)" xmlns="http://www.w3.org/2000/svg" width="33.121" height="33.121" viewBox="0 0 33.121 33.121">
<path id="Path_5098" data-name="Path 5098" d="M28.528,0H2.911A2.914,2.914,0,0,0,0,2.911V28.528a2.914,2.914,0,0,0,2.911,2.911H22.059a.97.97,0,0,0,.686-.284l8.41-8.41a.97.97,0,0,0,.284-.686V2.911A2.914,2.914,0,0,0,28.528,0Z" fill="#696969"/>
<path id="Path_5099" data-name="Path 5099" d="M15.72,0H2.911A2.914,2.914,0,0,0,0,2.911V15.72H15.72Z" fill="#4d4e55"/>
<path id="Path_5100" data-name="Path 5100" d="M258.72,15.72V2.911A2.914,2.914,0,0,0,255.809,0H243V15.72Z" transform="translate(-227.28)" fill="#2e303a"/>
<path id="Path_5101" data-name="Path 5101" d="M243,243v15.72h6.34a.97.97,0,0,0,.686-.284l8.41-8.41a.97.97,0,0,0,.284-.686V243Zm14.749,6.34h0Z" transform="translate(-227.28 -227.28)" fill="#414141"/>
<path id="Path_5102" data-name="Path 5102" d="M0,243v12.809a2.914,2.914,0,0,0,2.911,2.911H15.72V243Z" transform="translate(0 -227.28)" fill="#2e303a"/>
<path id="Path_5103" data-name="Path 5103" d="M77,73.764H75.7V72.47a.97.97,0,0,0-1.941,0v1.294H72.47a.97.97,0,0,0,0,1.941h1.294V77A.97.97,0,0,0,75.7,77V75.7H77a.97.97,0,0,0,0-1.941Z" transform="translate(-66.875 -66.875)" fill="#fff"/>
<path id="Path_5104" data-name="Path 5104" d="M320,108.441H315.47a.97.97,0,1,1,0-1.941H320a.97.97,0,0,1,0,1.941Z" transform="translate(-294.155 -99.611)" fill="#fff"/>
<path id="Path_5105" data-name="Path 5105" d="M85.459,327.087l.931-.931a.97.97,0,1,0-1.372-1.372l-.931.931-.931-.931a.97.97,0,1,0-1.372,1.372l.931.931-.931.931a.97.97,0,1,0,1.372,1.372l.931-.931.931.931a.97.97,0,0,0,1.372-1.372Z" transform="translate(-76.227 -303.508)" fill="#fff"/>
<path id="Path_5106" data-name="Path 5106" d="M212.027,222.054a10.027,10.027,0,1,1,10.027-10.027A10.038,10.038,0,0,1,212.027,222.054Z" transform="translate(-188.933 -188.933)" fill="#de5c5d"/>
<g id="Group_8431" data-name="Group 8431" transform="translate(19.86 20.183)">
<path id="Path_5107" data-name="Path 5107" d="M312.5,373.941H307.97a.97.97,0,0,1,0-1.941H312.5a.97.97,0,1,1,0,1.941Z" transform="translate(-307 -368.119)" fill="#fff"/>
<path id="Path_5108" data-name="Path 5108" d="M312.5,313.941H307.97a.97.97,0,0,1,0-1.941H312.5a.97.97,0,1,1,0,1.941Z" transform="translate(-307 -312)" fill="#fff"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" width="30.758" height="32.546" viewBox="0 0 30.758 32.546">
<g id="swap" transform="translate(-14.063 0.001)">
<g id="Group_8434" data-name="Group 8434" transform="translate(14.063 -0.001)">
<g id="Group_8433" data-name="Group 8433" transform="translate(0 0)">
<path id="Path_5141" data-name="Path 5141" d="M41.166,5.582H20.456l3.337-3.337A1.316,1.316,0,0,0,21.932.384L14.448,7.868a1.316,1.316,0,0,0,0,1.861l7.483,7.483a1.316,1.316,0,0,0,1.861-1.861l-3.337-3.337H41.166a3.216,3.216,0,0,0,0-6.432Z" transform="translate(-14.063 0.001)" fill="#2e303a"/>
</g>
</g>
<g id="Group_8436" data-name="Group 8436" transform="translate(14.502 14.947)">
<g id="Group_8435" data-name="Group 8435">
<path id="Path_5142" data-name="Path 5142" d="M50.9,243.024l-7.483-7.483a1.316,1.316,0,0,0-1.861,1.861l3.337,3.337H24.18a3.216,3.216,0,0,0,0,6.432H44.891l-3.337,3.337a1.316,1.316,0,1,0,1.861,1.861l7.483-7.483A1.316,1.316,0,0,0,50.9,243.024Z" transform="translate(-20.964 -235.155)" fill="#de5c5d"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,17 @@
<svg xmlns="http://www.w3.org/2000/svg" width="17.983" height="35.071" viewBox="0 0 17.983 35.071">
<g id="journalism" transform="translate(-0.5 -0.001)">
<path id="Path_5128" data-name="Path 5128" d="M78.014,335.73v9.408a2.666,2.666,0,0,1-2.666,2.666h-3.2a2.666,2.666,0,0,1-2.666-2.666V335.73Zm0,0" transform="translate(-64.255 -312.732)" fill="#2e303a"/>
<path id="Path_5130" data-name="Path 5130" d="M30.909,16.548a26.612,26.612,0,0,1-9.3,0,3.333,3.333,0,0,1-2.706-2.784,34.666,34.666,0,0,1,0-10.569A3.333,3.333,0,0,1,21.614.41a26.625,26.625,0,0,1,9.3,0,3.333,3.333,0,0,1,2.706,2.784,34.683,34.683,0,0,1,0,10.569A3.333,3.333,0,0,1,30.909,16.548Zm0,0" transform="translate(-16.77)" fill="#2e303a"/>
<path id="Path_5131" data-name="Path 5131" d="M25,17.347a26.784,26.784,0,0,1-3.38-.378,3.333,3.333,0,0,1-2.707-2.784,34.684,34.684,0,0,1,0-10.569A3.334,3.334,0,0,1,21.617.831,26.782,26.782,0,0,1,25,.453,3.519,3.519,0,0,0,22.42,3.328a36.564,36.564,0,0,0,0,11.144A3.519,3.519,0,0,0,25,17.347Zm0,0" transform="translate(-16.772 -0.421)" fill="#20303f"/>
<path id="Path_5132" data-name="Path 5132" d="M18.483,230.207V234.1a2.636,2.636,0,0,1-2.636,2.637H3.136A2.637,2.637,0,0,1,.5,234.1v-3.889a2.637,2.637,0,0,1,2.636-2.637H15.847A2.636,2.636,0,0,1,18.483,230.207Zm0,0" transform="translate(0 -211.981)" fill="#da4a54"/>
<g id="Group_8432" data-name="Group 8432" transform="translate(2.426 17.774)">
<path id="Path_5134" data-name="Path 5134" d="M31.248,259.727c-.26,0-.435.127-.435.317v2.4l-1.175-2.292c-.145-.278-.282-.429-.59-.429-.264,0-.435.127-.435.323v4.1c0,.212.219.323.435.323.256,0,.435-.133.435-.323v-2.413l1.28,2.437h0a.539.539,0,0,0,.484.3c.256,0,.435-.133.435-.323v-4.1C31.683,259.851,31.512,259.727,31.248,259.727Zm0,0" transform="translate(-28.613 -259.708)" fill="#e6e6e6"/>
<path id="Path_5135" data-name="Path 5135" d="M89.381,260.522c.187,0,.323-.17.323-.4a.352.352,0,0,0-.323-.391H87.175a.361.361,0,0,0-.4.323v4.1a.361.361,0,0,0,.4.323h2.206a.352.352,0,0,0,.323-.391c0-.234-.136-.4-.323-.4H87.647v-1.212h.848a.37.37,0,0,0,0-.733h-.848v-1.206Zm0,0" transform="translate(-82.793 -259.708)" fill="#e6e6e6"/>
<path id="Path_5136" data-name="Path 5136" d="M139.343,259.8a.318.318,0,0,0-.333.215l-.271,2.925-.405-1.612a.477.477,0,0,0-.863,0l-.406,1.615-.268-2.907,0-.018a.318.318,0,0,0-.333-.215c-.243,0-.515.153-.515.373a.3.3,0,0,0,.008.082l.413,3.906a.407.407,0,0,0,.24.33,1.1,1.1,0,0,0,.409.083.5.5,0,0,0,.519-.3l.367-1.461.367,1.461a.5.5,0,0,0,.519.3,1.09,1.09,0,0,0,.408-.083.408.408,0,0,0,.241-.33l.413-3.905a.3.3,0,0,0,.008-.082C139.858,259.958,139.586,259.8,139.343,259.8Zm0,0" transform="translate(-128.593 -259.781)" fill="#e6e6e6"/>
<path id="Path_5137" data-name="Path 5137" d="M198.574,261.3c-.448-.181-.722-.307-.722-.612,0-.378.363-.458.668-.458a1.181,1.181,0,0,1,.611.154.538.538,0,0,0,.245.081c.247,0,.379-.267.379-.459,0-.436-.776-.553-1.234-.553-.743,0-1.538.34-1.538,1.3,0,.871.63,1.137,1.186,1.371.444.187.828.349.828.785,0,.5-.472.55-.674.55a1,1,0,0,1-.745-.315.488.488,0,0,0-.314-.174.461.461,0,0,0-.391.459c0,.4.631.838,1.476.838a1.368,1.368,0,0,0,1.519-1.426C199.866,261.825,199.15,261.536,198.574,261.3Zm0,0" transform="translate(-185.346 -259.457)" fill="#e6e6e6"/>
</g>
<path id="Path_5138" data-name="Path 5138" d="M189.03,29.156a.532.532,0,1,1,.522-.428A.536.536,0,0,1,189.03,29.156Zm0,0" transform="translate(-175.121 -26.17)" fill="#20303f"/>
<path id="Path_5139" data-name="Path 5139" d="M205.285,50.391a.532.532,0,1,1,.523-.434A.537.537,0,0,1,205.285,50.391Zm0,0" transform="translate(-190.267 -45.948)" fill="#20303f"/>
<path id="Path_5140" data-name="Path 5140" d="M178.957,54.437a.532.532,0,1,1,.521-.428A.536.536,0,0,1,178.957,54.437Zm0,0" transform="translate(-165.742 -49.717)" fill="#20303f"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.7 KiB

@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29.98" height="26.475" viewBox="0 0 29.98 26.475">
<g id="Group_8437" data-name="Group 8437" transform="translate(-1 -1)">
<path id="Path_5143" data-name="Path 5143" d="M30.98,2.2V14.562a3.007,3.007,0,0,0-1.363-.325H14.955l-1.976-3.49a2.785,2.785,0,0,0-2.439-1.324H9.176V2.2A1.291,1.291,0,0,1,10.539,1H29.618A1.291,1.291,0,0,1,30.98,2.2Zm-6.814,3.61H21.441V3.407H18.716V5.814H15.99V8.22h2.725v2.407h2.725V8.22h2.725Z" fill="#de5c5d"/>
<path id="Path_5144" data-name="Path 5144" d="M30.98,16.644v7.22a3.872,3.872,0,0,1-4.088,3.61H5.088A3.872,3.872,0,0,1,1,23.864V11.831a1.291,1.291,0,0,1,1.363-1.2V8.22A3.872,3.872,0,0,1,6.451,4.61H7.814V7.017H6.451a1.291,1.291,0,0,0-1.363,1.2v2.407h5.451a1.393,1.393,0,0,1,1.226.662l.136.241,2.208,3.911H29.618A1.291,1.291,0,0,1,30.98,16.644Z" fill="#2e303a"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 866 B

@ -0,0 +1,47 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32.001" viewBox="0 0 32 32.001">
<g id="family" transform="translate(-0.004 0)">
<path id="Path_5017" data-name="Path 5017" d="M270.514,15.439h-2.821a.779.779,0,0,1-.776-.776l-.388-6.579s-.628-5.45,2.63-6.166c0,0,1.325-2.578,5.568-1.752a1.646,1.646,0,0,1,.17.05,6.451,6.451,0,0,1,2.642,1.591,6.823,6.823,0,0,1,1.9,5.354c0,1.887.03-.21-.388,7.5a.779.779,0,0,1-.776.776h-3" transform="translate(-249.821 -0.002)" fill="#2e303a"/>
<path id="Path_5018" data-name="Path 5018" d="M271,15.523V14.6a4.883,4.883,0,0,1-2.923-4.228c0-.012,0-.05,0-.057,0-.064,0-.128,0-.193,0-2.9,0-2.729,0-2.776-.029-1.55.211-4.8,2.677-5.345a4.1,4.1,0,0,1,3.2-1.87c-1.819-.2-3.953.341-4.795,1.87-2.2.483-2.728,3.161-2.676,5.4q0,.047,0,.091c.013.415.043.676.043.676l.388,6.579a.779.779,0,0,0,.776.776Z" transform="translate(-249.818 -0.086)" fill="#2e303a"/>
<path id="Path_5019" data-name="Path 5019" d="M14.271,244.618l.835-7.458c.293-2.252.173-3.117.9-4a3.34,3.34,0,0,0-.756-.656l-.023-.006a11.465,11.465,0,0,0-2.908-.892h0l-1.493-.715h0v-1.784a4.9,4.9,0,0,1-3.894.01h0L6.924,230.9h0l-1.487.707h0a11.469,11.469,0,0,0-2.908.892l-.023.006a2.084,2.084,0,0,0-.205.144,3.212,3.212,0,0,0-1.24,2.632l-.447,3.993h0c-.629,5.715-.61,5.255-.61,5.7a1.727,1.727,0,0,0,1.787,1.82h0c.125,0,14.106,0,14.213,0A1.777,1.777,0,0,1,14.271,244.618Z" transform="translate(-0.001 -214.788)" fill="#dd9a5e"/>
<path id="Path_5022" data-name="Path 5022" d="M245.8,247.531c-1.137-10.068-1.073-9.784-1.175-10.276a2.793,2.793,0,0,0-1.315-1.837l-.023-.006a3.971,3.971,0,0,0-.942-.4l-3.278-.816a.422.422,0,0,1-.18-.388v-1.581a4.893,4.893,0,0,1-3.894-.008V233.8a.422.422,0,0,1-.18.388c-2.773.739-3.39.722-4.22,1.219l-.023.006a2.859,2.859,0,0,0-1.394,2.322l-1.1,9.792a1.776,1.776,0,0,0,1.775,2.171h14.172a1.727,1.727,0,0,0,1.787-1.82v0A3.432,3.432,0,0,0,245.8,247.531Z" transform="translate(-213.813 -217.701)" fill="#eab883"/>
<path id="Path_5023" data-name="Path 5023" d="M229.68,287.478v0a3.4,3.4,0,0,1,.012-.349l1.1-10.371a2.872,2.872,0,0,1,1.367-2.3,5.249,5.249,0,0,0-1.559.556l-.023.006a2.859,2.859,0,0,0-1.394,2.322l-1.1,9.792a1.776,1.776,0,0,0,1.775,2.171h1.61A1.727,1.727,0,0,1,229.68,287.478Z" transform="translate(-213.813 -257.297)" fill="#d8a373"/>
<path id="Path_5024" data-name="Path 5024" d="M254.353,242.184c-.517-4.587-.494-4.534-.576-4.931a2.8,2.8,0,0,0-1.315-1.837l-.023-.006a3.97,3.97,0,0,0-.942-.4l-3.278-.816a.422.422,0,0,1-.18-.388v-1.581h0v-.008a4.852,4.852,0,0,1-3.894,0v.008h0V233.8a.422.422,0,0,1-.18.388c-2.773.739-3.39.721-4.22,1.219l-.023.006a2.873,2.873,0,0,0-1.394,2.322l-.5,4.446,3.136.329a.316.316,0,0,1,.282.33L240.9,249.7h10.4l-.361-6.831a.343.343,0,0,1,.307-.359Z" transform="translate(-222.96 -217.7)" fill="#de5c5d"/>
<path id="Path_5025" data-name="Path 5025" d="M237.827,281.78l1.559.164.548-5.189a2.871,2.871,0,0,1,1.367-2.3,5.32,5.32,0,0,0-1.559.557l-.023.006a2.793,2.793,0,0,0-1.315,1.837C238.3,277.338,238.322,277.444,237.827,281.78Z" transform="translate(-222.959 -257.296)" fill="#a82626"/>
<path id="Path_5026" data-name="Path 5026" d="M24.39,259.258l-.023-.006a11.414,11.414,0,0,0-2.9-.89v0l-1.493-.715-.011.016v-.006l-1.947,1.833-1.942-1.837-1.487.707h0a11.47,11.47,0,0,0-2.908.892l-.023.006a2.86,2.86,0,0,0-1.394,2.322l-.5,4.447,3.076.323a.367.367,0,0,1,.328.384l-.342,6.809h10.4l-.361-6.831a.344.344,0,0,1,.307-.36l.822-.086c.6-5,.427-5.451,1.157-6.344A4.427,4.427,0,0,0,24.39,259.258Z" transform="translate(-9.154 -241.541)" fill="#2e303a"/>
<path id="Path_5028" data-name="Path 5028" d="M321.57,231.621l-1.313-.327a.422.422,0,0,1-.18-.388v-1.774h0v-.008a4.854,4.854,0,0,1-3.894,0v.008h0v1.774a.422.422,0,0,1-.18.388l-1.333.332A3.954,3.954,0,0,0,321.57,231.621Z" transform="translate(-294.999 -214.803)" fill="#eab883"/>
<path id="SVGCleanerId_0" d="M44.139,7.782V6.1A6.114,6.114,0,0,1,53.731,1.1c3.143,2.194,2.544,5.422,2.614,6.686" transform="translate(-41.377 0)" fill="#4c4846"/>
<g id="Group_8382" data-name="Group 8382" transform="translate(2.762 0)">
<path id="SVGCleanerId_0_1_" d="M44.139,7.782V6.1A6.114,6.114,0,0,1,53.731,1.1c3.143,2.194,2.544,5.422,2.614,6.686" transform="translate(-44.139 0)" fill="#2e303a"/>
</g>
<path id="Path_5029" data-name="Path 5029" d="M50.85.035a6.108,6.108,0,0,0-6.711,6.072V7.786h1.217V6.108A6.1,6.1,0,0,1,50.85.035Z" transform="translate(-41.377 -0.004)" fill="#3f3b39"/>
<g id="Group_8383" data-name="Group 8383" transform="translate(2.458 7.054)">
<path id="Path_5030" data-name="Path 5030" d="M221.477,114.131a1.414,1.414,0,0,1-1.521,1.273v-2.547A1.414,1.414,0,0,1,221.477,114.131Z" transform="translate(-208.663 -112.858)" fill="#dd9a5e"/>
<path id="Path_5031" data-name="Path 5031" d="M39.279,114.131A1.414,1.414,0,0,0,40.8,115.4v-2.547A1.414,1.414,0,0,0,39.279,114.131Z" transform="translate(-39.279 -112.858)" fill="#dd9a5e"/>
</g>
<g id="Group_8384" data-name="Group 8384" transform="translate(2.457 7.755)">
<path id="Path_5032" data-name="Path 5032" d="M219.956,124.776v1.145a1.414,1.414,0,0,0,1.521-1.273,1.1,1.1,0,0,0-.162-.572A1.573,1.573,0,0,1,219.956,124.776Z" transform="translate(-208.662 -124.075)" fill="#d38d54"/>
<path id="Path_5033" data-name="Path 5033" d="M39.426,124.075c-.5.838.219,1.846,1.358,1.846v-1.145A1.573,1.573,0,0,1,39.426,124.075Z" transform="translate(-39.263 -124.075)" fill="#d38d54"/>
</g>
<path id="Path_5034" data-name="Path 5034" d="M72.2,74a.7.7,0,0,0-.807-.7l-.255.038a18.857,18.857,0,0,1-5.651-.038.7.7,0,0,0-.807.7,1.989,1.989,0,0,1-.787,1.6,1.47,1.47,0,0,1-.339.191c0,3.163-.038,3.374.132,4.091a4.888,4.888,0,0,0,9.3.668c.467-1.18.341-2.076.341-4.758A1.908,1.908,0,0,1,72.2,74Z" transform="translate(-59.577 -68.714)" fill="#edae6b"/>
<path id="Path_5036" data-name="Path 5036" d="M135.023,283.8V279.84l-.483.455-.483-.457V283.8a.483.483,0,1,0,.966,0Z" transform="translate(-125.675 -262.347)" fill="#575a69"/>
<path id="Path_5037" data-name="Path 5037" d="M143.742,257.645l-1.958,1.844,1.057,1.065a.476.476,0,0,0,.713-.042l1.681-2.152Z" transform="translate(-132.919 -241.541)" fill="#dadada"/>
<g id="Group_8385" data-name="Group 8385" transform="translate(8.865 16.104)">
<path id="Path_5039" data-name="Path 5039" d="M161,305.775a.477.477,0,0,0,.279.034Z" transform="translate(-159.799 -302.767)" fill="#ceccca"/>
</g>
<path id="Path_5040" data-name="Path 5040" d="M88.07,257.763l1.942,1.837-1.057,1.065a.476.476,0,0,1-.713-.042L86.56,258.47Z" transform="translate(-81.147 -241.652)" fill="#dadada"/>
<path id="Path_5043" data-name="Path 5043" d="M301.281,89.531a.515.515,0,0,1,.492.514v.369h0a6.576,6.576,0,0,1-.207,2.128,4.887,4.887,0,0,1-9.558-1.164c0-.018,0,.005,0-.057s0-.128,0-.193V88.651h0V88.4a.607.607,0,0,1,.484-.593,3.911,3.911,0,0,0,2.037-1.171.445.445,0,0,1,.668.022A8.249,8.249,0,0,0,301.281,89.531Z" transform="translate(-273.747 -81.092)" fill="#f7cf9c"/>
<path id="Path_5049" data-name="Path 5049" d="M195.393,253.09a4.263,4.263,0,0,0-6.963.407,5.5,5.5,0,0,0-.635,3.183h8.519A5.031,5.031,0,0,0,195.393,253.09Z" transform="translate(-176.051 -235.759)" fill="#2e303a"/>
<path id="Path_5050" data-name="Path 5050" d="M188.95,254.745c.019-.081.064-.24.066-.247a4.261,4.261,0,0,1,3.558-2.994,4.259,4.259,0,0,0-4.145,1.988,5.5,5.5,0,0,0-.635,3.183h1.041A7.649,7.649,0,0,1,188.95,254.745Z" transform="translate(-176.051 -235.754)" fill="#2e303a"/>
<path id="Path_5051" data-name="Path 5051" d="M313.3,357.808a5.812,5.812,0,0,0-1.229-2.264,1.553,1.553,0,0,1-.846.414,3.289,3.289,0,0,1,.452,2.309.367.367,0,0,0,.44.382l.789-.164A.527.527,0,0,0,313.3,357.808Z" transform="translate(-291.767 -333.322)" fill="#2e303a"/>
<path id="Path_5052" data-name="Path 5052" d="M309.291,325.275a1.37,1.37,0,0,1-1.474,1.235v-2.469A1.37,1.37,0,0,1,309.291,325.275Z" transform="translate(-288.575 -303.788)" fill="#efd0a3"/>
<path id="Path_5053" data-name="Path 5053" d="M167.178,357.808a5.812,5.812,0,0,1,1.229-2.264,1.553,1.553,0,0,0,.846.414,3.289,3.289,0,0,0-.452,2.309.367.367,0,0,1-.44.382l-.789-.164A.528.528,0,0,1,167.178,357.808Z" transform="translate(-156.702 -333.322)" fill="#2e303a"/>
<path id="Path_5054" data-name="Path 5054" d="M180.589,325.275a1.37,1.37,0,0,0,1.474,1.235v-2.469A1.37,1.37,0,0,0,180.589,325.275Z" transform="translate(-169.299 -303.788)" fill="#efd0a3"/>
<path id="Path_5057" data-name="Path 5057" d="M179.139,409.154l-.336-3a1.907,1.907,0,0,0-.924-1.539l-.015,0a12.4,12.4,0,0,0-2.8-.808c-.2-.093-.086-.49-.119-1.5a3.241,3.241,0,0,1-2.581-.006c-.033.985.086,1.411-.12,1.5a12.4,12.4,0,0,0-2.8.808l-.015,0a1.851,1.851,0,0,0-.872,1.218c-.066.317-.048.342-.388,3.323Z" transform="translate(-157.659 -377.152)" fill="#efd0a3"/>
<path id="Path_5058" data-name="Path 5058" d="M168.171,432.966h10.966l-.336-3a1.909,1.909,0,0,0-.924-1.539l-.015,0a10.422,10.422,0,0,0-2.45-.721v.388a1.748,1.748,0,0,1-.181.777c-.019.039-.05.1-.08.144l-.022.035c-.031.047-.064.092-.1.133-.015.019-.036.044-.052.062l-.008.009-.031.035,0,0h0l0,.005-.038.038-.012.013-.05.047-.015.013-.033.028-.005,0-.02.016-.035.027-.022.017-.034.025-.017.012-.006,0-.036.024-.006,0-.017.011-.031.019-.01.006,0,0-.014.008-.061.033-.008,0h0l-.01.005-.041.02-.023.01-.042.018-.026.01-.04.016-.027.01-.042.014-.021.007-.005,0-.012,0-.034.01-.017,0-.006,0-.07.017-.01,0-.031.007-.084.014a1.712,1.712,0,0,1-.172.016h-.166c-.058,0-.115-.008-.172-.016l-.084-.014-.031-.007-.01,0-.07-.017-.006,0-.017,0-.034-.01-.012,0-.005,0-.021-.007-.042-.014-.027-.01-.04-.016-.026-.01-.042-.018-.023-.01-.041-.02-.01-.005h0l-.008,0-.061-.033-.014-.008,0,0-.01-.006-.031-.019-.017-.011-.006,0a1.754,1.754,0,0,1-.728-.965,2.951,2.951,0,0,1-.074-.9l-.372.093a8.433,8.433,0,0,0-2.09.632l-.015,0a1.857,1.857,0,0,0-.872,1.218C168.494,429.959,168.507,430.021,168.171,432.966Z" transform="translate(-157.657 -400.965)" fill="#f9b938"/>
<g id="Group_8389" data-name="Group 8389" transform="translate(10.514 26.988)">
<path id="Path_5060" data-name="Path 5060" d="M198.743,483.558l.045-1.4a.483.483,0,0,0-.965-.031l-.046,1.429Z" transform="translate(-195.927 -478.545)" fill="#eaa224"/>
<path id="Path_5061" data-name="Path 5061" d="M299.044,483.559,299,482.13a.483.483,0,0,0-.965.031l.045,1.4Z" transform="translate(-289.916 -478.546)" fill="#eaa224"/>
</g>
<path id="Path_5063" data-name="Path 5063" d="M207.066,304.947a2.618,2.618,0,0,1-2.818.912.166.166,0,0,0-.2.163h0a10.954,10.954,0,0,0,.138,3.053,3.239,3.239,0,0,0,6.34-.937v-2.116h0a.166.166,0,0,0-.2-.163,2.618,2.618,0,0,1-2.818-.912A.26.26,0,0,0,207.066,304.947Z" transform="translate(-191.285 -285.768)" fill="#fce3bb"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

@ -0,0 +1,8 @@
<svg id="user_21_" data-name="user (21)" xmlns="http://www.w3.org/2000/svg" width="110.999" height="110.999" viewBox="0 0 110.999 110.999">
<path id="Path_4696" data-name="Path 4696" d="M272.482,267.883a25.756,25.756,0,0,0,5.549-15.868,26.015,26.015,0,1,0-26.015,26.015,25.756,25.756,0,0,0,15.868-5.549l14.569,14.569a3.252,3.252,0,1,0,4.6-4.6ZM260.818,256.22a3.252,3.252,0,1,1-4.6,4.6l-4.2-4.2-4.2,4.2a3.252,3.252,0,0,1-4.6-4.6l4.2-4.2-4.2-4.2a3.252,3.252,0,0,1,4.6-4.6l4.2,4.2,4.2-4.2a3.252,3.252,0,1,1,4.6,4.6l-4.2,4.2Z" transform="translate(-177.004 -177.004)" fill="#ddd"/>
<circle id="Ellipse_165" data-name="Ellipse 165" cx="3.5" cy="3.5" r="3.5" transform="translate(35.5 19.499)" fill="#ddd"/>
<path id="Path_4697" data-name="Path 4697" d="M197.516,362h0Z" transform="translate(-154.695 -283.52)" fill="#ddd"/>
<path id="Path_4698" data-name="Path 4698" d="M197.516,332h0Z" transform="translate(-154.695 -260.021)" fill="#ddd"/>
<path id="Path_4699" data-name="Path 4699" d="M3.252,111H75.011a3.25,3.25,0,0,0,3.252-3.252v-.329a31.763,31.763,0,0,1-3.252.329,32.393,32.393,0,0,1-23.165-9.756H16.476a3.252,3.252,0,0,1,0-6.5H47.016v0a32.2,32.2,0,0,1-2.865-6.507H16.476a3.252,3.252,0,0,1,0-6.5H42.821c-.454-4.484-.454-2.022,0-6.5H16.476a3.252,3.252,0,1,1,0-6.5H44.152a32.468,32.468,0,0,1,7.694-13.009H26.232a3.25,3.25,0,0,1-3.252-3.252V45.96A13.021,13.021,0,0,1,35.988,32.953H39.24A9.756,9.756,0,1,1,49,23.2a9.767,9.767,0,0,1-9.756,9.756h3.252A13.021,13.021,0,0,1,55.5,45.96v3.252c0,.071-.036.13-.04.2a32.2,32.2,0,0,1,19.552-6.7,31.762,31.762,0,0,1,3.252.329V3.252A3.25,3.25,0,0,0,75.011,0H3.252A3.25,3.25,0,0,0,0,3.252v104.5A3.25,3.25,0,0,0,3.252,111Z" fill="#ddd"/>
<path id="Path_4700" data-name="Path 4700" d="M142.5,182a6.512,6.512,0,0,0-6.5,6.5h19.512a6.512,6.512,0,0,0-6.5-6.5Z" transform="translate(-106.516 -142.543)" fill="#ddd"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,9 @@
<svg id="parking" xmlns="http://www.w3.org/2000/svg" width="34.324" height="36.274" viewBox="0 0 34.324 36.274">
<path id="Path_5117" data-name="Path 5117" d="M4.851,482H0v2.011H6.239A6.688,6.688,0,0,1,4.851,482Z" transform="translate(0 -449.687)" fill="#2e303a"/>
<path id="Path_5118" data-name="Path 5118" d="M9.924,198.773H0v5.72H13.761Z" transform="translate(0 -185.447)" fill="#2e303a"/>
<path id="Path_5119" data-name="Path 5119" d="M4.278,322.588a6.659,6.659,0,0,1,13.318,0H21.88v-3.9H18.57v-2.011h3.31a2.572,2.572,0,0,0-2.572-2.572H0v8.485Z" transform="translate(0 -293.046)" fill="#2e303a"/>
<circle id="Ellipse_185" data-name="Ellipse 185" cx="4.716" cy="4.716" r="4.716" transform="translate(4.264 29.607) rotate(-45)" fill="#2e303a"/>
<path id="Path_5120" data-name="Path 5120" d="M243.252,260.611v14.842h-8.647a6.689,6.689,0,0,1-1.387,2.011h18.689v-2.011h-6.644V260.611Z" transform="translate(-217.583 -243.14)" fill="#2e303a"/>
<path id="Path_5121" data-name="Path 5121" d="M295.916,15.527V0H280.389V15.527ZM284.805,3.363h4.622a2.962,2.962,0,0,1,0,5.925h-2.611v3.384h-2.011Z" transform="translate(-261.592)" fill="#359846"/>
<path id="Path_5122" data-name="Path 5122" d="M379.827,81.113a.952.952,0,0,0-.951-.951h-2.611v1.9h2.611A.952.952,0,0,0,379.827,81.113Z" transform="translate(-351.04 -74.788)" fill="#359846"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,6 @@
<svg id="location_6_" data-name="location (6)" xmlns="http://www.w3.org/2000/svg" width="32.622" height="32.621" viewBox="0 0 32.622 32.621">
<path id="Path_4938" data-name="Path 4938" d="M34.894,84.289H26.369a51.717,51.717,0,0,1-3.752,5.194,51.716,51.716,0,0,1-3.752-5.194H10.339L6.306,94.864H38.928Z" transform="translate(-6.306 -62.243)" fill="#544f57"/>
<path id="Path_4939" data-name="Path 4939" d="M41.972,6.31a8.682,8.682,0,0,0-8.682,8.682c-.051,8.284,8.682,18.558,8.682,18.558S50.7,23.276,50.654,14.992A8.682,8.682,0,0,0,41.972,6.31Zm0,12.366a3.684,3.684,0,1,1,3.684-3.684A3.684,3.684,0,0,1,41.972,18.676Z" transform="translate(-25.661 -6.31)" fill="#da4a54"/>
<path id="Path_4940" data-name="Path 4940" d="M53.343,86.741l-16.279,5.79L30.72,84.29h5.657a51.665,51.665,0,0,0,3.752,5.193A51.668,51.668,0,0,0,43.88,84.29h8.527Z" transform="translate(-23.818 -62.244)" fill="#544f57"/>
<path id="Path_4941" data-name="Path 4941" d="M29.96,107.152l16.114-5.732,4.411,5.732Z" transform="translate(-23.273 -74.531)" fill="#544f57"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32.381" height="37.391" viewBox="0 0 32.381 37.391">
<g id="affiliate-marketing_1_" data-name="affiliate-marketing (1)" transform="translate(-34.298 0)">
<path id="Path_4982" data-name="Path 4982" d="M63.419,23.145l.415,1.991-2.684-1.55a11.718,11.718,0,0,0,0-9.782l2.684-1.55-.415,1.991,2.145.447,1.115-5.345L61.492,7.641l-.685,2.081,1.932.636-2.687,1.551a11.736,11.736,0,0,0-8.469-4.893v-3.1L53.1,5.272l1.46-1.634L50.489,0,46.417,3.639l1.46,1.634,1.517-1.355v3.1a11.736,11.736,0,0,0-8.469,4.893l-2.687-1.551,1.932-.636-.685-2.081L34.3,9.348l1.115,5.346,2.145-.447-.415-1.991,2.684,1.55a11.718,11.718,0,0,0,0,9.782l-2.684,1.55.415-1.991L35.413,22.7,34.3,28.043l5.187,1.707.685-2.081-1.932-.636,2.687-1.551a11.736,11.736,0,0,0,8.469,4.893v3.1l-1.517-1.355-1.46,1.634,4.072,3.639,4.072-3.639L53.1,32.118l-1.517,1.355v-3.1a11.736,11.736,0,0,0,8.469-4.893l2.687,1.551-1.932.636.685,2.081,5.187-1.707L65.564,22.7Z" fill="#2e303a"/>
<g id="user_24_" data-name="user (24)" transform="translate(42.096 9.104)">
<path id="Path_4983" data-name="Path 4983" d="M10.267,8.536a3.028,3.028,0,0,0,1.792.581,3.125,3.125,0,0,0,3.059-3.059,3.059,3.059,0,1,0-4.85,2.478Z" transform="translate(-3.378 0)" fill="#fff"/>
<path id="Path_4984" data-name="Path 4984" d="M11.372,16.55a3.919,3.919,0,0,1-5.384,0,5.689,5.689,0,0,0-2.989,5,.438.438,0,0,0,.437.437H13.924a.438.438,0,0,0,.437-.437A5.689,5.689,0,0,0,11.372,16.55Z" transform="translate(0 -7.629)" fill="#fff"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" width="21.857" height="30.6" viewBox="0 0 21.857 30.6">
<g id="smart-watch" transform="translate(5.168)">
<path id="Path_5109" data-name="Path 5109" d="M43.411,111.639A1.639,1.639,0,0,0,41.772,110h-15.3a1.639,1.639,0,0,0-1.639,1.639v15.3a1.639,1.639,0,0,0,1.639,1.639h15.3a1.639,1.639,0,0,0,1.639-1.639Zm-3.493,8.091-5.41,5.41a.547.547,0,0,1-.773,0l-5.409-5.41a3.825,3.825,0,1,1,5.413-5.406l.383.382.383-.382a3.825,3.825,0,1,1,5.413,5.406Zm0,0" transform="translate(-28.361 -103.989)" fill="#2e303a"/>
<path id="Path_5110" data-name="Path 5110" d="M97.214,188.6a2.7,2.7,0,0,0-1.934.8l-.772.772a.546.546,0,0,1-.773,0l-.771-.77a2.732,2.732,0,0,0-3.865,3.863l5.022,5.022,5.023-5.023a2.732,2.732,0,0,0,0-3.861A2.7,2.7,0,0,0,97.214,188.6Zm0,0" transform="translate(-88.36 -178.291)" fill="#de5c5d"/>
<path id="Path_5111" data-name="Path 5111" d="M385.378,321.639v-1.093a.546.546,0,0,0-.546-.546v2.186A.546.546,0,0,0,385.378,321.639Zm0,0" transform="translate(-368.689 -302.514)" fill="#2e303a"/>
<path id="Path_5112" data-name="Path 5112" d="M385.378,200.546a.546.546,0,0,0-.546-.546v2.186a.546.546,0,0,0,.546-.546Zm0,0" transform="translate(-368.689 -189.071)" fill="#2e303a"/>
<path id="Path_5113" data-name="Path 5113" d="M84.832,470H96.854v4.918H84.832Zm0,0" transform="translate(-85.082 -444.318)" fill="#2e303a"/>
<path id="Path_5114" data-name="Path 5114" d="M-5.168,321.639a.547.547,0,0,0,.546.546V320a.547.547,0,0,0-.546.546Zm0,0" transform="translate(0 -302.514)" fill="#2e303a"/>
<path id="Path_5115" data-name="Path 5115" d="M-5.168,200.546v1.093a.547.547,0,0,0,.546.546V200A.547.547,0,0,0-5.168,200.546Zm0,0" transform="translate(0 -189.071)" fill="#2e303a"/>
<path id="Path_5116" data-name="Path 5116" d="M84.832,0H96.854V4.918H84.832Zm0,0" transform="translate(-85.082)" fill="#2e303a"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" width="28.115" height="28.971" viewBox="0 0 28.115 28.971">
<g id="to-do-list" transform="translate(-3.965 -3.05)">
<g id="Group_8425" data-name="Group 8425" transform="translate(4.045 3.116)">
<path id="Path_5088" data-name="Path 5088" d="M10.435,3.192V8.153A1.182,1.182,0,0,1,9.251,9.333H4.135a3.716,3.716,0,0,1,1.044-1.9L8.525,4.179a3.689,3.689,0,0,1,1.91-.988Z" transform="translate(-4.135 -3.192)" fill="#2e303a"/>
</g>
<g id="Group_8426" data-name="Group 8426" transform="translate(3.965 3.05)">
<path id="Path_5089" data-name="Path 5089" d="M21.957,21.079l5-7.638V6.766A3.713,3.713,0,0,0,23.244,3.05H11.281V8.077a2.12,2.12,0,0,1-2.12,2.116h-5.2V28.305a3.713,3.713,0,0,0,3.716,3.716H23.244a3.713,3.713,0,0,0,3.716-3.716V24.954a4.105,4.105,0,0,1-1.278,1.02l-2.761,1.413A1.261,1.261,0,0,1,21.1,26.194l.192-3.1a4.155,4.155,0,0,1,.669-2.017Zm2.738-6.145a.469.469,0,0,1-.468.468H15.816a.468.468,0,1,1,0-.936h8.411A.466.466,0,0,1,24.695,14.933ZM12.788,27.1a.867.867,0,0,1-.866.866H8.056a.866.866,0,0,1-.861-.866V23.232a.865.865,0,0,1,.861-.861h3.866a.866.866,0,0,1,.866.861Zm0-9.028a.863.863,0,0,1-.866.861H8.056a.862.862,0,0,1-.861-.861V14.2a.862.862,0,0,1,.861-.861h3.866a.863.863,0,0,1,.866.861ZM13.944,8.54V6.71a.481.481,0,0,1,.482-.482h9.019a.481.481,0,0,1,.482.482V8.54a.481.481,0,0,1-.482.482H14.426a.481.481,0,0,1-.482-.482Zm4.61,18.3H15.816a.468.468,0,1,1,0-.936h2.738a.468.468,0,1,1,0,.936Zm.964-2.41h-3.7a.468.468,0,1,1,0-.936h3.7a.468.468,0,0,1,0,.936Zm-3.7-6.623a.468.468,0,0,1,0-.936h6.216a.468.468,0,1,1,0,.936Z" transform="translate(-3.965 -3.05)" fill="#2e303a"/>
</g>
<g id="Group_8427" data-name="Group 8427" transform="translate(8.575 15.194)">
<path id="Path_5090" data-name="Path 5090" d="M14.383,30.685l-.481-.671a.468.468,0,0,1,.761-.546l.2.286.9-.667a.468.468,0,0,1,.556.753l-1.286.948a.468.468,0,0,1-.658-.1Z" transform="translate(-13.814 -28.996)" fill="#de5c5d"/>
</g>
<g id="Group_8428" data-name="Group 8428" transform="translate(8.639 24.224)">
<path id="Path_5091" data-name="Path 5091" d="M14.52,49.979l-.481-.671a.468.468,0,0,1,.761-.546l.2.285.9-.667a.468.468,0,1,1,.556.753l-1.286.948A.468.468,0,0,1,14.52,49.979Z" transform="translate(-13.951 -48.29)" fill="#de5c5d"/>
</g>
<path id="Path_5092" data-name="Path 5092" d="M52.036,32.2l-3.721,5.682-3.74-2.448,3.73-5.7C48.435,29.815,51.927,32.087,52.036,32.2Z" transform="translate(-21.603 -14.193)" fill="#de5c5d"/>
<path id="Path_5093" data-name="Path 5093" d="M43.033,43.633a3.182,3.182,0,0,0-.277,1.108l-.19,3.1a.318.318,0,0,0,.463.3l2.762-1.412a3.184,3.184,0,0,0,.9-.7Z" transform="translate(-20.534 -21.588)" fill="#de5c5d"/>
<path id="Path_5094" data-name="Path 5094" d="M58.154,26.9,57.4,28.063l-.009-.009-3.73-2.443.749-1.161a2.236,2.236,0,0,1,3.094-.646h0a2.237,2.237,0,0,1,.641,3.094Z" transform="translate(-26.439 -10.85)" fill="#de5c5d"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

@ -0,0 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" width="37.001" height="26" viewBox="0 0 37.001 26">
<g id="_002---Donor-Card" data-name="002---Donor-Card" transform="translate(0.001)">
<rect id="Rectangle-path" width="37" height="26" rx="5" fill="#2e303a"/>
<path id="Rectangle-path-2" data-name="Rectangle-path" d="M0,26H37v5.537H0Z" transform="translate(-0.001 -10.597)" fill="#ecf0f1"/>
<g id="Group_8371" data-name="Group 8371" transform="translate(2.524 18.296)">
<path id="Shape" d="M4.631,31.524A.631.631,0,0,1,4,30.893V29.631a.631.631,0,1,1,1.262,0v1.262A.631.631,0,0,1,4.631,31.524Z" transform="translate(-4 -30)" fill="#3f5c6c"/>
<path id="Shape-2" data-name="Shape" d="M8.631,31.524A.631.631,0,0,1,8,30.893V29.631a.631.631,0,1,1,1.262,0v1.262A.631.631,0,0,1,8.631,31.524Z" transform="translate(-5.476 -30)" fill="#3f5c6c"/>
<path id="Shape-3" data-name="Shape" d="M12.631,31.524A.631.631,0,0,1,12,30.893V29.631a.631.631,0,1,1,1.262,0v1.262A.631.631,0,0,1,12.631,31.524Z" transform="translate(-6.953 -30)" fill="#3f5c6c"/>
<path id="Shape-4" data-name="Shape" d="M16.631,31.524A.631.631,0,0,1,16,30.893V29.631a.631.631,0,0,1,1.262,0v1.262A.631.631,0,0,1,16.631,31.524Z" transform="translate(-8.429 -30)" fill="#3f5c6c"/>
<path id="Shape-5" data-name="Shape" d="M20.631,31.524A.631.631,0,0,1,20,30.893V29.631a.631.631,0,0,1,1.262,0v1.262A.631.631,0,0,1,20.631,31.524Z" transform="translate(-9.906 -30)" fill="#3f5c6c"/>
<circle id="Oval" cx="1" cy="1" r="1" transform="translate(22.477 -0.295)" fill="#3f5c6c"/>
<circle id="Oval-2" data-name="Oval" cx="1" cy="1" r="1" transform="translate(25.477 -0.295)" fill="#3f5c6c"/>
<circle id="Oval-3" data-name="Oval" cx="1" cy="1" r="1" transform="translate(28.477 -0.295)" fill="#3f5c6c"/>
</g>
<rect id="Rectangle-path-3" data-name="Rectangle-path" width="9" height="10" rx="2" transform="translate(3 3)" fill="#ecf0f1"/>
<circle id="Oval-4" data-name="Oval" cx="1.5" cy="1.5" r="1.5" transform="translate(6 6)" fill="#d9ba64"/>
<path id="Shape-6" data-name="Shape" d="M14.047,18.785H9V17.524a2.524,2.524,0,1,1,5.047,0Z" transform="translate(-4 -5.785)" fill="#de5c5d"/>
<line id="Line_50" data-name="Line 50" y2="9" transform="translate(28.5 3.5)" fill="none" stroke="#de5c5d" stroke-width="2"/>
<line id="Line_51" data-name="Line 51" y2="9" transform="translate(33 8) rotate(90)" fill="none" stroke="#de5c5d" stroke-width="2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="29.063" height="29.063" viewBox="0 0 29.063 29.063">
<g id="_360-degrees" data-name="360-degrees" transform="translate(0)">
<path id="Path_5123" data-name="Path 5123" d="M95.134,96.812a.854.854,0,0,1-.843-.732.866.866,0,0,1-.008-.12.851.851,0,0,0-1.7,0,2.554,2.554,0,0,0,5.109,0,2.544,2.544,0,0,0-.652-1.7,2.554,2.554,0,1,0-4.408-2.2.851.851,0,0,0,1.671.328.852.852,0,1,1,.835,1.017.851.851,0,0,0,0,1.7.851.851,0,0,1,0,1.7Z" transform="translate(-87.325 -84.891)" fill="#de5c5d"/>
<path id="Path_5124" data-name="Path 5124" d="M205.425,98.513a2.843,2.843,0,0,0,0-5.685c-.052,0-.1,0-.154,0a5.727,5.727,0,0,1,1.145-1.3.851.851,0,0,0-1.019-1.364,7.8,7.8,0,0,0-2.781,5.067,2.843,2.843,0,0,0,2.809,3.279Zm0-3.982a1.14,1.14,0,1,1-1.14,1.14,1.141,1.141,0,0,1,1.14-1.14Z" transform="translate(-191.083 -84.89)" fill="#de5c5d"/>
<path id="Path_5125" data-name="Path 5125" d="M325.484,98.514a2.747,2.747,0,0,0,2.744-2.744V92.744a2.744,2.744,0,1,0-5.488,0V95.77A2.747,2.747,0,0,0,325.484,98.514Zm-1.041-5.77a1.041,1.041,0,1,1,2.082,0V95.77a1.041,1.041,0,1,1-2.082,0Z" transform="translate(-304.42 -84.891)" fill="#de5c5d"/>
<path id="Path_5126" data-name="Path 5126" d="M393.554,5.109A2.554,2.554,0,1,0,391,2.554,2.557,2.557,0,0,0,393.554,5.109Zm0-3.406a.851.851,0,1,1-.851.851A.852.852,0,0,1,393.554,1.7Z" transform="translate(-368.806)" fill="#de5c5d"/>
<path id="Path_5127" data-name="Path 5127" d="M27.895,242.031c-7.369,2.95-19.358,2.95-26.727,0a.851.851,0,0,0-1.168.79v13.623a.851.851,0,0,0,1.168.79c7.369-2.95,19.358-2.95,26.727,0a.851.851,0,0,0,1.168-.79V242.822A.851.851,0,0,0,27.895,242.031Zm-21.332,8.7a.851.851,0,1,1-1.2,1.2l-1.7-1.7a.851.851,0,0,1,0-1.2l1.7-1.7a.851.851,0,1,1,1.2,1.2l-1.1,1.1Zm18.845-.5-1.7,1.7a.851.851,0,1,1-1.2-1.2l1.1-1.1-1.1-1.1a.851.851,0,0,1,1.2-1.2l1.7,1.7A.851.851,0,0,1,25.407,250.236Z" transform="translate(0 -228.235)" fill="#2e303a"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 867 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -105,13 +105,15 @@ const Map localizedValues = {
'add': {'en': 'Add', 'ar': 'إضافة'}, 'add': {'en': 'Add', 'ar': 'إضافة'},
'reminder': {'en': 'Reminder', 'ar': 'تذكير'}, 'reminder': {'en': 'Reminder', 'ar': 'تذكير'},
'location': {'en': 'Locations', 'ar': 'مواقعنا'}, 'location': {'en': 'Locations', 'ar': 'مواقعنا'},
'online': {'en': 'Online', 'ar': 'الالكترونية'}, 'online': {'en': 'Online', 'ar': 'الالكتروني'},
'payment': {'en': 'Payment', 'ar': 'الدفع'}, 'payment': {'en': 'Payment', 'ar': 'الدفع'},
'onlinePayment': {'en': 'Online', 'ar': 'الدفع'},
'onlinePaymentSubtitle': {'en': 'Payment', 'ar': 'الالكتروني'},
'cancel-nocaps': {'en': 'Cancel', 'ar': 'الغاء'}, 'cancel-nocaps': {'en': 'Cancel', 'ar': 'الغاء'},
'set-reminder': {'en': 'Set Reminder', 'ar': 'إضافة تذكير'}, 'set-reminder': {'en': 'Set Reminder', 'ar': 'إضافة تذكير'},
"national-id-number": {"en": "National ID Number", "ar": "رقم الهوية الوطنية / الاقامة"}, "national-id-number": {"en": "National ID Number", "ar": "رقم الهوية الوطنية / الاقامة"},
"medical-file-number": {"en": "Medical File Number", "ar": "رقم الملف الطبي"}, "medical-file-number": {"en": "Medical File Number", "ar": "رقم الملف الطبي"},
'login': {'en': 'Login', 'ar': 'تسجيل الدخول'}, 'login': {'en': 'Login', 'ar': 'دخول'},
'loginregister': {'en': 'Login / Register', 'ar': 'دخول/ تسجيل'}, 'loginregister': {'en': 'Login / Register', 'ar': 'دخول/ تسجيل'},
'poweredBy': {'en': 'Powered by', 'ar': 'مشغل بواسطة'}, 'poweredBy': {'en': 'Powered by', 'ar': 'مشغل بواسطة'},
"welcome": {"en": "Welcome", "ar": "مرحبا"}, "welcome": {"en": "Welcome", "ar": "مرحبا"},
@ -309,23 +311,24 @@ const Map localizedValues = {
"branch": {"en": "Branch:", "ar": "الفرع"}, "branch": {"en": "Branch:", "ar": "الفرع"},
"emergencyServices": {"en": "Emergency Services", "ar": "خدمات الطوارئ"}, "emergencyServices": {"en": "Emergency Services", "ar": "خدمات الطوارئ"},
"nearester": {"en": "Nearest ER", "ar": "أقرب طوارى"}, "nearester": {"en": "Nearest ER", "ar": "أقرب طوارى"},
"locationa": {"en": "location", "ar": "الموقع"}, "locationa": {"en": "Location", "ar": "الموقع"},
"call_now": {"en": "Call now", "ar": "اتصل الان"},
"ambulancerequest": {"en": "Ambulance", "ar": "طلب نقل "}, "ambulancerequest": {"en": "Ambulance", "ar": "طلب نقل "},
"requestA": {"en": "Request", "ar": "اسعاف"}, "requestA": {"en": "Request", "ar": "اسعاف"},
"MyAppointments": {"en": "My", "ar": "مواعيدي"},
"NoBookedAppointments": {"en": "No Booked Appointments", "ar": "لا توجد مواعيد محجوزة"}, "NoBookedAppointments": {"en": "No Booked Appointments", "ar": "لا توجد مواعيد محجوزة"},
"NoConfirmedAppointments": {"en": "No Confirmed Appointments", "ar": "لا توجد مواعيد مؤكدة"}, "NoConfirmedAppointments": {"en": "No Confirmed Appointments", "ar": "لا توجد مواعيد مؤكدة"},
"noArrivedAppointments": {"en": "No Arrived Appointments", "ar": "لم يتم حضورها"}, "noArrivedAppointments": {"en": "No Arrived Appointments", "ar": "لم يتم حضورها"},
"MyAppointmentsList": {"en": "Appointments", "ar": "قائمة بمواعيدي"}, "MyAppointmentsList": {"en": "Appointments", "ar": "بمواعيدي"},
"MyAppointments": {"en": "My", "ar": "قائمة"},
"Radiology": {"en": "Radiology", "ar": "الأشعة"}, "Radiology": {"en": "Radiology", "ar": "الأشعة"},
"RadiologySubtitle": {"en": "Result", "ar": "صور وتقارير"}, "RadiologySubtitle": {"en": "Result", "ar": "صور وتقارير"},
"Lab": {"en": "Lab", "ar": "تحليل المختبر"}, "Lab": {"en": "Lab", "ar": "نتائج"},
"LabSubtitle": {"en": "Result", "ar": "نتائج"}, "LabSubtitle": {"en": "Results", "ar": "تحليل المختبر"},
"Medicines": {"en": "Medicines", "ar": "الوصفات"}, "Medicines": {"en": "Medicines", "ar": "الوصفات"},
"MedicinesSubtitle": {"en": "Prescriptions", "ar": "الوصفات الطبية"}, "MedicinesSubtitle": {"en": "Prescriptions", "ar": "الطبية"},
"VitalSigns": {"en": "Vital Signs", "ar": "المؤشرات الحيوية"}, "VitalSigns": {"en": "Vital Signs", "ar": "المؤشرات"},
"VitalSignsSubTitle": {"en": "Reports", "ar": "قراءات"}, "VitalSignsSubTitle": {"en": "Reports", "ar": "الحيوية"},
"MyMedical": {"en": "Active", "ar": "قراءات"}, "MyMedical": {"en": "Active", "ar": "الأدوية"},
"MyMedicalSubtitle": {"en": "Medications", "ar": "النشطة"}, "MyMedicalSubtitle": {"en": "Medications", "ar": "النشطة"},
"MyDoctor": {"en": "My Doctor", "ar": "اطبائي"}, "MyDoctor": {"en": "My Doctor", "ar": "اطبائي"},
"MyDoctorSubtitle": {"en": "List", "ar": "قمت بزيارتهم"}, "MyDoctorSubtitle": {"en": "List", "ar": "قمت بزيارتهم"},
@ -333,26 +336,26 @@ const Map localizedValues = {
"EyeSubtitle": {"en": "Measurement", "ar": "النظر"}, "EyeSubtitle": {"en": "Measurement", "ar": "النظر"},
"Insurance": {"en": "Insurance", "ar": "بطاقات"}, "Insurance": {"en": "Insurance", "ar": "بطاقات"},
"InsuranceSubtitle": {"en": "Card", "ar": "التأمين"}, "InsuranceSubtitle": {"en": "Card", "ar": "التأمين"},
"UpdateInsurance": {"en": "Update Insurance", "ar": "تحديث التأمين"}, "UpdateInsurance": {"en": "Update", "ar": "تحديث"},
"UpdateInsuranceSubtitle": {"en": "Card", "ar": "التأمين"}, "UpdateInsuranceSubtitle": {"en": "Insurance", "ar": "التأمين"},
"InsuranceApproval": {"en": "Insurance Approval", "ar": "موافقات"}, "InsuranceApproval": {"en": "Insurance", "ar": "موافقات"},
"InsuranceApprovalSubtitle": {"en": "Approvals", "ar": "موافقات التأمين"}, "InsuranceApprovalSubtitle": {"en": "Approvals", "ar": "التأمين"},
"Allergies": {"en": "Allergies", "ar": "الحساسية"}, "Allergies": {"en": "Allergies", "ar": "قائمة"},
"AllergiesSubtitle": {"en": "Diagnosed", "ar": "مسجلة"}, "AllergiesSubtitle": {"en": "List", "ar": "الحساسية"},
"MyVaccines": {"en": "My Vaccines", "ar": "تطعيماتي"}, "MyVaccines": {"en": "My Vaccines", "ar": "قائمة"},
"MyVaccinesSubtitle": {"en": "List", "ar": "قائمة"}, "MyVaccinesSubtitle": {"en": "List", "ar": "تطعيماتي"},
"Medical": {"en": "Medical", "ar": "التقارير"}, "Medical": {"en": "Medical", "ar": "التقارير"},
"MedicalSubtitle": {"en": "Report", "ar": "الطبية"}, "MedicalSubtitle": {"en": "Report", "ar": "الطبية"},
"Monthly": {"en": "Monthly", "ar": "تقارير"}, "Monthly": {"en": "Monthly", "ar": "التقارير"},
"MonthlySubtitle": {"en": "Report", "ar": "الشهرية"}, "MonthlySubtitle": {"en": "Report", "ar": "الشهرية"},
"Sick": {"en": "Sick", "ar": "الإجازات"}, "Sick": {"en": "Sick", "ar": "الإجازات"},
"SickSubtitle": {"en": "Leaves", "ar": "المرضية"}, "SickSubtitle": {"en": "Leaves", "ar": "المرضية"},
"MyBalance": {"en": "My Balance", "ar": "رصيدي"}, "MyBalance": {"en": "My Balance", "ar": "رصيد"},
"MyBalanceSubtitle": {"en": "Credit", "ar": "المبالغ"}, "MyBalanceSubtitle": {"en": "Credit", "ar": "محفظتي"},
"PatientCall": {"en": "Patient Call", "ar": "النداء للموعد"}, "PatientCall": {"en": "Patient Call", "ar": "النداء للموعد"},
"PatientCallSubtitle": {"en": "Service", "ar": "خدمة"}, "PatientCallSubtitle": {"en": "Service", "ar": "خدمة"},
"SmartWatches": {"en": "Smart Watches", "ar": "الساعات الذكية"}, "SmartWatches": {"en": "Smart Watches", "ar": "الساعات الذكية"},
"SmartWatchesSubtitle": {"en": "Pairing", "ar": "ربط البيانات"}, "SmartWatchesSubtitle": {"en": "Pairing", "ar": "ربط بيانات"},
"MyTrackers": {"en": "My Trackers", "ar": "تتبع قراءاتي"}, "MyTrackers": {"en": "My Trackers", "ar": "تتبع قراءاتي"},
"MyTrackersSubtitle": {"en": "Service", "ar": "الطبية"}, "MyTrackersSubtitle": {"en": "Service", "ar": "الطبية"},
"AskYour": {"en": "Ask Your", "ar": "إسال طبيبك"}, "AskYour": {"en": "Ask Your", "ar": "إسال طبيبك"},
@ -395,17 +398,19 @@ const Map localizedValues = {
"MyBalances": {"en": "My Balances", "ar": "رصيدي"}, "MyBalances": {"en": "My Balances", "ar": "رصيدي"},
"BalanceAmount": {"en": "Wallet Amount", "ar": "مبلغ المحفظة"}, "BalanceAmount": {"en": "Wallet Amount", "ar": "مبلغ المحفظة"},
"TotalBalance": {"en": "Total Amount", "ar": "المبلغ الإجمالي"}, "TotalBalance": {"en": "Total Amount", "ar": "المبلغ الإجمالي"},
"CreateAdvancedPayment": {"en": "Recharge Wallet", "ar": "إعادة شحن المحفظة"}, "CreateAdvancedPayment": {"en": "Recharge Wallet", "ar": "شحن المحفظة"},
"AdvancePayment": {"en": "Advance Payment", "ar": "الدفع مقدما"}, "AdvancePayment": {"en": "Advance Payment", "ar": "الدفع مقدما"},
"AdvancePaymentLabel": {"en": "You can create and add an Advanced Payment for your account or other accounts.", "ar": "يمكنك تحويل مبلغ لحسابك لدى المجموعة أو لحساب احد المراجعين"}, "AdvancePaymentLabel": {"en": "You can create and add an Advanced Payment for your account or other accounts.", "ar": "يمكنك تحويل مبلغ لحسابك لدى المجموعة أو لحساب احد المراجعين"},
"FileNumber": {"en": "File Number", "ar": "رقم الملف"}, "FileNumber": {"en": "File Number", "ar": "رقم الملف"},
"Amount": {"en": "Amount *", "ar": "الكمية *"}, "Amount": {"en": "Amount *", "ar": "المبلغ *"},
"DepositorEmail": {"en": "Depositor Email *", "ar": "البريد الإلكتروني للمودع *"}, "DepositorEmail": {"en": "Depositor Email *", "ar": "البريد الإلكتروني للمودع *"},
"Notes": {"en": "Notes", "ar": "ملاحظات"}, "Notes": {"en": "Notes", "ar": "ملاحظات"},
"SelectPatientName": {"en": "Select Patient Name", "ar": "اختر اسم المريض"}, "SelectPatientName": {"en": "Select Patient Name", "ar": "اختر اسم المريض"},
"SelectFamilyPatientName": {"en": "Family Members", "ar": "أفراد الأسرة"}, "SelectFamilyPatientName": {"en": "Family Members", "ar": "أفراد الأسرة"},
"SelectHospital": {"en": "Select Hospital", "ar": "اختر المستشفى"}, "SelectHospital": {"en": "Select Hospital", "ar": "اختر المستشفى"},
"selectCity": {"en": "Select City", "ar": "اختر المدينة"}, "selectCity": {"en": "Select City", "ar": "اختر المدينة"},
"city": {"en": "City", "ar": "مدينة"},
"distance": {"en": "Distance", "ar": "مسافه"},
"MyAccount": {"en": "My Account", "ar": "حسابي"}, "MyAccount": {"en": "My Account", "ar": "حسابي"},
"OtherAccount": {"en": "Other Account", "ar": "حساب آخر"}, "OtherAccount": {"en": "Other Account", "ar": "حساب آخر"},
"SelectBeneficiary": {"en": "Select Beneficiary", "ar": "حدد المستفيد"}, "SelectBeneficiary": {"en": "Select Beneficiary", "ar": "حدد المستفيد"},
@ -414,8 +419,9 @@ const Map localizedValues = {
"MobileNumber": {"en": "Mobile Number", "ar": "رقم الجوال"}, "MobileNumber": {"en": "Mobile Number", "ar": "رقم الجوال"},
"phone-number": {"en": "Phone Number", "ar": "رقم الجوال"}, "phone-number": {"en": "Phone Number", "ar": "رقم الجوال"},
"country": {"en": "Country", "ar": "دولة"}, "country": {"en": "Country", "ar": "دولة"},
"Ok": {"en": "Ok", "ar": "حسنا"}, "Ok": {"en": "Ok", "ar": "موافق"},
"averageWaitingTime": {"en": "Average Waiting Time:", "ar": "متوسط ​​وقت الانتظار:"}, "averageWaitingTime": {"en": "Average Waiting Time:", "ar": "متوسط ​​وقت الانتظار:"},
"waitingTime": {"en": "Waiting Time:", "ar": "وقت الانتظار:"},
"WaterConsumedInWeek": {"en": "Water consumed in a week", "ar": "معدل شرب الماء خلال الاسبوع"}, "WaterConsumedInWeek": {"en": "Water consumed in a week", "ar": "معدل شرب الماء خلال الاسبوع"},
"WaterConsumedInMonth": {"en": "Water consumed in a month", "ar": "معدل شرب الماء خلال الشهر"}, "WaterConsumedInMonth": {"en": "Water consumed in a month", "ar": "معدل شرب الماء خلال الشهر"},
"TheVerificationCodeExpiresIn": {"en": "The Verification Code Expires in", "ar": "تنتهي صلاحية رمز التحقق في"}, "TheVerificationCodeExpiresIn": {"en": "The Verification Code Expires in", "ar": "تنتهي صلاحية رمز التحقق في"},
@ -508,13 +514,13 @@ const Map localizedValues = {
"review": {"en": " reviews", "ar": "تقييمات"}, "review": {"en": " reviews", "ar": "تقييمات"},
"viewMedicalFile": {"en": "View Details", "ar": "عرض الملف الطبي"}, "viewMedicalFile": {"en": "View Details", "ar": "عرض الملف الطبي"},
"viewAllServices": {"en": "View All Services", "ar": "عرض جميع الخدمات"}, "viewAllServices": {"en": "View All Services", "ar": "عرض جميع الخدمات"},
"medicalFile": {"en": "Medical File", "ar": "ملف طبي"}, "medicalFile": {"en": "Medical File", "ar": "ملفي الطبي"},
"verified": {"en": "Verified", "ar": "تم التحقق"}, "verified": {"en": "Verified", "ar": "تم التحقق"},
"checkup": {"en": "Checkup", "ar": "فحص"}, "checkup": {"en": "Checkup", "ar": "فحص"},
"hhcHome": {"en": "Home", "ar": "الرعاية"}, "hhcHome": {"en": "Home", "ar": "الرعاية"},
"refferal": {"en": "E-Refferal", "ar": "الإحالة الإلكترونية"}, "refferal": {"en": "E-Refferal", "ar": "الإحالة الإلكترونية"},
"healthCare": {"en": "Health Care", "ar": "الصحية المزلية"}, "healthCare": {"en": "Health Care", "ar": "الصحية المزلية"},
"emergency": {"en": "Emergency", "ar": "طارئ"}, "emergency": {"en": "Emergency", "ar": "الطوارئ"},
"cantSeeProfile": {"en": "Cant see your medical File?", "ar": "لا تستطيع رؤية ملفك الطبي؟"}, "cantSeeProfile": {"en": "Cant see your medical File?", "ar": "لا تستطيع رؤية ملفك الطبي؟"},
"loginRegisterNow": {"en": "Login or Register Now", "ar": "تسجيل الدخول أو التسجيل الآن"}, "loginRegisterNow": {"en": "Login or Register Now", "ar": "تسجيل الدخول أو التسجيل الآن"},
"HMGPharmacy": {"en": "HMG Pharmacy", "ar": "صيدلية HMG"}, "HMGPharmacy": {"en": "HMG Pharmacy", "ar": "صيدلية HMG"},
@ -627,7 +633,7 @@ const Map localizedValues = {
"توفر هذه الخدمة مجموعه من خدمات الرعايه الصحيه المنزلية و متابعه مستمره وشامله للذين لا يستطيعون الوصول للمنشات الصحيه في اماكن اقامتهم (التحاليل المخبرية الاشعة التطعيمات العلاج الطبيعي) ..." "توفر هذه الخدمة مجموعه من خدمات الرعايه الصحيه المنزلية و متابعه مستمره وشامله للذين لا يستطيعون الوصول للمنشات الصحيه في اماكن اقامتهم (التحاليل المخبرية الاشعة التطعيمات العلاج الطبيعي) ..."
}, },
"email": {"en": "Email", "ar": "البريد الالكتروني"}, "email": {"en": "Email", "ar": "البريد الالكتروني"},
"Book": {"en": "Book", "ar": "احجز"}, "Book": {"en": "Book", "ar": "حجز"},
"AppointmentLabel": {"en": "Appointment", "ar": "موعد"}, "AppointmentLabel": {"en": "Appointment", "ar": "موعد"},
"BloodType": {"en": "Blood Type", "ar": "فصيلة الدم"}, "BloodType": {"en": "Blood Type", "ar": "فصيلة الدم"},
"marital-status": {"en": "Marital status", "ar": "الحالة الإجتماعية"}, "marital-status": {"en": "Marital status", "ar": "الحالة الإجتماعية"},
@ -751,6 +757,8 @@ const Map localizedValues = {
"permissions": {"en": "Permission", "ar": "الصلاحيات"}, "permissions": {"en": "Permission", "ar": "الصلاحيات"},
"camera-permission": {"en": "Camera", "ar": "الكاميرا"}, "camera-permission": {"en": "Camera", "ar": "الكاميرا"},
"location-permission": {"en": "Location", "ar": "تحديد المواقع"}, "location-permission": {"en": "Location", "ar": "تحديد المواقع"},
"needPrescription": {"en": "This product requires a prescription", "ar": " هذا المنتج يتطلب وصفة طبية"},
"outOfStockMsg": {"en": "You have added product which is out of stock now, Please remove that!", "ar": "لقد قمت بإضافة المنتج الذي نفذ من المخزون الآن. يرجى إزالة ذلك"},
"accessibility": {"en": "Accessibility Mode", "ar": "وضع امكانية الوصول"}, "accessibility": {"en": "Accessibility Mode", "ar": "وضع امكانية الوصول"},
"orderStatus": {"en": "Order Status", "ar": "حالة الطلب"}, "orderStatus": {"en": "Order Status", "ar": "حالة الطلب"},
"CancelOrder": {"en": "Cancel Order", "ar": "الغاء الطلب"}, "CancelOrder": {"en": "Cancel Order", "ar": "الغاء الطلب"},
@ -766,7 +774,7 @@ const Map localizedValues = {
"ResendOrder": {"en": "Refill Order & Delivery", "ar": "إعادة طلب و توصيل"}, "ResendOrder": {"en": "Refill Order & Delivery", "ar": "إعادة طلب و توصيل"},
"Ports": {"en": "Ports", "ar": "المنافذ"}, "Ports": {"en": "Ports", "ar": "المنافذ"},
"Way": {"en": "Way", "ar": "الطريقة"}, "Way": {"en": "Way", "ar": "الطريقة"},
"Average": {"en": "Average", "ar": "المعدل"}, "Average": {"en": "Average", "ar": "متوسط"},
"DailyDoses": {"en": "Daily Doses", "ar": "جرعات يومية"}, "DailyDoses": {"en": "Daily Doses", "ar": "جرعات يومية"},
"Period": {"en": "Period", "ar": "الفترة"}, "Period": {"en": "Period", "ar": "الفترة"},
"duration": {"en": "Duration", "ar": "المدة"}, "duration": {"en": "Duration", "ar": "المدة"},
@ -839,8 +847,8 @@ const Map localizedValues = {
"report": {"en": "Radiology Report", "ar": "تقرير الاشعة"}, "report": {"en": "Radiology Report", "ar": "تقرير الاشعة"},
"open-rad": {"en": "Open Image", "ar": "فتح صور الاشعة"}, "open-rad": {"en": "Open Image", "ar": "فتح صور الاشعة"},
"send-copy": {"en": "Email the Report", "ar": "أرسل التقرير"}, "send-copy": {"en": "Email the Report", "ar": "أرسل التقرير"},
"appoSurvey": {"en": "Survey", "ar": "إستبيان"}, "appoSurvey": {"en": "Survey", "ar": "الاستبيان"},
"appoSurveySubtitle": {"en": "Survey", "ar": "إستبيان"}, "appoSurveySubtitle": {"en": "Survey", "ar": "الاستبيان"},
"labResults": {"en": "Lab Results", "ar": "نتيجة المختبر"}, "labResults": {"en": "Lab Results", "ar": "نتيجة المختبر"},
"doctorRating": {"en": "Doctor Rating", "ar": "تقييم الطبيب"}, "doctorRating": {"en": "Doctor Rating", "ar": "تقييم الطبيب"},
"good": {"en": "Good", "ar": "جيد"}, "good": {"en": "Good", "ar": "جيد"},
@ -1034,6 +1042,7 @@ const Map localizedValues = {
"quantitySize": {"en": "Quantity", "ar": "كميه"}, "quantitySize": {"en": "Quantity", "ar": "كميه"},
"addToCart": {"en": "Add to Cart", "ar": "إضف للسلة"}, "addToCart": {"en": "Add to Cart", "ar": "إضف للسلة"},
"addToWishlist": {"en": "Add to Wishlist", "ar": "اضف للمفضلة"}, "addToWishlist": {"en": "Add to Wishlist", "ar": "اضف للمفضلة"},
"removeFromWishlist": {"en": "Remove From Wishlist", "ar": "احذف للمفضلة"},
"noData": {"en": "There is no data", "ar": "لايوجد بيانات"}, "noData": {"en": "There is no data", "ar": "لايوجد بيانات"},
"no_data": {"en": "No data", "ar": "لايوجد بيانات"}, "no_data": {"en": "No data", "ar": "لايوجد بيانات"},
"buyNow": {"en": "buy now", "ar": "إشتري الان"}, "buyNow": {"en": "buy now", "ar": "إشتري الان"},
@ -1086,11 +1095,11 @@ const Map localizedValues = {
"updated-email": {"en": "Updated email successfully", "ar": "تم تحديث البريد الالكتروني"}, "updated-email": {"en": "Updated email successfully", "ar": "تم تحديث البريد الالكتروني"},
"view-list-children": {"en": "View List of Children", "ar": "عرض قائمة الأطفال"}, "view-list-children": {"en": "View List of Children", "ar": "عرض قائمة الأطفال"},
"covidTest": {"en": "COVID-19 TEST", "ar": "فحص كورونا"}, "covidTest": {"en": "COVID-19 TEST", "ar": "فحص كورونا"},
"driveThru": {"en": "Drive-Thru", "ar": "من السيارة"}, "driveThru": {"en": "Drive-Thru", "ar": "من داخل السيارة"},
"trackDeliveryDriver": {"en": "Track Delivery Driver", "ar": "تتبع السائق"}, "trackDeliveryDriver": {"en": "Track Delivery Driver", "ar": "تتبع السائق"},
"NearestErDesc": { "NearestErDesc": {
"en": "\nThis service Displays nearest branch\n among all the branches of All Habib \n medical Group based on your current Location", "en": "This service Displays nearest branch among all the branches of All Habib medical Group based on your current Location",
"ar": "\nتعرض هذه الخدمة أقرب فرع\n من بين جميع فروع مجموعة \nالحبيب الطبية بناءً على موقعك الحالي." "ar": "تعرض هذه الخدمة أقرب فرع من بين جميع فروع مجموعة الحبيب الطبية بناءً على موقعك الحالي."
}, },
"NearestEr": {"en": "Nearest ER", "ar": "اقرب طوارئ"}, "NearestEr": {"en": "Nearest ER", "ar": "اقرب طوارئ"},
"infoCMC": { "infoCMC": {
@ -1111,7 +1120,7 @@ const Map localizedValues = {
"childName": {"en": "'CHILD NAME'", "ar": "إسم الطفل"}, "childName": {"en": "'CHILD NAME'", "ar": "إسم الطفل"},
"recordDeleted": {"en": "'Record Deleted'", "ar": "تم حذف السجل"}, "recordDeleted": {"en": "'Record Deleted'", "ar": "تم حذف السجل"},
"msg_email_address_up_to_date": { "msg_email_address_up_to_date": {
"en": " Please ensure that the email address is up-to-date and proceed to view the schedule.", "en": "Please ensure that the email address is up-to-date and proceed to view the schedule.",
"ar": " يرجى التأكد من تحديث عنوان البريد الإلكتروني والمتابعة لعرض الجدول" "ar": " يرجى التأكد من تحديث عنوان البريد الإلكتروني والمتابعة لعرض الجدول"
}, },
"add-new-child": {"en": "ADD NEW CHILD", "ar": "إضافة طفل جديد"}, "add-new-child": {"en": "ADD NEW CHILD", "ar": "إضافة طفل جديد"},
@ -1361,8 +1370,8 @@ const Map localizedValues = {
"en": "This service allows you to make an online virtual consultation via video call directly with the doctor from anywhere at any time.", "en": "This service allows you to make an online virtual consultation via video call directly with the doctor from anywhere at any time.",
"ar": "تتيح لك هذه الخدمة إجراء استشارة عبر مكالمة فيديو مباشرة مع الطبيب من أي مكان وفي أي وقت" "ar": "تتيح لك هذه الخدمة إجراء استشارة عبر مكالمة فيديو مباشرة مع الطبيب من أي مكان وفي أي وقت"
}, },
"my-invoice": {"en": "My Invoice", "ar": "فواتيري"}, "my-invoice": {"en": "List", "ar": "فواتيري"},
"invoice-list": {"en": "Invoices List", "ar": "فائمة الفواتير"}, "invoice-list": {"en": "My Invoice", "ar": "قائمة"},
"thisItemIsNotAvailable": {"en": "This item is not available", "ar": "هذا العنصر غير متوفر"}, "thisItemIsNotAvailable": {"en": "This item is not available", "ar": "هذا العنصر غير متوفر"},
"beforeAfterImages": {"en": "Before & After Images", "ar": "الصور قبل وبعد"}, "beforeAfterImages": {"en": "Before & After Images", "ar": "الصور قبل وبعد"},
"clinic-accept-livecare": { "clinic-accept-livecare": {
@ -1503,7 +1512,7 @@ const Map localizedValues = {
"selectSlot": {"en": "Please select Time Slot to continue", "ar": "الرجاء تحديد فترة زمنية للمتابعة"}, "selectSlot": {"en": "Please select Time Slot to continue", "ar": "الرجاء تحديد فترة زمنية للمتابعة"},
"years": {"en": "Years", "ar": "سنوات"}, "years": {"en": "Years", "ar": "سنوات"},
"respirationBPM": {"en": "bpm", "ar": "نفس"}, "respirationBPM": {"en": "bpm", "ar": "نفس"},
"extremeObese": {"en": "Extreme Obese", "ar": "السمنة المفرطة"}, "extremeObese": {"en": "Extreme Obese", "ar": "سمنة مفرطة"},
"invoiceDetails": {"en": "Invoice Details", "ar": "تفاصيل الفاتورة"}, "invoiceDetails": {"en": "Invoice Details", "ar": "تفاصيل الفاتورة"},
"appoDetails": {"en": "Appointment Details", "ar": "تفاصيل الموعد"}, "appoDetails": {"en": "Appointment Details", "ar": "تفاصيل الموعد"},
"appoPaymentConfirm": {"en": "Are you sure you Want to make payment for this appointment?", "ar": "هل أنت متأكد من أنك تريد سداد هذا الموعد؟"}, "appoPaymentConfirm": {"en": "Are you sure you Want to make payment for this appointment?", "ar": "هل أنت متأكد من أنك تريد سداد هذا الموعد؟"},
@ -1516,14 +1525,67 @@ const Map localizedValues = {
"modesBelow": {"en": "Please select the modes below:", "ar": ":الرجاء تحديد الأوضاع أدناه"}, "modesBelow": {"en": "Please select the modes below:", "ar": ":الرجاء تحديد الأوضاع أدناه"},
"prefferedMode": {"en": "Please select the preferred mode below:", "ar": ":الرجاء تحديد الوضع المفضل أدناه"}, "prefferedMode": {"en": "Please select the preferred mode below:", "ar": ":الرجاء تحديد الوضع المفضل أدناه"},
"permissionsBellow": {"en": "Please allow the permissions below:", "ar": ":الرجاء السماح الأذونات أدناه"}, "permissionsBellow": {"en": "Please allow the permissions below:", "ar": ":الرجاء السماح الأذونات أدناه"},
"appointmentReminder": { "en": "Would you like to set a reminder for this appointment in your calendar?", "ar": "هل ترغب في اضافة تذكير لهذا الموعد في التقويم؟" }, "appointmentReminder": {"en": "Would you like to set a reminder for this appointment in your calendar?", "ar": "هل ترغب في اضافة تذكير لهذا الموعد في التقويم؟"},
"cancelAppointment": { "en": "Cancel Appt.", "ar": "الغاء الموعد" }, "cancelAppointment": {"en": "Cancel Appt.", "ar": "الغاء الموعد"},
"updateInsurCards": {"en": "Update Insurance Cards", "ar": "تحديث بطاقات التأمين"}, "updateInsurCards": {"en": "Update Insurance Cards", "ar": "تحديث بطاقات التأمين"},
"patientAge": {"en": "y", "ar": "سنة"}, "patientAge": {"en": "y", "ar": "سنة"},
"searchCriteria": { "en": "Select Search Criteria", "ar": "حدد معايير البحث" }, "searchCriteria": {"en": "Select Search Criteria", "ar": "حدد معايير البحث"},
"RequesterInfo": {"en": "Requester Info", "ar": "معلومات مقدم الطلب"}, "RequesterInfo": {"en": "Requester Info", "ar": "معلومات مقدم الطلب"},
"PatientInfo": {"en": "Patient Info", "ar": "معلومات المريض"}, "PatientInfo": {"en": "Patient Info", "ar": "معلومات المريض"},
"OtherInfo": {"en": "Other Info", "ar": "معلومات اخرى"}, "OtherInfo": {"en": "Other Info", "ar": "معلومات اخرى"},
"inPrgress": {"en": "In Progress", "ar": "في تقدم"}, "inPrgress": {"en": "In Progress", "ar": "في تقدم"},
"locked": {"en": "Locked", "ar": "مقفل"}, "locked": {"en": "Locked", "ar": "مقفل"},
"personalInfo": {"en": "Personal Information", "ar": "معلومات شخصية"},
"cmcTitle": {"en": "Comprehensive", "ar": "خدمة"},
"cmcSubtitle": {"en": "Medical Checkup", "ar": "الفحص الشامل"},
"emergencyTitle": {"en": "Emergency", "ar": "خدمات"},
"emergencySubtitle": {"en": "Services", "ar": "الطوارئ"},
"ereferralTitle": {"en": "E-Referral", "ar": "خدمة"},
"ereferralSubtitle": {"en": "Service", "ar": "الإحالة الإلكترونية"},
"medicalFileTitle": {"en": "Medical File", 'ar': 'الملف الطبي'},
"My_File_Details": {"en": "My File Details", "ar": "تفاصيل ملفي"},
"Ecommerce": {"en": "Ecommerce", "ar": "التجارة الإلكترونية"},
"Family_Files": {"en": "Family Files", "ar": "ملفات العائلة"},
"My_Child": {"en": "My Child", "ar": "تطعيمات"},
"Vaccines": {"en": "Vaccines", "ar": "الأطفال"},
"Todo": {"en": "Todo", "ar": "قائمة"},
"List": {"en": "List", "ar": "المهام"},
"Blood": {"en": "Blood", "ar": "التبرع"},
"Donation": {"en": "Donation", "ar": "بالدم"},
"Health": {"en": "Health", "ar": "الصحة"},
"Calculator": {"en": "Calculator", "ar": "آلة حاسبة"},
"Converter": {"en": "Converter", "ar": "محول"},
"Smart": {"en": "Smart", "ar": "ذكي"},
"Watches": {"en": "Watches", "ar": "ساعات"},
"parkingTitle2": {"en": "Car parking", "ar": "خدمة"},
"ParkingSubtitle": {"en": "service", "ar": "مواقف السيارات"},
"Details": {"en": "Details", "ar": "تفاصيل"},
"News": {"en": "News", "ar": "أحدث"},
"Latest": {"en": "Latest", "ar": "ألاخبار"},
"Virtual": {"en": "Virtual", "ar": "جولة"},
"Tour": {"en": "Tour", "ar": "افتراضية"},
"mostViewed": {"en": "Most Viewed", "ar": "الأكثر مشاهدة"},
"newProducts": {"en": "New Products", "ar": "منتجات جديدة"},
"paymentSelected": {"en": "Selected", "ar": "المحدد"},
"moreNotifications": {"en": "More notifications", "ar": "الإشعارات المزيد"},
"familyTitle": {"en": "My Family", "ar": "ملفات"},
"familySubtitle": {"en": "Files", "ar": "العائلة"},
"liveCareTitle": {"en": "LiveCare", "ar": "خدمة"},
"liveCareSubtitle": {"en": "Service", "ar": "لايف كير"},
"pharmacyTitle": {"en": "Al Habib", "ar": "الصيدليات"},
"pharmacySubtitle": {"en": "Pharmacy", "ar": "الحبيب"},
"healthCalculatorTitle": {"en": "Health", "ar": "الحاسبات"},
"healthCalculatorSubtitle": {"en": "Calculators", "ar": "الصحية"},
"waterTitle": {"en": "Water", "ar": "استهلاك"},
"waterSubtitle": {"en": "Consumption", "ar": "الماء"},
"medicalFileTitle2": {"en": "My Medical File", "ar": "تفاصيل"},
"medicalFileSubtitle": {"en": "Details", "ar": "ملفي الطبي"},
"healthConvertersTitle": {"en": "Health", "ar": "تحويل"},
"healthConvertersSubtitle": {"en": "Converters", "ar": "القياسات"},
"syncHealthData": { "en": "Sync Health Data", "ar": "مزامنة البيانات الصحية" },
"steps": { "en": "Steps", "ar": "الخطوات" },
"avgSteps": { "en": "Average Steps", "ar": "متوسط الخطوات" },
"avgDistance": { "en": "Average Distance", "ar": "متوسط المسافة" },
"enterDetails": {"en": "Enter Details", "ar": "أدخل التفاصيل"},
"avgHeartRate": { "en": "Average Heart Rate", "ar": "متوسط معدل ضربات القلب" },
}; };

@ -0,0 +1,345 @@
class GetCMCAllOrdersResponseModel {
int iD;
int patientId;
int patientOutSa;
bool isOutPatient;
int projectId;
int nearestProjectId;
dynamic longitude;
dynamic latitude;
dynamic appointmentNo;
dynamic dischargeId;
int statusId;
int serviceId;
int channel;
Orderpayment orderpayment;
dynamic orderselectedservice;
dynamic wforder;
dynamic orderapprovalobj;
String created;
dynamic createdBy;
dynamic modified;
dynamic modifiedBy;
bool isDeleted;
String statusText;
int paymentStatus;
dynamic clientRequestid;
dynamic paymentStatusText;
String projectName;
String nearestProjectName;
dynamic paymentAmount;
WFOrder wFOrder;
String serviceText;
bool isSentForApproval;
int exaCartOrderId;
bool isTimer;
int timeSeconds;
int totalPendingSeconds;
int timeMinute;
int timeHour;
int timeTotalSeconds;
int timeTotalMinute;
int timeTotalHour;
dynamic approvalStatus;
bool isActive;
int clickButton;
List<dynamic> procedures;
dynamic pickupLocation;
dynamic dropOffLocation;
dynamic clinicName;
dynamic doctorName;
dynamic branch;
dynamic time;
dynamic notes;
GetCMCAllOrdersResponseModel(
{this.iD,
this.patientId,
this.patientOutSa,
this.isOutPatient,
this.projectId,
this.nearestProjectId,
this.longitude,
this.latitude,
this.appointmentNo,
this.dischargeId,
this.statusId,
this.serviceId,
this.channel,
this.orderpayment,
this.orderselectedservice,
this.wforder,
this.orderapprovalobj,
this.created,
this.createdBy,
this.modified,
this.modifiedBy,
this.isDeleted,
this.statusText,
this.paymentStatus,
this.clientRequestid,
this.paymentStatusText,
this.projectName,
this.nearestProjectName,
this.paymentAmount,
this.wFOrder,
this.serviceText,
this.isSentForApproval,
this.exaCartOrderId,
this.isTimer,
this.timeSeconds,
this.totalPendingSeconds,
this.timeMinute,
this.timeHour,
this.timeTotalSeconds,
this.timeTotalMinute,
this.timeTotalHour,
this.approvalStatus,
this.isActive,
this.clickButton,
this.procedures,
this.pickupLocation,
this.dropOffLocation,
this.clinicName,
this.doctorName,
this.branch,
this.time,
this.notes});
GetCMCAllOrdersResponseModel.fromJson(Map<String, dynamic> json) {
iD = json['ID'];
patientId = json['PatientId'];
patientOutSa = json['PatientOutSa'];
isOutPatient = json['IsOutPatient'];
projectId = json['ProjectId'];
nearestProjectId = json['NearestProjectId'];
longitude = json['Longitude'];
latitude = json['Latitude'];
appointmentNo = json['AppointmentNo'];
dischargeId = json['DischargeId'];
statusId = json['StatusId'];
serviceId = json['ServiceId'];
channel = json['Channel'];
orderpayment = json['orderpayment'] != null
? new Orderpayment.fromJson(json['orderpayment'])
: null;
orderselectedservice = json['orderselectedservice'];
wforder = json['wforder'];
orderapprovalobj = json['orderapprovalobj'];
created = json['Created'];
createdBy = json['CreatedBy'];
modified = json['Modified'];
modifiedBy = json['ModifiedBy'];
isDeleted = json['IsDeleted'];
statusText = json['StatusText'];
paymentStatus = json['PaymentStatus'];
clientRequestid = json['ClientRequestid'];
paymentStatusText = json['PaymentStatusText'];
projectName = json['ProjectName'];
nearestProjectName = json['NearestProjectName'];
paymentAmount = json['PaymentAmount'];
wFOrder = json['WF_order'] != null
? new WFOrder.fromJson(json['WF_order'])
: null;
serviceText = json['ServiceText'];
isSentForApproval = json['isSentForApproval'];
exaCartOrderId = json['ExaCart_OrderId'];
isTimer = json['isTimer'];
timeSeconds = json['TimeSeconds'];
totalPendingSeconds = json['TotalPendingSeconds'];
timeMinute = json['TimeMinute'];
timeHour = json['TimeHour'];
timeTotalSeconds = json['TimeTotalSeconds'];
timeTotalMinute = json['TimeTotalMinute'];
timeTotalHour = json['TimeTotalHour'];
approvalStatus = json['ApprovalStatus'];
isActive = json['isActive'];
clickButton = json['ClickButton'];
pickupLocation = json['PickupLocation'];
dropOffLocation = json['DropOffLocation'];
clinicName = json['clinicName'];
doctorName = json['DoctorName'];
branch = json['Branch'];
time = json['Time'];
notes = json['Notes'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ID'] = this.iD;
data['PatientId'] = this.patientId;
data['PatientOutSa'] = this.patientOutSa;
data['IsOutPatient'] = this.isOutPatient;
data['ProjectId'] = this.projectId;
data['NearestProjectId'] = this.nearestProjectId;
data['Longitude'] = this.longitude;
data['Latitude'] = this.latitude;
data['AppointmentNo'] = this.appointmentNo;
data['DischargeId'] = this.dischargeId;
data['StatusId'] = this.statusId;
data['ServiceId'] = this.serviceId;
data['Channel'] = this.channel;
if (this.orderpayment != null) {
data['orderpayment'] = this.orderpayment.toJson();
}
data['orderselectedservice'] = this.orderselectedservice;
data['wforder'] = this.wforder;
data['orderapprovalobj'] = this.orderapprovalobj;
data['Created'] = this.created;
data['CreatedBy'] = this.createdBy;
data['Modified'] = this.modified;
data['ModifiedBy'] = this.modifiedBy;
data['IsDeleted'] = this.isDeleted;
data['StatusText'] = this.statusText;
data['PaymentStatus'] = this.paymentStatus;
data['ClientRequestid'] = this.clientRequestid;
data['PaymentStatusText'] = this.paymentStatusText;
data['ProjectName'] = this.projectName;
data['NearestProjectName'] = this.nearestProjectName;
data['PaymentAmount'] = this.paymentAmount;
if (this.wFOrder != null) {
data['WF_order'] = this.wFOrder.toJson();
}
data['ServiceText'] = this.serviceText;
data['isSentForApproval'] = this.isSentForApproval;
data['ExaCart_OrderId'] = this.exaCartOrderId;
data['isTimer'] = this.isTimer;
data['TimeSeconds'] = this.timeSeconds;
data['TotalPendingSeconds'] = this.totalPendingSeconds;
data['TimeMinute'] = this.timeMinute;
data['TimeHour'] = this.timeHour;
data['TimeTotalSeconds'] = this.timeTotalSeconds;
data['TimeTotalMinute'] = this.timeTotalMinute;
data['TimeTotalHour'] = this.timeTotalHour;
data['ApprovalStatus'] = this.approvalStatus;
data['isActive'] = this.isActive;
data['ClickButton'] = this.clickButton;
data['PickupLocation'] = this.pickupLocation;
data['DropOffLocation'] = this.dropOffLocation;
data['clinicName'] = this.clinicName;
data['DoctorName'] = this.doctorName;
data['Branch'] = this.branch;
data['Time'] = this.time;
data['Notes'] = this.notes;
return data;
}
}
class Orderpayment {
int iD;
int orderId;
dynamic clientRequestId;
dynamic totalAmount;
int paymentStatus;
dynamic order;
String created;
dynamic createdBy;
dynamic modified;
dynamic modifiedBy;
bool isDeleted;
Orderpayment(
{this.iD,
this.orderId,
this.clientRequestId,
this.totalAmount,
this.paymentStatus,
this.order,
this.created,
this.createdBy,
this.modified,
this.modifiedBy,
this.isDeleted});
Orderpayment.fromJson(Map<String, dynamic> json) {
iD = json['ID'];
orderId = json['OrderId'];
clientRequestId = json['ClientRequestId'];
totalAmount = json['TotalAmount'];
paymentStatus = json['PaymentStatus'];
order = json['Order'];
created = json['Created'];
createdBy = json['CreatedBy'];
modified = json['Modified'];
modifiedBy = json['ModifiedBy'];
isDeleted = json['IsDeleted'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ID'] = this.iD;
data['OrderId'] = this.orderId;
data['ClientRequestId'] = this.clientRequestId;
data['TotalAmount'] = this.totalAmount;
data['PaymentStatus'] = this.paymentStatus;
data['Order'] = this.order;
data['Created'] = this.created;
data['CreatedBy'] = this.createdBy;
data['Modified'] = this.modified;
data['ModifiedBy'] = this.modifiedBy;
data['IsDeleted'] = this.isDeleted;
return data;
}
}
class WFOrder {
dynamic wfButtonsDTO;
int iD;
int orderId;
int previousStep;
int nextStep;
int serviceId;
dynamic order;
String created;
dynamic createdBy;
dynamic modified;
dynamic modifiedBy;
bool isDeleted;
WFOrder(
{this.wfButtonsDTO,
this.iD,
this.orderId,
this.previousStep,
this.nextStep,
this.serviceId,
this.order,
this.created,
this.createdBy,
this.modified,
this.modifiedBy,
this.isDeleted});
WFOrder.fromJson(Map<String, dynamic> json) {
wfButtonsDTO = json['wf_ButtonsDTO'];
iD = json['ID'];
orderId = json['OrderId'];
previousStep = json['PreviousStep'];
nextStep = json['NextStep'];
serviceId = json['ServiceId'];
order = json['Order'];
created = json['Created'];
createdBy = json['CreatedBy'];
modified = json['Modified'];
modifiedBy = json['ModifiedBy'];
isDeleted = json['IsDeleted'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['wf_ButtonsDTO'] = this.wfButtonsDTO;
data['ID'] = this.iD;
data['OrderId'] = this.orderId;
data['PreviousStep'] = this.previousStep;
data['NextStep'] = this.nextStep;
data['ServiceId'] = this.serviceId;
data['Order'] = this.order;
data['Created'] = this.created;
data['CreatedBy'] = this.createdBy;
data['Modified'] = this.modified;
data['ModifiedBy'] = this.modifiedBy;
data['IsDeleted'] = this.isDeleted;
return data;
}
}

@ -73,12 +73,10 @@ class CMCInsertPresOrderRequestModel {
data['LanguageID'] = this.languageID; data['LanguageID'] = this.languageID;
data['IPAdress'] = this.iPAdress; data['IPAdress'] = this.iPAdress;
data['generalid'] = this.generalid; data['generalid'] = this.generalid;
data['patientOutSa'] = this.patientOutSA;
data['isOutPatient'] = this.patientOutSA == 0 ? false : true; data['isOutPatient'] = this.patientOutSA == 0 ? false : true;
data['SessionID'] = this.sessionID; data['SessionID'] = this.sessionID;
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend; data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
data['DeviceTypeID'] = this.deviceTypeID; data['DeviceTypeID'] = this.deviceTypeID;
data['patientId'] = this.patientID.toString();
data['TokenID'] = this.tokenID; data['TokenID'] = this.tokenID;
data['PatientTypeID'] = this.patientTypeID; data['PatientTypeID'] = this.patientTypeID;
data['PatientType'] = this.patientType; data['PatientType'] = this.patientType;

@ -1,5 +1,5 @@
class GetCMCServicesResponseModel { class GetCMCServicesResponseModel {
int id; int iD;
String serviceID; String serviceID;
int orderServiceID; int orderServiceID;
String text; String text;
@ -12,7 +12,7 @@ class GetCMCServicesResponseModel {
int quantity; int quantity;
GetCMCServicesResponseModel( GetCMCServicesResponseModel(
{this.id, {this.iD,
this.serviceID, this.serviceID,
this.orderServiceID, this.orderServiceID,
this.text, this.text,
@ -25,32 +25,32 @@ class GetCMCServicesResponseModel {
this.quantity}); this.quantity});
GetCMCServicesResponseModel.fromJson(Map<String, dynamic> json) { GetCMCServicesResponseModel.fromJson(Map<String, dynamic> json) {
id = json['id']; iD = json['ID'];
serviceID = json['serviceID']; serviceID = json['ServiceID'];
orderServiceID = json['orderServiceID']; orderServiceID = json['OrderServiceID'];
text = json['text']; text = json['Text'];
textN = json['textN']; textN = json['TextN'];
price = json['price']; price = json['Price'];
priceVAT = json['priceVAT']; priceVAT = json['PriceVAT'];
priceTotal = json['priceTotal']; priceTotal = json['PriceTotal'];
isEnabled = json['isEnabled']; isEnabled = json['IsEnabled'];
orderId = json['orderId']; orderId = json['OrderId'];
quantity = json['quantity']; quantity = json['Quantity'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id; data['ID'] = this.iD;
data['serviceID'] = this.serviceID; data['ServiceID'] = this.serviceID;
data['orderServiceID'] = this.orderServiceID; data['OrderServiceID'] = this.orderServiceID;
data['text'] = this.text; data['Text'] = this.text;
data['textN'] = this.textN; data['TextN'] = this.textN;
data['price'] = this.price; data['Price'] = this.price;
data['priceVAT'] = this.priceVAT; data['PriceVAT'] = this.priceVAT;
data['priceTotal'] = this.priceTotal; data['PriceTotal'] = this.priceTotal;
data['isEnabled'] = this.isEnabled; data['IsEnabled'] = this.isEnabled;
data['orderId'] = this.orderId; data['OrderId'] = this.orderId;
data['quantity'] = this.quantity; data['Quantity'] = this.quantity;
return data; return data;
} }
} }

@ -1,32 +1,56 @@
class HHCGetAllServicesResponseModel { class HHCGetAllServicesResponseModel {
int iD; int iD;
int serviceID; String serviceID;
String description; int orderServiceID;
String descriptionN; String text;
bool isActive; String textN;
dynamic price;
dynamic priceVAT;
dynamic priceTotal;
bool isEnabled;
int orderId;
int quantity;
HHCGetAllServicesResponseModel( HHCGetAllServicesResponseModel(
{this.iD, {this.iD,
this.serviceID, this.serviceID,
this.description, this.orderServiceID,
this.descriptionN, this.text,
this.isActive}); this.textN,
this.price,
this.priceVAT,
this.priceTotal,
this.isEnabled,
this.orderId,
this.quantity});
HHCGetAllServicesResponseModel.fromJson(Map<String, dynamic> json) { HHCGetAllServicesResponseModel.fromJson(Map<String, dynamic> json) {
iD = json['ID']; iD = json['ID'];
serviceID = json['ServiceID']; serviceID = json['ServiceID'];
description = json['Description']; orderServiceID = json['OrderServiceID'];
descriptionN = json['DescriptionN']; text = json['Text'];
isActive = json['IsActive']; textN = json['TextN'];
price = json['Price'];
priceVAT = json['PriceVAT'];
priceTotal = json['PriceTotal'];
isEnabled = json['IsEnabled'];
orderId = json['OrderId'];
quantity = json['Quantity'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = new Map<String, dynamic>();
data['ID'] = this.iD; data['ID'] = this.iD;
data['ServiceID'] = this.serviceID; data['ServiceID'] = this.serviceID;
data['Description'] = this.description; data['OrderServiceID'] = this.orderServiceID;
data['DescriptionN'] = this.descriptionN; data['Text'] = this.text;
data['IsActive'] = this.isActive; data['TextN'] = this.textN;
data['Price'] = this.price;
data['PriceVAT'] = this.priceVAT;
data['PriceTotal'] = this.priceTotal;
data['IsEnabled'] = this.isEnabled;
data['OrderId'] = this.orderId;
data['Quantity'] = this.quantity;
return data; return data;
} }
} }

@ -16,7 +16,7 @@ class PatientERHHCInsertServicesList {
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>(); final Map<String, dynamic> data = new Map<String, dynamic>();
data['RecordID'] = this.recordID; data['RecordID'] = this.recordID;
data['ServiceID'] = this.serviceID; data['ServiceID'] = this.serviceID.toString();
data['ServiceName'] = this.serviceName; data['ServiceName'] = this.serviceName;
return data; return data;
} }

@ -76,7 +76,8 @@ class PatientERInsertPresOrderRequestModel {
data['LanguageID'] = this.languageID; data['LanguageID'] = this.languageID;
data['IPAdress'] = this.iPAdress; data['IPAdress'] = this.iPAdress;
data['generalid'] = this.generalid; data['generalid'] = this.generalid;
data['PatientOutSA'] = this.patientOutSA; data['isOutPatient'] = this.patientOutSA == 0 ? false : true;
// data['PatientOutSA'] = this.patientOutSA;
data['SessionID'] = this.sessionID; data['SessionID'] = this.sessionID;
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend; data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
data['DeviceTypeID'] = this.deviceTypeID; data['DeviceTypeID'] = this.deviceTypeID;
@ -84,12 +85,12 @@ class PatientERInsertPresOrderRequestModel {
data['TokenID'] = this.tokenID; data['TokenID'] = this.tokenID;
data['PatientTypeID'] = this.patientTypeID; data['PatientTypeID'] = this.patientTypeID;
data['PatientType'] = this.patientType; data['PatientType'] = this.patientType;
data['Latitude'] = this.latitude; data['latitude'] = this.latitude;
data['Longitude'] = this.longitude; data['longitude'] = this.longitude;
data['CreatedBy'] = this.createdBy; // data['CreatedBy'] = this.createdBy;
data['OrderServiceID'] = this.orderServiceID; data['OrderServiceID'] = this.orderServiceID;
if (this.patientERHHCInsertServicesList != null) { if (this.patientERHHCInsertServicesList != null) {
data['PatientER_HHC_InsertServicesList'] = data['procedures'] =
this.patientERHHCInsertServicesList.map((v) => v.toJson()).toList(); this.patientERHHCInsertServicesList.map((v) => v.toJson()).toList();
} }
return data; return data;

@ -71,7 +71,8 @@ class UpdatePresOrderRequestModel {
data['TokenID'] = this.tokenID; data['TokenID'] = this.tokenID;
data['PatientTypeID'] = this.patientTypeID; data['PatientTypeID'] = this.patientTypeID;
data['PatientType'] = this.patientType; data['PatientType'] = this.patientType;
data['PresOrderID'] = this.presOrderID; data['Id'] = this.presOrderID;
data['ClickButton'] = 14;
data['PresOrderStatus'] = this.presOrderStatus; data['PresOrderStatus'] = this.presOrderStatus;
data['EditedBy'] = this.editedBy; data['EditedBy'] = this.editedBy;
data['RejectionReason'] = this.rejectionReason; data['RejectionReason'] = this.rejectionReason;

@ -108,10 +108,10 @@ class PharmacyProduct {
List<int> manufacturerIds; List<int> manufacturerIds;
List<Reviews> reviews; List<Reviews> reviews;
List<PharmacyImageObject> images; List<PharmacyImageObject> images;
List<String> attributes; List<dynamic> attributes;
List<Specifications> specifications; List<Specifications> specifications;
List<String> associatedProductIds; List<dynamic> associatedProductIds;
List<String> tags; List<dynamic> tags;
int vendorId; int vendorId;
String seName; String seName;
@ -367,7 +367,7 @@ class PharmacyProduct {
}); });
} }
if (json['attributes'] != null) { if (json['attributes'] != null) {
attributes = new List<String>(); attributes = new List<dynamic>();
json['attributes'].forEach((v) { json['attributes'].forEach((v) {
attributes.add(v); attributes.add(v);
}); });

@ -1,7 +1,7 @@
import 'package:diplomaticquarterapp/core/model/pharmacies/ShoppingCart.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/ShoppingCart.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class ShoppingCartResponse with ChangeNotifier { class ShoppingCartResponse {
int itemCount; int itemCount;
int quantityCount; int quantityCount;
double subtotal; double subtotal;
@ -11,17 +11,15 @@ class ShoppingCartResponse with ChangeNotifier {
List<ShoppingCart> shoppingCarts; List<ShoppingCart> shoppingCarts;
ShoppingCartResponse( ShoppingCartResponse(
{this.itemCount, {this.itemCount =0,
this.quantityCount, this.quantityCount =0,
this.subtotal, this.subtotal=0.0,
this.subtotalWithVat, this.subtotalWithVat = 0.0,
this.subtotalVatAmount, this.subtotalVatAmount = 0.0,
this.subtotalVatRate, this.subtotalVatRate = 0.0 ,
this.shoppingCarts}); this.shoppingCarts});
void updateShoppingCard() {
notifyListeners();
}
ShoppingCartResponse.fromJson(Map<String, dynamic> json) { ShoppingCartResponse.fromJson(Map<String, dynamic> json) {
itemCount = json['item_count']; itemCount = json['item_count'];

@ -5,7 +5,7 @@ import 'package:flutter/material.dart';
import 'ShippingOption.dart'; import 'ShippingOption.dart';
class PaymentCheckoutData with ChangeNotifier{ class PaymentCheckoutData {
Addresses address; Addresses address;
PaymentOption paymentOption; PaymentOption paymentOption;
LacumAccountInformation lacumInformation; LacumAccountInformation lacumInformation;
@ -15,7 +15,5 @@ class PaymentCheckoutData with ChangeNotifier{
PaymentCheckoutData({this.address, this.paymentOption, this.lacumInformation, this.cartDataVisible = false, this.shippingOption, this.usedLakumPoints = 0}); PaymentCheckoutData({this.address, this.paymentOption, this.lacumInformation, this.cartDataVisible = false, this.shippingOption, this.usedLakumPoints = 0});
void updateData() {
notifyListeners();
}
} }

@ -1,12 +1,12 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/enum/OrderService.dart'; import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_get_items_request_model.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_get_items_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/get_cmc_service_request_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/get_cmc_service_request_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/get_cmc_service_response_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/get_cmc_service_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_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_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/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/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
@ -15,7 +15,7 @@ import '../base_service.dart';
class CMCService extends BaseService { class CMCService extends BaseService {
List<GetCMCServicesResponseModel> cmcAllServicesList = List(); List<GetCMCServicesResponseModel> cmcAllServicesList = List();
List<GetHHCAllPresOrdersResponseModel> cmcAllPresOrdersList = List(); List<GetCMCAllOrdersResponseModel> cmcAllPresOrdersList = List();
List<GetOrderDetailByOrderIDResponseModel> cmcAllOrderDetail = List(); List<GetOrderDetailByOrderIDResponseModel> cmcAllOrderDetail = List();
List<CMCGetItemsResponseModel> checkupItemsList = List(); List<CMCGetItemsResponseModel> checkupItemsList = List();
@ -30,7 +30,7 @@ class CMCService extends BaseService {
// RC IMPLEMENTATION // RC IMPLEMENTATION
await baseAppClient.post(GET_ALL_CMC_SERVICES_RC + "?patientID=" + user.patientID.toString(), isAllowAny: true, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(GET_ALL_CMC_SERVICES_RC + "?patientID=" + user.patientID.toString(), isAllowAny: true, onSuccess: (dynamic response, int statusCode) {
cmcAllServicesList.clear(); cmcAllServicesList.clear();
response.forEach((data) { response['response'].forEach((data) {
cmcAllServicesList.add(GetCMCServicesResponseModel.fromJson(data)); cmcAllServicesList.add(GetCMCServicesResponseModel.fromJson(data));
}); });
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
@ -55,8 +55,8 @@ class CMCService extends BaseService {
await baseAppClient.post(GET_PATIENT_ALL_PRES_ORDERS, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(GET_PATIENT_ALL_PRES_ORDERS, onSuccess: (dynamic response, int statusCode) {
cmcAllPresOrdersList.clear(); cmcAllPresOrdersList.clear();
cmcAllOrderDetail.clear(); cmcAllOrderDetail.clear();
response['PatientER_GetPatientAllPresOrdersList'].forEach((data) { response['response'].forEach((data) {
if (data['ServiceID'] == OrderService.Comprehensive_Medical_Checkup.getIdOrderService()) cmcAllPresOrdersList.add(GetHHCAllPresOrdersResponseModel.fromJson(data)); if (data['ServiceID'] == OrderService.Comprehensive_Medical_Checkup.getIdOrderService()) cmcAllPresOrdersList.add(GetCMCAllOrdersResponseModel.fromJson(data));
}); });
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
@ -64,6 +64,26 @@ class CMCService extends BaseService {
}, body: getHHCAllPresOrdersRequestModel.toJson()); }, body: getHHCAllPresOrdersRequestModel.toJson());
} }
Future getCmcAllPresOrdersRC() async {
GetHHCAllPresOrdersRequestModel getHHCAllPresOrdersRequestModel = GetHHCAllPresOrdersRequestModel();
hasError = false;
await baseAppClient.post(GET_ALL_CMC_ORDERS_RC, onSuccess: (dynamic response, int statusCode) {
cmcAllPresOrdersList.clear();
cmcAllOrderDetail.clear();
response['response'].forEach((data) {
cmcAllPresOrdersList.add(GetCMCAllOrdersResponseModel.fromJson(data));
});
// response['PatientER_GetPatientAllPresOrdersList'].forEach((data) {
// if (data['ServiceID'] == OrderService.Comprehensive_Medical_Checkup.getIdOrderService()) cmcAllPresOrdersList.add(GetHHCAllPresOrdersResponseModel.fromJson(data));
// });
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: getHHCAllPresOrdersRequestModel.toJson());
}
Future getOrderDetailByOrderID(GetOrderDetailByOrderIDRequestModel getOrderDetailByOrderIDRequestModel) async { Future getOrderDetailByOrderID(GetOrderDetailByOrderIDRequestModel getOrderDetailByOrderIDRequestModel) async {
hasError = false; hasError = false;
await baseAppClient.post(GET_CMC_ORDER_DETAIL_BY_ID, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(GET_CMC_ORDER_DETAIL_BY_ID, onSuccess: (dynamic response, int statusCode) {
@ -100,12 +120,22 @@ class CMCService extends BaseService {
}, body: updatePresOrderRequestModel.toJson()); }, body: updatePresOrderRequestModel.toJson());
} }
Future updateCmcPresOrderRC(UpdatePresOrderRequestModel updatePresOrderRequestModel) async {
hasError = false;
await baseAppClient.post(UPDATE_CMC_ORDER_RC, onSuccess: (dynamic response, int statusCode) {
isOrderUpdated = true;
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: updatePresOrderRequestModel.toJson());
}
Future<String> insertCMCOrderRC({CMCInsertPresOrderRequestModel order}) async { Future<String> insertCMCOrderRC({CMCInsertPresOrderRequestModel order}) async {
hasError = false; hasError = false;
String reqId = ""; String reqId = "";
await baseAppClient.post(ADD_CMC_ORDER_RC, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(ADD_CMC_ORDER_RC, onSuccess: (dynamic response, int statusCode) {
isOrderUpdated = true; isOrderUpdated = true;
reqId = response['RequestNo'].toString(); reqId = response['response'].toString();
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;

@ -22,9 +22,12 @@ class EReferralService extends BaseService {
List<SearchEReferralResponseModel> get allReferral => _allReferral; List<SearchEReferralResponseModel> get allReferral => _allReferral;
String _activationCode; String _activationCode;
String _logInTokenID; String _logInTokenID;
String _referralNumber;
String get activationCode => _activationCode; String get activationCode => _activationCode;
String get referralNumber => _referralNumber;
bool _isActivationCodeValid = false; bool _isActivationCodeValid = false;
bool get isActivationCodeValid => _isActivationCodeValid; bool get isActivationCodeValid => _isActivationCodeValid;
@ -106,6 +109,7 @@ class EReferralService extends BaseService {
CREATE_E_REFERRAL /*'Services/Patients.svc/REST/CreateEReferral'*/, CREATE_E_REFERRAL /*'Services/Patients.svc/REST/CreateEReferral'*/,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
// TODO Waiting for fix service // TODO Waiting for fix service
_referralNumber = response['ReferralNumber'].toString();
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/enum/OrderService.dart'; import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.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_request_modle.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_response_model.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_request_model.dart';
@ -13,7 +14,7 @@ import '../base_service.dart';
class HomeHealthCareService extends BaseService { class HomeHealthCareService extends BaseService {
List<HHCGetAllServicesResponseModel> hhcAllServicesList = List(); List<HHCGetAllServicesResponseModel> hhcAllServicesList = List();
List<GetHHCAllPresOrdersResponseModel> hhcAllPresOrdersList = List(); List<GetCMCAllOrdersResponseModel> hhcAllPresOrdersList = List();
List<GetOrderDetailByOrderIDResponseModel> hhcAllOrderDetail = List(); List<GetOrderDetailByOrderIDResponseModel> hhcAllOrderDetail = List();
List<AddressInfo> addressesList = List(); List<AddressInfo> addressesList = List();
@ -21,6 +22,7 @@ class HomeHealthCareService extends BaseService {
bool isOrderUpdated; bool isOrderUpdated;
CustomerInfo customerInfo; CustomerInfo customerInfo;
int requestNo; int requestNo;
Future getHHCAllServices(HHCGetAllServicesRequestModel hHCGetAllServicesRequestModel) async { Future getHHCAllServices(HHCGetAllServicesRequestModel hHCGetAllServicesRequestModel) async {
hasError = false; hasError = false;
await baseAppClient.post(HHC_GET_ALL_SERVICES, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(HHC_GET_ALL_SERVICES, onSuccess: (dynamic response, int statusCode) {
@ -34,14 +36,42 @@ class HomeHealthCareService extends BaseService {
}, body: hHCGetAllServicesRequestModel.toJson()); }, body: hHCGetAllServicesRequestModel.toJson());
} }
Future getHHCAllServicesRC(HHCGetAllServicesRequestModel hHCGetAllServicesRequestModel) async {
hasError = false;
await baseAppClient.post(HHC_GET_ALL_SERVICES_RC + "?PatientID=" + user.patientID.toString(), onSuccess: (dynamic response, int statusCode) {
hhcAllServicesList.clear();
response['response'].forEach((data) {
hhcAllServicesList.add(HHCGetAllServicesResponseModel.fromJson(data));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: hHCGetAllServicesRequestModel.toJson());
}
Future getHHCAllPresOrdersRC() async {
GetHHCAllPresOrdersRequestModel getHHCAllPresOrdersRequestModel = GetHHCAllPresOrdersRequestModel();
hasError = false;
await baseAppClient.post(GET_ALL_HHC_ORDERS_RC, onSuccess: (dynamic response, int statusCode) {
hhcAllPresOrdersList.clear();
hhcAllOrderDetail.clear();
response['response'].forEach((data) {
hhcAllPresOrdersList.add(GetCMCAllOrdersResponseModel.fromJson(data));
});
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: getHHCAllPresOrdersRequestModel.toJson());
}
Future getHHCAllPresOrders() async { Future getHHCAllPresOrders() async {
GetHHCAllPresOrdersRequestModel getHHCAllPresOrdersRequestModel = GetHHCAllPresOrdersRequestModel(); GetHHCAllPresOrdersRequestModel getHHCAllPresOrdersRequestModel = GetHHCAllPresOrdersRequestModel();
hasError = false; hasError = false;
await baseAppClient.post(GET_PATIENT_ALL_PRES_ORD, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(GET_PATIENT_ALL_PRES_ORD, onSuccess: (dynamic response, int statusCode) {
hhcAllPresOrdersList.clear(); hhcAllPresOrdersList.clear();
response['PatientER_GetPatientAllPresOrdersList'].forEach((data) { // response['PatientER_GetPatientAllPresOrdersList'].forEach((data) {
if (data['ServiceID'] == OrderService.HOME_HEALTH_CARE.getIdOrderService()) hhcAllPresOrdersList.add(GetHHCAllPresOrdersResponseModel.fromJson(data)); // if (data['ServiceID'] == OrderService.HOME_HEALTH_CARE.getIdOrderService()) hhcAllPresOrdersList.add(GetHHCAllPresOrdersResponseModel.fromJson(data));
}); // });
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
@ -74,6 +104,16 @@ class HomeHealthCareService extends BaseService {
}, body: updatePresOrderRequestModel.toJson()); }, body: updatePresOrderRequestModel.toJson());
} }
Future updateHHCPresOrderRC(UpdatePresOrderRequestModel updatePresOrderRequestModel) async {
hasError = false;
await baseAppClient.post(UPDATE_HHC_ORDER_RC, onSuccess: (dynamic response, int statusCode) {
isOrderUpdated = true;
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: updatePresOrderRequestModel.toJson());
}
Future insertPresPresOrder({PatientERInsertPresOrderRequestModel order}) async { Future insertPresPresOrder({PatientERInsertPresOrderRequestModel order}) async {
hasError = false; hasError = false;
await baseAppClient.post(INSERT_ER_INERT_PRES_ORDER, onSuccess: (dynamic response, int statusCode) { await baseAppClient.post(INSERT_ER_INERT_PRES_ORDER, onSuccess: (dynamic response, int statusCode) {
@ -84,4 +124,15 @@ class HomeHealthCareService extends BaseService {
super.error = error; super.error = error;
}, body: order.toJson()); }, body: order.toJson());
} }
Future insertHHCOrderRC({PatientERInsertPresOrderRequestModel order}) async {
hasError = false;
await baseAppClient.post(ADD_HHC_ORDER_RC, onSuccess: (dynamic response, int statusCode) {
hhcResponse = response;
requestNo = response["response"];
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: order.toJson());
}
} }

@ -31,7 +31,8 @@ AppSharedPreferences sharedPref = new AppSharedPreferences();
/// onFailure: (String error, int statusCode) {}, /// onFailure: (String error, int statusCode) {},
/// body: Map(); /// body: Map();
/// ///
AuthenticatedUserObject authenticatedUserObject = locator<AuthenticatedUserObject>(); AuthenticatedUserObject authenticatedUserObject =
locator<AuthenticatedUserObject>();
VitalSignService _vitalSignService = locator<VitalSignService>(); VitalSignService _vitalSignService = locator<VitalSignService>();
class BaseAppClient { class BaseAppClient {
@ -115,18 +116,10 @@ class BaseAppClient {
} }
} }
// For RC Services
// if(body.containsKey("patientId"))
// body.remove("PatientID");
//
// if(body.containsKey("patientOutSa"))
// body.remove("PatientOutSA");
//
// body['PatientID'] = 1018977; // body['PatientID'] = 1018977;
// body['TokenID'] = "@dm!n"; // body['TokenID'] = "@dm!n";
// body['IdentificationNo'] = "1009199553";
// body['MobileNo'] = "966545156035"; body.removeWhere((key, value) => key == null || value == null);
// body['PatientMobileNumber'] = "966545156035";
print("URL : $url"); print("URL : $url");
final jsonBody = json.encode(body); final jsonBody = json.encode(body);
@ -164,12 +157,12 @@ class BaseAppClient {
} else if (parsed['Result'] == 'OK') { } else if (parsed['Result'] == 'OK') {
onSuccess(parsed, statusCode); onSuccess(parsed, statusCode);
} else { } else {
if (parsed != null) { // if (parsed != null) {
onSuccess(parsed, statusCode); // onSuccess(parsed, statusCode);
} else { // } else {
onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode); onFailure(parsed['ErrorEndUserMessage'] ?? parsed['ErrorMessage'], statusCode);
logout(); // logout();
} // }
} }
} else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) { } else if (parsed['MessageStatus'] == 1 || parsed['SMSLoginRequired'] == true) {
onSuccess(parsed, statusCode); onSuccess(parsed, statusCode);
@ -447,13 +440,14 @@ class BaseAppClient {
'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "", 'Mobilenumber': user != null ? Utils.getPhoneNumberWithoutZero(user['MobileNumber'].toString()) : "",
'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9', 'Statictoken': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
'Username': user != null ? user['PatientID'].toString() : "", 'Username': user != null ? user['PatientID'].toString() : "",
'Host': "mdlaboratories.com",
}); });
final int statusCode = response.statusCode; final int statusCode = response.statusCode;
print("statusCode :$statusCode"); print("statusCode :$statusCode");
if (statusCode < 200 || statusCode >= 400 || json == null) { if (statusCode < 200 || statusCode >= 400 || json == null) {
if (statusCode == 401) { if (statusCode == 401) {
AppToast.showErrorToast(message: TranslationBase.of(AppGlobal.context).pharmacyRelogin); onFailure(TranslationBase.of(AppGlobal.context).pharmacyRelogin, statusCode);
Navigator.of(AppGlobal.context).pushNamed(HOME); Navigator.of(AppGlobal.context).pushNamed(HOME);
} else { } else {
onFailure('Error While Fetching data', statusCode); onFailure('Error While Fetching data', statusCode);
@ -729,7 +723,8 @@ class BaseAppClient {
final int statusCode = response.statusCode; final int statusCode = response.statusCode;
print("statusCode :$statusCode"); print("statusCode :$statusCode");
if (statusCode < 200 || statusCode >= 400 || json == null) { if (statusCode < 200 || statusCode >= 400 || json == null) {
onFailure('Error While Fetching data', statusCode); var parsed = json.decode(utf8.decode(response.bodyBytes));
onFailure(parsed['error']['ErrorEndUserMsg'] ??'Error While Fetching data', statusCode);
} else { } else {
// var parsed = json.decode(response.body.toString()); // var parsed = json.decode(response.body.toString());
var parsed = json.decode(utf8.decode(response.bodyBytes)); var parsed = json.decode(utf8.decode(response.bodyBytes));

@ -83,9 +83,24 @@ class FeedbackService extends BaseService {
Future searchFeedback(String countryCode, String phoneNumber, int type, String idNumber) async { Future searchFeedback(String countryCode, String phoneNumber, int type, String idNumber) async {
hasError = false; hasError = false;
Map<String, dynamic> body = new Map<String, dynamic>(); Map<String, dynamic> body = new Map<String, dynamic>();
if (type == 1) {
body['IdentificationNo'] = 0;
body['PatientID'] = num.tryParse(idNumber);
body['ItemID'] = 0;
} else if (type == 2) {
body['IdentificationNo'] = idNumber; body['IdentificationNo'] = idNumber;
body['PatientID'] = 0;
body['ItemID'] = 0;
} else {
body['IdentificationNo'] = 0;
body['PatientID'] = 0;
body['ItemID'] = idNumber;
}
body['PatientOutSA'] = countryCode.contains("966") ? 0 : 1;
body['MobileNo'] = countryCode + Utils.getPhoneNumberWithoutZero(phoneNumber); body['MobileNo'] = countryCode + Utils.getPhoneNumberWithoutZero(phoneNumber);
body['Searching_type'] = "$type"; body['Searching_type'] = type;
if (BASE_URL.contains('uat')) { if (BASE_URL.contains('uat')) {
body['ForDemo'] = true; body['ForDemo'] = true;
} }

@ -62,6 +62,8 @@ class OrderPreviewService extends BaseService {
Future<Map> getShoppingCart() async { Future<Map> getShoppingCart() async {
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID); var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
if (customerId == null) return null;
Map<String, String> queryParams = {'shopping_cart_type': '1'}; Map<String, String> queryParams = {'shopping_cart_type': '1'};
dynamic localRes; dynamic localRes;
hasError = false; hasError = false;
@ -94,8 +96,8 @@ class OrderPreviewService extends BaseService {
Map<String, dynamic> body = Map(); Map<String, dynamic> body = Map();
body["shopping_cart_item"] = choppingCartObject; body["shopping_cart_item"] = choppingCartObject;
await baseAppClient.pharmacyPost("$GET_SHOPPING_CART$productId", isExternal: false, await baseAppClient.pharmacyPost("$GET_SHOPPING_CART$productId",
onSuccess: (response, statusCode) async { isExternal: false, onSuccess: (response, statusCode) async {
localRes = response; localRes = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
@ -112,8 +114,8 @@ class OrderPreviewService extends BaseService {
Map<String, dynamic> body = Map(); Map<String, dynamic> body = Map();
await baseAppClient.pharmacyPost("$DELETE_SHOPPING_CART$productId", isExternal: false, await baseAppClient.pharmacyPost("$DELETE_SHOPPING_CART$productId",
onSuccess: (response, statusCode) async { isExternal: false, onSuccess: (response, statusCode) async {
localRes = response; localRes = response;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
@ -225,8 +227,9 @@ class OrderPreviewService extends BaseService {
body['order'] = orderBody; body['order'] = orderBody;
try { try {
await baseAppClient.pharmacyPost(ORDER_SHOPPING_CART, isExternal: false, isAllowAny: true, await baseAppClient.pharmacyPost(ORDER_SHOPPING_CART,
onSuccess: (response, statusCode) async { isExternal: false,
isAllowAny: true, onSuccess: (response, statusCode) async {
orderList.clear(); orderList.clear();
response['orders'].forEach((item) { response['orders'].forEach((item) {
orderList.add(OrderDetailModel.fromJson(item)); orderList.add(OrderDetailModel.fromJson(item));
@ -263,24 +266,22 @@ class OrderPreviewService extends BaseService {
} }
} }
Future<LatLng> getDriverLocation(dynamic driverId) async{ Future<LatLng> getDriverLocation(dynamic driverId) async {
Map<String, dynamic> jsonBody = Map(); Map<String, dynamic> jsonBody = Map();
jsonBody['DriverID'] = driverId; jsonBody['DriverID'] = driverId;
LatLng coordinates; LatLng coordinates;
await baseAppClient.post(DRIVER_LOCATION, await baseAppClient.post(DRIVER_LOCATION,
onSuccess: (response, statusCode) async { onSuccess: (response, statusCode) async {
if(statusCode == 200){ if (statusCode == 200) {
dynamic locationObject = response['PatientER_GetDriverLocationList'][0]; dynamic locationObject = response['PatientER_GetDriverLocationList'][0];
double lat = locationObject['Latitude']; double lat = locationObject['Latitude'];
double lon = locationObject['Longitude']; double lon = locationObject['Longitude'];
if(lat != null && lon != null){ if (lat != null && lon != null) {
coordinates = LatLng(lat,lon); coordinates = LatLng(lat, lon);
} }
} }
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {}, body: jsonBody);
}, body: jsonBody);
return coordinates; return coordinates;
} }

@ -108,17 +108,18 @@ class PharmacyModuleService extends BaseService {
} }
Future getTopManufacturerList() async { Future getTopManufacturerList() async {
hasError = false; if (manufacturerList.isNotEmpty) return;
Map<String, String> queryParams = {'page': '1', 'limit': '8'}; Map<String, String> queryParams = {'page': '1', 'limit': '8'};
try { try {
await baseAppClient.getPharmacy(GET_PHARMACY_TOP_MANUFACTURER, onSuccess: (dynamic response, int statusCode) { await baseAppClient.getPharmacy(GET_PHARMACY_TOP_MANUFACTURER, onSuccess: (dynamic response, int statusCode) {
manufacturerList.clear(); manufacturerList.clear();
response['manufacturer'].forEach((item) { response['manufacturer'].forEach((item) {
Manufacturer manufacturer = Manufacturer.fromJson(item); Manufacturer manufacturer = Manufacturer.fromJson(item);
if (manufacturer.image != null) { // if (manufacturer.image != null) {
manufacturerList.add(Manufacturer.fromJson(item)); manufacturerList.add(Manufacturer.fromJson(item));
} // }
}); });
hasError = false;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
@ -129,6 +130,8 @@ class PharmacyModuleService extends BaseService {
} }
Future getBestSellerProducts() async { Future getBestSellerProducts() async {
if (bestSellerProducts.isNotEmpty) return;
Map<String, String> queryParams = { Map<String, String> queryParams = {
'fields': 'fields':
'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews', 'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews',
@ -139,6 +142,7 @@ class PharmacyModuleService extends BaseService {
response['products'].forEach((item) { response['products'].forEach((item) {
bestSellerProducts.add(PharmacyProduct.fromJson(item)); bestSellerProducts.add(PharmacyProduct.fromJson(item));
}); });
hasError = false;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError = true;
super.error = error; super.error = error;
@ -150,16 +154,21 @@ class PharmacyModuleService extends BaseService {
Future getLastVisitedProducts() async { Future getLastVisitedProducts() async {
String lastVisited = ""; String lastVisited = "";
if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) != null) { if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) !=
lastVisited = await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS); null) {
lastVisited =
await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS);
// lastVisited = "2458,4561";
try { try {
await baseAppClient.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited", onSuccess: (dynamic response, int statusCode) { await baseAppClient.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited", onSuccess: (dynamic response, int statusCode) {
lastVisitedProducts.clear(); lastVisitedProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
lastVisitedProducts.add(PharmacyProduct.fromJson(item)); lastVisitedProducts.add(PharmacyProduct.fromJson(item));
}); });
hasError = false;
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {
hasError = true; hasError =
true; // sharedPref.setString(PHARMACY_LAST_VISITED_PRODUCTS, "");
super.error = error; super.error = error;
}); });
} catch (error) { } catch (error) {

@ -1,42 +1,23 @@
import 'package:diplomaticquarterapp/config/config.dart'; import 'package:diplomaticquarterapp/config/config.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Prescriptions.dart'; import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/service/base_service.dart'; import 'package:diplomaticquarterapp/core/service/base_service.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Prescriptions.dart';
class PrescriptionService extends BaseService { class PrescriptionService extends BaseService {
final AppSharedPreferences sharedPref = AppSharedPreferences(); final AppSharedPreferences sharedPref = AppSharedPreferences();
bool isFinished = true; bool isFinished = true;
bool hasError = false; bool hasError = false;
String errorMsg = ''; String errorMsg = '';
String url = "";
List<Prescriptions> _prescriptionsList = List(); List<Prescriptions> _prescriptionsList = List();
List<Prescriptions> get prescriptionsList => _prescriptionsList; List<Prescriptions> get prescriptionsList => _prescriptionsList;
// Future getPrescription() async {
// hasError = false;
// url = PRESCRIPTION;
// print("Print PRESCRIPTION url" + url);
// await baseAppClient.get(url,
// onSuccess: (dynamic response, int statusCode) {
// _prescriptionsList.clear();
// response['PatientPrescriptionList'].forEach((item) {
// _prescriptionsList.add(Prescriptions.fromJson(item));
// });
// print(_prescriptionsList.length);
// print(response);
// }, onFailure: (String error, int statusCode) {
// hasError = true;
// super.error = error;
// });
// }
Future getPrescription() async { Future getPrescription() async {
url = PRESCRIPTION;
print("Print PRESCRIPTION url" + url);
hasError = false; hasError = false;
Map<String, dynamic> body = Map(); Map<String, dynamic> body = Map();
body['isDentalAllowedBackend'] = false; body['isDentalAllowedBackend'] = false;
await baseAppClient.post(url, await baseAppClient.post(PRESCRIPTION,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_prescriptionsList.clear(); _prescriptionsList.clear();
response['PatientPrescriptionList'].forEach((prescriptions) { response['PatientPrescriptionList'].forEach((prescriptions) {

@ -90,8 +90,9 @@ class PharmacyCategoriseService extends BaseService {
Future searchProducts({String productName}) async { Future searchProducts({String productName}) async {
hasError = false; hasError = false;
_searchList.clear(); _searchList.clear();
String endPoint = String endPoint = productName != null
productName != null ? GET_SEARCH_PRODUCTS + "$productName" + '&language_id=1' : GET_SEARCH_PRODUCTS + ""; ? GET_SEARCH_PRODUCTS + "$productName" + '&language_id=1'
: GET_SEARCH_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -126,7 +127,8 @@ class PharmacyCategoriseService extends BaseService {
Future getCategoriseParent({String id}) async { Future getCategoriseParent({String id}) async {
hasError = false; hasError = false;
_parentCategoriseList.clear(); _parentCategoriseList.clear();
String endPoint = id != null ? GET_CATEGORISE_PARENT + "$id" : GET_CATEGORISE_PARENT + ""; String endPoint =
id != null ? GET_CATEGORISE_PARENT + "$id" : GET_CATEGORISE_PARENT + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -144,7 +146,9 @@ class PharmacyCategoriseService extends BaseService {
Future getParentProducts({String id}) async { Future getParentProducts({String id}) async {
hasError = false; hasError = false;
_parentProductsList.clear(); _parentProductsList.clear();
String endPoint = id != null ? GET_PARENT_PRODUCTS + "$id" + '&page=1&limit=50' : GET_PARENT_PRODUCTS + ""; String endPoint = id != null
? GET_PARENT_PRODUCTS + "$id" + '&page=1&limit=50'
: GET_PARENT_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -163,7 +167,8 @@ class PharmacyCategoriseService extends BaseService {
hasError = false; hasError = false;
_subCategoriseList.clear(); _subCategoriseList.clear();
String endPoint = id != null ? GET_SUB_CATEGORISE + "$id" : GET_SUB_CATEGORISE + ""; String endPoint =
id != null ? GET_SUB_CATEGORISE + "$id" : GET_SUB_CATEGORISE + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -181,7 +186,9 @@ class PharmacyCategoriseService extends BaseService {
Future getSubProducts({String id}) async { Future getSubProducts({String id}) async {
hasError = false; hasError = false;
_subProductsList.clear(); _subProductsList.clear();
String endPoint = id != null ? GET_SUB_PRODUCTS + "$id" + '&page=1&limit=50' : GET_SUB_PRODUCTS + ""; String endPoint = id != null
? GET_SUB_PRODUCTS + "$id" + '&page=1&limit=50'
: GET_SUB_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -199,7 +206,8 @@ class PharmacyCategoriseService extends BaseService {
Future getFinalProducts({String id}) async { Future getFinalProducts({String id}) async {
hasError = false; hasError = false;
_finalProducts.clear(); _finalProducts.clear();
String endPoint = id != null ? GET_FINAL_PRODUCTS + "$id" : GET_FINAL_PRODUCTS + ""; String endPoint =
id != null ? GET_FINAL_PRODUCTS + "$id" : GET_FINAL_PRODUCTS + "";
await baseAppClient.getPharmacy( await baseAppClient.getPharmacy(
endPoint, endPoint,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
@ -236,10 +244,14 @@ class PharmacyCategoriseService extends BaseService {
Future getLastVisitedProducts() async { Future getLastVisitedProducts() async {
String lastVisited = ""; String lastVisited = "";
if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) != null) { _finalProducts.clear();
lastVisited = await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS); if (await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS) !=
null) {
lastVisited =
await this.sharedPref.getString(PHARMACY_LAST_VISITED_PRODUCTS);
try { try {
await baseAppClient.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited", await baseAppClient
.getPharmacy("$GET_PHARMACY_PRODUCTs_BY_IDS$lastVisited",
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear(); _finalProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
@ -261,7 +273,8 @@ class PharmacyCategoriseService extends BaseService {
'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews', 'id,discount_ids,name,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage,reviews',
}; };
try { try {
await baseAppClient.getPharmacy(GET_PHARMACY_BEST_SELLER_PRODUCT, onSuccess: (dynamic response, int statusCode) { await baseAppClient.getPharmacy(GET_PHARMACY_BEST_SELLER_PRODUCT,
onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear(); _finalProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
_finalProducts.add(PharmacyProduct.fromJson(item)); _finalProducts.add(PharmacyProduct.fromJson(item));
@ -275,7 +288,8 @@ class PharmacyCategoriseService extends BaseService {
} }
} }
Future getFilteredProducts({String categoryId, String brandId, String min, String max}) async { Future getFilteredProducts(
{String categoryId, String brandId, String min, String max}) async {
hasError = false; hasError = false;
String endPoint; String endPoint;
@ -299,7 +313,8 @@ class PharmacyCategoriseService extends BaseService {
); );
} }
Future getFilteredSubProducts({String categoryId, String brandId, String min, String max}) async { Future getFilteredSubProducts(
{String categoryId, String brandId, String min, String max}) async {
hasError = false; hasError = false;
String endPoint; String endPoint;
@ -324,12 +339,14 @@ class PharmacyCategoriseService extends BaseService {
} }
Future getMostViewedProducts() async { Future getMostViewedProducts() async {
hasError = false;
Map<String, String> queryParams = { Map<String, String> queryParams = {
'fields': 'fields':
'id,discount_ids,name,reviews,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage', 'mostview?fields=id,discount_ids,name,reviews,namen,localized_names,display_order,short_description,full_description,full_descriptionn,sku,order_minimum_quantity,order_maximum_quantity,price,old_price,images,is_rx,rx_message,rx_messagen,discount_name,discount_namen,approved_rating_sum,approved_total_reviews,allow_back_in_stock_subscriptions,stock_quantity,stock_availability,stock_availabilityn,discount_percentage',
}; };
try { try {
await baseAppClient.getPharmacy(GET_MOST_VIEWED_PRODUCTS, onSuccess: (dynamic response, int statusCode) { await baseAppClient.getPharmacy(GET_MOST_VIEWED_PRODUCTS,
onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear(); _finalProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
_finalProducts.add(PharmacyProduct.fromJson(item)); _finalProducts.add(PharmacyProduct.fromJson(item));
@ -341,16 +358,20 @@ class PharmacyCategoriseService extends BaseService {
super.error = error; super.error = error;
}, queryParams: queryParams); }, queryParams: queryParams);
} catch (error) { } catch (error) {
throw error; hasError = true;
super.error = error.toString();
// throw error;
} }
} }
Future getNewProducts() async { Future getNewProducts() async {
Map<String, String> queryParams = { Map<String, String> queryParams = {
'fields': 'Id,name,namen,localized_names,price,images,sku,stock_availability,published', 'fields':
'Id,name,namen,localized_names,price,images,sku,stock_availability,published',
}; };
try { try {
await baseAppClient.getPharmacy(GET_NEW_PRODUCTS, onSuccess: (dynamic response, int statusCode) { await baseAppClient.getPharmacy(GET_NEW_PRODUCTS,
onSuccess: (dynamic response, int statusCode) {
_finalProducts.clear(); _finalProducts.clear();
response['products'].forEach((item) { response['products'].forEach((item) {
_finalProducts.add(PharmacyProduct.fromJson(item)); _finalProducts.add(PharmacyProduct.fromJson(item));

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/core/enum/OrderService.dart'; import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_get_items_request_model.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_get_items_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart';
@ -24,7 +25,7 @@ class CMCViewModel extends BaseViewModel {
List<GetCMCServicesResponseModel> get cmcAllServicesList => _cMCService.cmcAllServicesList; List<GetCMCServicesResponseModel> get cmcAllServicesList => _cMCService.cmcAllServicesList;
List<GetHHCAllPresOrdersResponseModel> get cmcAllPresOrders => _cMCService.cmcAllPresOrdersList; List<GetCMCAllOrdersResponseModel> get cmcAllPresOrders => _cMCService.cmcAllPresOrdersList;
List<GetOrderDetailByOrderIDResponseModel> get cmcAllOrderDetail => _cMCService.cmcAllOrderDetail; List<GetOrderDetailByOrderIDResponseModel> get cmcAllOrderDetail => _cMCService.cmcAllOrderDetail;
@ -32,7 +33,7 @@ class CMCViewModel extends BaseViewModel {
PharmacyModuleService _pharmacyModuleService = locator<PharmacyModuleService>(); PharmacyModuleService _pharmacyModuleService = locator<PharmacyModuleService>();
GetHHCAllPresOrdersResponseModel pendingOrder; GetCMCAllOrdersResponseModel pendingOrder;
bool get isOrderUpdated => _cMCService.isOrderUpdated; bool get isOrderUpdated => _cMCService.isOrderUpdated;
@ -58,14 +59,15 @@ class CMCViewModel extends BaseViewModel {
Future getCmcAllPresOrders() async { Future getCmcAllPresOrders() async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _cMCService.getCmcAllPresOrders(); // await _cMCService.getCmcAllPresOrders();
await _cMCService.getCmcAllPresOrdersRC();
if (_cMCService.hasError) { if (_cMCService.hasError) {
error = _cMCService.error; error = _cMCService.error;
setState(ViewState.Error); setState(ViewState.Error);
} else { } else {
pendingOrder = _cMCService.cmcAllPresOrdersList.firstWhere((element) => element.status == 1 || element.status == 2, orElse: () => null); pendingOrder = _cMCService.cmcAllPresOrdersList.firstWhere((element) => element.statusId == 1 || element.statusId == 2, orElse: () => null);
if (pendingOrder != null) { if (pendingOrder != null) {
await getOrderDetailByOrderID(pendingOrder); // await getOrderDetailByOrderID(pendingOrder);
setState(ViewState.Idle); setState(ViewState.Idle);
} else { } else {
getCMCAllServices(); getCMCAllServices();
@ -75,7 +77,8 @@ class CMCViewModel extends BaseViewModel {
Future updateCmcPresOrder(UpdatePresOrderRequestModel updatePresOrderRequestModel) async { Future updateCmcPresOrder(UpdatePresOrderRequestModel updatePresOrderRequestModel) async {
setState(ViewState.BusyLocal); setState(ViewState.BusyLocal);
await _cMCService.updateCmcPresOrder(updatePresOrderRequestModel); // await _cMCService.updateCmcPresOrder(updatePresOrderRequestModel);
await _cMCService.updateCmcPresOrderRC(updatePresOrderRequestModel);
if (_cMCService.hasError) { if (_cMCService.hasError) {
error = _cMCService.error; error = _cMCService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
@ -84,7 +87,7 @@ class CMCViewModel extends BaseViewModel {
} }
} }
Future getOrderDetailByOrderID(GetHHCAllPresOrdersResponseModel order) async { Future getOrderDetailByOrderID(GetCMCAllOrdersResponseModel order) async {
GetOrderDetailByOrderIDRequestModel getOrderDetailByOrderIDRequestModel = GetOrderDetailByOrderIDRequestModel(presOrderID: order.iD); GetOrderDetailByOrderIDRequestModel getOrderDetailByOrderIDRequestModel = GetOrderDetailByOrderIDRequestModel(presOrderID: order.iD);
await _cMCService.getOrderDetailByOrderID(getOrderDetailByOrderIDRequestModel); await _cMCService.getOrderDetailByOrderID(getOrderDetailByOrderIDRequestModel);
} }

@ -1,5 +1,6 @@
import 'package:diplomaticquarterapp/core/enum/OrderService.dart'; import 'package:diplomaticquarterapp/core/enum/OrderService.dart';
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.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_request_modle.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_response_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/HHC_get_all_services_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/PatientERHHCInsertServicesList.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/PatientERHHCInsertServicesList.dart';
@ -24,7 +25,7 @@ class HomeHealthCareViewModel extends BaseViewModel {
List<AddressInfo> get addressesList => _customerAddressesService.addressesList; List<AddressInfo> get addressesList => _customerAddressesService.addressesList;
List<GetHHCAllPresOrdersResponseModel> get hhcAllPresOrders => _homeHealthCareService.hhcAllPresOrdersList; List<GetCMCAllOrdersResponseModel> get hhcAllPresOrders => _homeHealthCareService.hhcAllPresOrdersList;
List<GetOrderDetailByOrderIDResponseModel> get hhcAllOrderDetail => _homeHealthCareService.hhcAllOrderDetail; List<GetOrderDetailByOrderIDResponseModel> get hhcAllOrderDetail => _homeHealthCareService.hhcAllOrderDetail;
@ -33,14 +34,15 @@ class HomeHealthCareViewModel extends BaseViewModel {
bool get isOrderUpdated => _homeHealthCareService.isOrderUpdated; bool get isOrderUpdated => _homeHealthCareService.isOrderUpdated;
int get orderId => _homeHealthCareService.requestNo; int get orderId => _homeHealthCareService.requestNo;
GetHHCAllPresOrdersResponseModel pendingOrder; GetCMCAllOrdersResponseModel pendingOrder;
List<PatientERHHCInsertServicesList> patientERHHCInsertServicesList = List(); List<PatientERHHCInsertServicesList> patientERHHCInsertServicesList = List();
dynamic get hhcResponse => _homeHealthCareService.hhcResponse; dynamic get hhcResponse => _homeHealthCareService.hhcResponse;
Future getHHCAllServices() async { Future getHHCAllServices() async {
HHCGetAllServicesRequestModel hHCGetAllServicesRequestModel = new HHCGetAllServicesRequestModel(); HHCGetAllServicesRequestModel hHCGetAllServicesRequestModel = new HHCGetAllServicesRequestModel();
//setState(ViewState.Busy); // await _homeHealthCareService.getHHCAllServices(hHCGetAllServicesRequestModel);
await _homeHealthCareService.getHHCAllServices(hHCGetAllServicesRequestModel); await _homeHealthCareService.getHHCAllServicesRC(hHCGetAllServicesRequestModel);
if (_homeHealthCareService.hasError) { if (_homeHealthCareService.hasError) {
error = _homeHealthCareService.error; error = _homeHealthCareService.error;
setState(ViewState.Error); setState(ViewState.Error);
@ -52,14 +54,14 @@ class HomeHealthCareViewModel extends BaseViewModel {
Future getHHCAllPresOrders() async { Future getHHCAllPresOrders() async {
pendingOrder = null; pendingOrder = null;
setState(ViewState.Busy); setState(ViewState.Busy);
await _homeHealthCareService.getHHCAllPresOrders(); await _homeHealthCareService.getHHCAllPresOrdersRC();
if (_homeHealthCareService.hasError) { if (_homeHealthCareService.hasError) {
error = _homeHealthCareService.error; error = _homeHealthCareService.error;
setState(ViewState.Error); setState(ViewState.Error);
} else { } else {
pendingOrder = _homeHealthCareService.hhcAllPresOrdersList.firstWhere((element) => element.status == 1 || element.status == 2, orElse: () => null); pendingOrder = _homeHealthCareService.hhcAllPresOrdersList.firstWhere((element) => element.statusId == 1 || element.statusId == 2, orElse: () => null);
if (pendingOrder != null) { if (pendingOrder != null) {
await _homeHealthCareService.getOrderDetailByOrderID(pendingOrder.iD); // await _homeHealthCareService.getOrderDetailByOrderID(pendingOrder.iD);
setState(ViewState.Idle); setState(ViewState.Idle);
} else { } else {
getHHCAllServices(); getHHCAllServices();
@ -69,7 +71,8 @@ class HomeHealthCareViewModel extends BaseViewModel {
Future updateHHCPresOrder(UpdatePresOrderRequestModel updatePresOrderRequestModel) async { Future updateHHCPresOrder(UpdatePresOrderRequestModel updatePresOrderRequestModel) async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _homeHealthCareService.updateHHCPresOrder(updatePresOrderRequestModel); // await _homeHealthCareService.updateHHCPresOrder(updatePresOrderRequestModel);
await _homeHealthCareService.updateHHCPresOrderRC(updatePresOrderRequestModel);
if (_homeHealthCareService.hasError) { if (_homeHealthCareService.hasError) {
error = _homeHealthCareService.error; error = _homeHealthCareService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
@ -82,7 +85,8 @@ class HomeHealthCareViewModel extends BaseViewModel {
setState(ViewState.Busy); setState(ViewState.Busy);
order.createdBy = user.patientID; order.createdBy = user.patientID;
order.orderServiceID = OrderService.HOME_HEALTH_CARE.getIdOrderService(); order.orderServiceID = OrderService.HOME_HEALTH_CARE.getIdOrderService();
await _homeHealthCareService.insertPresPresOrder(order: order); // await _homeHealthCareService.insertPresPresOrder(order: order);
await _homeHealthCareService.insertHHCOrderRC(order: order);
if (_homeHealthCareService.hasError) { if (_homeHealthCareService.hasError) {
error = _homeHealthCareService.error; error = _homeHealthCareService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);

@ -21,7 +21,7 @@ class EReferralViewModel extends BaseViewModel {
List<GetAllCitiesResponseModel> get allCities => _eReferralService.allCities; List<GetAllCitiesResponseModel> get allCities => _eReferralService.allCities;
List<SearchEReferralResponseModel> get allReferral => _eReferralService.allReferral; List<SearchEReferralResponseModel> get allReferral => _eReferralService.allReferral;
String get referralNumber => _eReferralService.referralNumber;
void getRelationTypes() async { void getRelationTypes() async {
setState(ViewState.Busy); setState(ViewState.Busy);

@ -15,6 +15,7 @@ class BaseViewModel extends ChangeNotifier {
ViewState get state => _state; ViewState get state => _state;
String error = ""; String error = "";
String languageID = "en";
AuthenticatedUser user; AuthenticatedUser user;
AppSharedPreferences sharedPref = AppSharedPreferences(); AppSharedPreferences sharedPref = AppSharedPreferences();
@ -51,6 +52,10 @@ class BaseViewModel extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
Future getSavedLanguage() async {
languageID = await sharedPref.getString(APP_LANGUAGE);
}
@override @override
void dispose() { void dispose() {
removeListener(() {}); removeListener(() {});

@ -43,9 +43,7 @@ class RRTViewModel extends BaseViewModel {
body['NationalityID'] = user.nationalityID; body['NationalityID'] = user.nationalityID;
body['CreatedBy'] = user.patientIdentificationType; body['CreatedBy'] = user.patientIdentificationType;
body['OrderServiceID'] = 5; body['OrderServiceID'] = 5;
var localRes; var localRes;
int requestNo; int requestNo;
await _service.baseAppClient.post(PATIENT_ER_INSERT_PRES_ORDER, body: body, onSuccess: (response, statusCode) { await _service.baseAppClient.post(PATIENT_ER_INSERT_PRES_ORDER, body: body, onSuccess: (response, statusCode) {
requestNo = response['RequestNo']; requestNo = response['RequestNo'];
@ -55,6 +53,21 @@ class RRTViewModel extends BaseViewModel {
return requestNo; return requestNo;
} }
Future<int> createOrderRC(Map<String, dynamic> body) async {
// body['IdentificationNo'] = user.patientIdentificationNo;
// body['NationalityID'] = user.nationalityID;
// body['CreatedBy'] = user.patientIdentificationType;
// body['OrderServiceID'] = 5;
var localRes;
int requestNo;
await _service.baseAppClient.post(ADD_RRT_ORDER_RC, body: body, onSuccess: (response, statusCode) {
requestNo = response['response'];
}, onFailure: (error, statusCode) {
AppToast.showErrorToast(message: error);
});
return requestNo;
}
// Service ID: 4 == RRT // Service ID: 4 == RRT
Future<_RRTServiceData> getAllOrders() async { Future<_RRTServiceData> getAllOrders() async {
await _service.baseAppClient.post(GET_PRESCRIPTIONS_ALL_ORDERS, body: {}, onSuccess: (response, statusCode) { await _service.baseAppClient.post(GET_PRESCRIPTIONS_ALL_ORDERS, body: {}, onSuccess: (response, statusCode) {

@ -39,9 +39,10 @@ class BloodPressureViewMode extends BaseViewModel {
}); });
for (int index = 0; index < bloodPressureService.monthDiabtectResultAverageList.length; index++) { for (int index = 0; index < bloodPressureService.monthDiabtectResultAverageList.length; index++) {
weighMonthTimeSeriesDataTop.add(TimeSeriesSales3(index, bloodPressureService.monthDiabtectResultAverageList[index].weekDiastolicPressureAverageResult.toDouble())); // weighMonthTimeSeriesDataTop.add(TimeSeriesSales3("Week " + (index + 1).toString(), bloodPressureService.monthDiabtectResultAverageList[index].weekDiastolicPressureAverageResult.toDouble()));
// weighMonthTimeSeriesDataLow.add(TimeSeriesSales3("Week " + (index + 1).toString(), bloodPressureService.monthDiabtectResultAverageList[index].weekSystolicePressureAverageResult.toDouble()));
weighMonthTimeSeriesDataLow.add(TimeSeriesSales3(index, bloodPressureService.monthDiabtectResultAverageList[index].weekSystolicePressureAverageResult.toDouble())); weighMonthTimeSeriesDataTop.add(TimeSeriesSales3(bloodPressureService.monthDiabtectResultAverageList[index].weekDesc, bloodPressureService.monthDiabtectResultAverageList[index].weekDiastolicPressureAverageResult.toDouble()));
weighMonthTimeSeriesDataLow.add(TimeSeriesSales3(bloodPressureService.monthDiabtectResultAverageList[index].weekDesc, bloodPressureService.monthDiabtectResultAverageList[index].weekSystolicePressureAverageResult.toDouble()));
} }
bloodPressureService.yearDiabtecResultAverageList.forEach((element) { bloodPressureService.yearDiabtecResultAverageList.forEach((element) {

@ -0,0 +1,26 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/parmacy_module_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import '../../../locator.dart';
class BestSellerViewModel extends BaseViewModel {
PharmacyModuleService _pharmacyService = locator<PharmacyModuleService>();
List<PharmacyProduct> get bestSellerProduct =>
_pharmacyService.bestSellerProducts;
getBestSellerProducts() async {
setState(ViewState.BusyLocal);
await _pharmacyService.getBestSellerProducts();
// if (_pharmacyService.hasError) {
// error = _pharmacyService.error;
// setState(ViewState.Error);
// } else {
setState(ViewState.Idle);
// }
}
}

@ -0,0 +1,29 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Manufacturer.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/parmacy_module_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import '../../../locator.dart';
class BrandViewModel extends BaseViewModel {
PharmacyModuleService _pharmacyService = locator<PharmacyModuleService>();
List<Manufacturer> get manufacturerList => _pharmacyService.manufacturerList;
Future getTopManufacturerList() async {
setState(ViewState.BusyLocal);
await _pharmacyService.getTopManufacturerList();
// if (_pharmacyService.hasError) {
// error = _pharmacyService.error;
// setState(ViewState.Error);
// } else {
setState(ViewState.Idle);
// }
}
@override
void dispose() {
super.dispose();
}
}

@ -0,0 +1,25 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/parmacy_module_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import '../../../locator.dart';
class LastVisitedViewModel extends BaseViewModel {
PharmacyModuleService _pharmacyService = locator<PharmacyModuleService>();
List<PharmacyProduct> get lastVisitedProducts =>
_pharmacyService.lastVisitedProducts;
getLastVisitedProducts() async {
setState(ViewState.BusyLocal);
await _pharmacyService.getLastVisitedProducts();
// if (_pharmacyService.hasError) {
// error = _pharmacyService.error;
// setState(ViewState.Error);
// } else {
setState(ViewState.Idle);
// }
}
}

@ -8,6 +8,8 @@ import 'package:diplomaticquarterapp/core/model/pharmacies/order_detail.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/payment-checkout-data.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/payment-checkout-data.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/order-preview-service.dart'; import 'package:diplomaticquarterapp/core/service/parmacyModule/order-preview-service.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/pharmacy_module_view_model.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
import '../../../locator.dart'; import '../../../locator.dart';
import '../base_view_model.dart'; import '../base_view_model.dart';
@ -16,8 +18,10 @@ class OrderPreviewViewModel extends BaseViewModel {
OrderPreviewService _orderService = locator<OrderPreviewService>(); OrderPreviewService _orderService = locator<OrderPreviewService>();
List<Addresses> get addresses => _orderService.addresses; List<Addresses> get addresses => _orderService.addresses;
LacumAccountInformation get lacumInformation => LacumAccountInformation get lacumInformation =>
_orderService.lacumInformation; _orderService.lacumInformation;
List<OrderDetailModel> get orderListModel => _orderService.orderList; List<OrderDetailModel> get orderListModel => _orderService.orderList;
PharmacyModuleViewModel pharmacyModuleViewModel = PharmacyModuleViewModel pharmacyModuleViewModel =
@ -38,23 +42,32 @@ class OrderPreviewViewModel extends BaseViewModel {
} }
} }
void update() {
notifyListeners();
}
Future getShoppingCart() async { Future getShoppingCart() async {
setState(ViewState.Busy); // setState(ViewState.Busy);
// GifLoaderDialogUtils.showMyDialog(
// locator<NavigationService>().navigatorKey.currentContext);
await _orderService.getShoppingCart().then((res) { await _orderService.getShoppingCart().then((res) {
_handleGetShoppingCartResponse(res); if (res != null) _handleGetShoppingCartResponse(res);
}); });
if (_orderService.hasError) { if (_orderService.hasError) {
error = _orderService.error; error = _orderService.error;
setState(ViewState.Error); // setState(ViewState.Error);
} else { } else {
if (paymentCheckoutData != null) { if (paymentCheckoutData != null) {
paymentCheckoutData.cartDataVisible = true; paymentCheckoutData.cartDataVisible = true;
} }
// GifLoaderDialogUtils.hideDialog(
// locator<NavigationService>().navigatorKey.currentContext);
setState(ViewState.Idle); setState(ViewState.Idle);
} }
} }
Future <ShoppingCartResponse> changeProductQuantity(ShoppingCart product) async { Future<ShoppingCartResponse> changeProductQuantity(
ShoppingCart product) async {
setState(ViewState.Busy); setState(ViewState.Busy);
var resp = await _orderService.changeProductQuantity(product.id, product); var resp = await _orderService.changeProductQuantity(product.id, product);
var object = _handleGetShoppingCartResponse(resp); var object = _handleGetShoppingCartResponse(resp);
@ -110,9 +123,9 @@ class OrderPreviewViewModel extends BaseViewModel {
res["shopping_carts"].forEach((item) { res["shopping_carts"].forEach((item) {
ShoppingCart shoppingCart = ShoppingCart.fromJson(item); ShoppingCart shoppingCart = ShoppingCart.fromJson(item);
cartResponse.shoppingCarts.add(shoppingCart); cartResponse.shoppingCarts.add(shoppingCart);
totalAdditionalShippingCharge += shoppingCart.product.additionalShippingCharge; totalAdditionalShippingCharge +=
shoppingCart.product.additionalShippingCharge;
}); });
cartResponse.updateShoppingCard();
return cartResponse; return cartResponse;
} }
@ -163,7 +176,8 @@ class OrderPreviewViewModel extends BaseViewModel {
setState(ViewState.Busy); setState(ViewState.Busy);
await _orderService.getLacumGroupInformation(); await _orderService.getLacumGroupInformation();
paymentCheckoutData.lacumInformation = _orderService.lacumGroupInformation; paymentCheckoutData.lacumInformation = _orderService.lacumGroupInformation;
paymentCheckoutData.usedLakumPoints = paymentCheckoutData.lacumInformation.lakumInquiryInformationObjVersion.pointsBalanceAmount; paymentCheckoutData.usedLakumPoints = paymentCheckoutData
.lacumInformation.lakumInquiryInformationObjVersion.pointsBalanceAmount;
if (_orderService.hasError) { if (_orderService.hasError) {
error = _orderService.error; error = _orderService.error;
setState(ViewState.Error); setState(ViewState.Error);
@ -174,9 +188,11 @@ class OrderPreviewViewModel extends BaseViewModel {
getShippingOption() async { getShippingOption() async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _orderService.getShippingOption(paymentCheckoutData.address).then((res) { await _orderService
.getShippingOption(paymentCheckoutData.address)
.then((res) {
paymentCheckoutData.shippingOption = ShippingOption.fromJson(res); paymentCheckoutData.shippingOption = ShippingOption.fromJson(res);
paymentCheckoutData.updateData(); setState(ViewState.Idle);
}); });
if (_orderService.hasError) { if (_orderService.hasError) {
error = _orderService.error; error = _orderService.error;
@ -190,7 +206,8 @@ class OrderPreviewViewModel extends BaseViewModel {
setState(ViewState.Busy); setState(ViewState.Busy);
await pharmacyModuleViewModel.generatePharmacyToken(); await pharmacyModuleViewModel.generatePharmacyToken();
await _orderService.makeOrder(paymentCheckoutData, cartResponse.shoppingCarts); await _orderService.makeOrder(
paymentCheckoutData, cartResponse.shoppingCarts);
if (_orderService.hasError) { if (_orderService.hasError) {
error = _orderService.error; error = _orderService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
@ -198,6 +215,17 @@ class OrderPreviewViewModel extends BaseViewModel {
setState(ViewState.Idle); setState(ViewState.Idle);
} }
} }
bool isCartItemsOutOfStock() {
bool outOfStock = false;
for (int i = 0; i < cartResponse.shoppingCarts.length; i++) {
if (cartResponse.shoppingCarts[i].product.stockQuantity == 0) {
outOfStock = true;
break;
}
}
return outOfStock;
}
} }
enum PaymentOption { meda, sadad, visa, mastercard, installments } enum PaymentOption { meda, sadad, visa, mastercard, installments }

@ -0,0 +1,28 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Prescriptions.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/prescription_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import '../../../locator.dart';
class PrescriptionViewModel extends BaseViewModel {
PrescriptionService _prescriptionService = locator<PrescriptionService>();
List<Prescriptions> get prescriptionsList =>
_prescriptionService.prescriptionsList;
getPrescription() async {
await getSavedLanguage();
if(prescriptionsList.isNotEmpty){
setState(ViewState.Busy);
await _prescriptionService.getPrescription();
if (_prescriptionService.hasError) {
error = _prescriptionService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
}
}

@ -5,47 +5,42 @@ import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyImageObject.d
import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/PharmacyProduct.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/Prescriptions.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/Prescriptions.dart';
import 'package:diplomaticquarterapp/core/model/pharmacies/recommendedProduct_model.dart'; import 'package:diplomaticquarterapp/core/model/pharmacies/recommendedProduct_model.dart';
import 'package:diplomaticquarterapp/core/service/medical/prescriptions_service.dart';
//import 'package:diplomaticquarterapp/core/model/prescriptions/perscription_pharmacy.dart'; //import 'package:diplomaticquarterapp/core/model/prescriptions/perscription_pharmacy.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/parmacy_module_service.dart'; import 'package:diplomaticquarterapp/core/service/parmacyModule/parmacy_module_service.dart';
import 'package:diplomaticquarterapp/core/service/parmacyModule/prescription_service.dart'; import 'package:diplomaticquarterapp/core/service/parmacyModule/prescription_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/recommendedProduct_service.dart'; import 'package:diplomaticquarterapp/services/pharmacy_services/recommendedProduct_service.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
import '../../../locator.dart'; import '../../../locator.dart';
class PharmacyModuleViewModel extends BaseViewModel { class PharmacyModuleViewModel extends BaseViewModel {
PharmacyModuleService _pharmacyService = locator<PharmacyModuleService>(); PharmacyModuleService _pharmacyService = locator<PharmacyModuleService>();
PrescriptionService _prescriptionService = locator<PrescriptionService>(); RecommendedProductService _recommendedProductService =
locator<RecommendedProductService>();
RecommendedProductService _recommendedProductService = locator<RecommendedProductService>();
List<PharmacyImageObject> get bannerList => _pharmacyService.bannerItems; List<PharmacyImageObject> get bannerList => _pharmacyService.bannerItems;
List<Manufacturer> get manufacturerList => _pharmacyService.manufacturerList; List<RecommendedProductModel> get recommendedProductList =>
List<PharmacyProduct> get bestSellerProduct =>
_pharmacyService.bestSellerProducts;
List<PharmacyProduct> get lastVisitedProducts =>
_pharmacyService.lastVisitedProducts;
List <RecommendedProductModel> get recommendedProductList =>
_recommendedProductService.recommendedList; _recommendedProductService.recommendedList;
// List<Map<String, dynamic>> get recommendedProductList => Future generatePharmacyToken() async {
// _recommendedProductService.recommendedList; setState(ViewState.Busy);
await _pharmacyService.generatePharmacyToken();
List<Prescriptions> get prescriptionsList => if (_pharmacyService.hasError) {
_prescriptionService.prescriptionsList; error = _pharmacyService.error;
setState(ViewState.ErrorLocal);
bool hasError = false; } else {
// List<PharmacyProduct> get pharmacyPrescriptionsList => PharmacyProduct.pharmacyPrescriptionsList ; setState(ViewState.Idle);
}
}
Future getPharmacyHomeData() async { Future verifyCustomer() async {
if(authenticatedUserObject.isLogin) // if (authenticatedUserObject.isLogin) await generatePharmacyToken();
await generatePharmacyToken();
var data = await sharedPref.getObject(USER_PROFILE); var data = await sharedPref.getObject(USER_PROFILE);
var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID); var customerId = await sharedPref.getString(PHARMACY_CUSTOMER_ID);
@ -53,20 +48,7 @@ class PharmacyModuleViewModel extends BaseViewModel {
setState(ViewState.Busy); setState(ViewState.Busy);
if (authenticatedUserObject.isLogin && data != null && customerId == null) { if (authenticatedUserObject.isLogin && data != null && customerId == null) {
await _pharmacyService.makeVerifyCustomer(data); await _pharmacyService.makeVerifyCustomer(data);
if (_pharmacyService.hasError) {
error = _pharmacyService.error;
setState(ViewState.Error);
} else {
await getBannerList();
} }
} else {
await getBannerList();
}
}
Future createUser() async {
setState(ViewState.Busy);
await _pharmacyService.createUser();
if (_pharmacyService.hasError) { if (_pharmacyService.hasError) {
error = _pharmacyService.error; error = _pharmacyService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
@ -75,9 +57,9 @@ class PharmacyModuleViewModel extends BaseViewModel {
} }
} }
Future generatePharmacyToken() async { Future createUser() async {
setState(ViewState.Busy); setState(ViewState.Busy);
await _pharmacyService.generatePharmacyToken(); await _pharmacyService.createUser();
if (_pharmacyService.hasError) { if (_pharmacyService.hasError) {
error = _pharmacyService.error; error = _pharmacyService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
@ -87,13 +69,17 @@ class PharmacyModuleViewModel extends BaseViewModel {
} }
Future getBannerList() async { Future getBannerList() async {
setState(ViewState.Busy); if (bannerList.isEmpty) {
GifLoaderDialogUtils.showMyDialog(
locator<NavigationService>().navigatorKey.currentContext);
await _pharmacyService.getBannerListList(); await _pharmacyService.getBannerListList();
GifLoaderDialogUtils.hideDialog(
locator<NavigationService>().navigatorKey.currentContext);
if (_pharmacyService.hasError) { if (_pharmacyService.hasError) {
error = _pharmacyService.error; error = _pharmacyService.error;
setState(ViewState.Error); setState(ViewState.Error);
} else { } else
_getTopManufacturerList(); setState(ViewState.Idle);
} }
} }
@ -107,40 +93,7 @@ class PharmacyModuleViewModel extends BaseViewModel {
return images; return images;
} }
_getTopManufacturerList() async {
await _pharmacyService.getTopManufacturerList();
if (_pharmacyService.hasError) {
error = _pharmacyService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
_getBestSellerProducts();
}
}
_getBestSellerProducts() async {
await _pharmacyService.getBestSellerProducts();
if (_pharmacyService.hasError) {
error = _pharmacyService.error;
setState(ViewState.Error);
} else {
_getLastVisitedProducts();
}
}
_getLastVisitedProducts() async {
await _pharmacyService.getLastVisitedProducts();
if (_pharmacyService.hasError) {
error = _pharmacyService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
//////////////////////////////////////////RecommendedProducts
getRecommendedProducts(productId) async { getRecommendedProducts(productId) async {
hasError = false;
setState(ViewState.Busy); setState(ViewState.Busy);
await _recommendedProductService.getRecommendedProducts(productId); await _recommendedProductService.getRecommendedProducts(productId);
if (_recommendedProductService.hasError) { if (_recommendedProductService.hasError) {
@ -164,31 +117,4 @@ class PharmacyModuleViewModel extends BaseViewModel {
return false; return false;
} }
} }
getPrescription() async {
setState(ViewState.Busy);
await _prescriptionService.getPrescription();
if (_prescriptionService.hasError) {
error = _prescriptionService.error;
setState(ViewState.Error);
} else {
setState(ViewState.Idle);
}
}
///////////////////////or
// getPrescriptions() async {
// setState(ViewState.Busy);
// await _prescriptionsService.getPrescriptions();
// if (_prescriptionsService.hasError) {
// error = _prescriptionsService.error;
// setState(ViewState.Error);
// } else {
// _filterList();
// await _getPrescriptionsOrders();
// setState(ViewState.Idle);
// }
// }
} }

@ -4,6 +4,9 @@ import 'package:diplomaticquarterapp/models/pharmacy/Wishlist.dart';
import 'package:diplomaticquarterapp/models/pharmacy/locationModel.dart'; import 'package:diplomaticquarterapp/models/pharmacy/locationModel.dart';
import 'package:diplomaticquarterapp/models/pharmacy/productDetailModel.dart'; import 'package:diplomaticquarterapp/models/pharmacy/productDetailModel.dart';
import 'package:diplomaticquarterapp/models/pharmacy/specification.dart'; import 'package:diplomaticquarterapp/models/pharmacy/specification.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/product_detail_service.dart'; import 'package:diplomaticquarterapp/services/pharmacy_services/product_detail_service.dart';
import '../../../locator.dart'; import '../../../locator.dart';
@ -35,7 +38,7 @@ class ProductDetailViewModel extends BaseViewModel{
Future getProductLocationData() async { Future getProductLocationData() async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(ViewState.BusyLocal);
await _productDetailService.getProductAvailabiltyDetail(); await _productDetailService.getProductAvailabiltyDetail();
if (_productDetailService.hasError) { if (_productDetailService.hasError) {
error = _productDetailService.error; error = _productDetailService.error;
@ -46,7 +49,7 @@ class ProductDetailViewModel extends BaseViewModel{
Future notifyMe(customerId, itemID) async { Future notifyMe(customerId, itemID) async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(ViewState.BusyLocal);
await _productDetailService.notifyMe(customerId, itemID); await _productDetailService.notifyMe(customerId, itemID);
if (_productDetailService.hasError) { if (_productDetailService.hasError) {
error = _productDetailService.error; error = _productDetailService.error;
@ -57,7 +60,7 @@ class ProductDetailViewModel extends BaseViewModel{
Future addToCartData(quantity, itemID) async { Future addToCartData(quantity, itemID) async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(ViewState.BusyLocal);
await _productDetailService.addToCart(quantity, itemID); await _productDetailService.addToCart(quantity, itemID);
if (_productDetailService.hasError) { if (_productDetailService.hasError) {
error = _productDetailService.error; error = _productDetailService.error;
@ -68,8 +71,13 @@ class ProductDetailViewModel extends BaseViewModel{
Future addToWishlistData(itemID) async { Future addToWishlistData(itemID) async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(ViewState.BusyLocal);
GifLoaderDialogUtils.showMyDialog(
locator<NavigationService>().navigatorKey.currentContext);
await _productDetailService.addToWishlist(itemID); await _productDetailService.addToWishlist(itemID);
GifLoaderDialogUtils.hideDialog(
locator<NavigationService>().navigatorKey.currentContext);
if (_productDetailService.hasError) { if (_productDetailService.hasError) {
error = _productDetailService.error; error = _productDetailService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
@ -89,10 +97,15 @@ class ProductDetailViewModel extends BaseViewModel{
} }
Future deletWishlistData(itemID) async { Future deleteWishlistData(itemID) async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(ViewState.BusyLocal);
await _productDetailService.delteItemFromWishlist(itemID); GifLoaderDialogUtils.showMyDialog(
locator<NavigationService>().navigatorKey.currentContext);
await _productDetailService.deleteItemFromWishlist(itemID);
GifLoaderDialogUtils.hideDialog(
locator<NavigationService>().navigatorKey.currentContext);
if (_productDetailService.hasError) { if (_productDetailService.hasError) {
error = _productDetailService.error; error = _productDetailService.error;
setState(ViewState.ErrorLocal); setState(ViewState.ErrorLocal);
@ -112,4 +125,10 @@ class ProductDetailViewModel extends BaseViewModel{
setState(ViewState.Idle); setState(ViewState.Idle);
} }
clearReview(){
productDetailService.clear();
}
} }

@ -12,20 +12,9 @@ class WishListViewModel extends BaseViewModel{
bool hasError = false; bool hasError = false;
// Future getWishlistData() async { Future getWishlistData({isLocalLoader = false}) async {
// setState(ViewState.Busy);
// await _wishlistService.getWishlist();
// if (_wishlistService.hasError) {
// error = _wishlistService.error;
// setState(ViewState.Error);
// } else {
// setState(ViewState.Idle);
// }
// }
Future getWishlistData() async {
hasError = false; hasError = false;
setState(ViewState.Busy); setState(isLocalLoader ? ViewState.BusyLocal:ViewState.Busy);
await _wishlistService.getWishlist(); await _wishlistService.getWishlist();
if (_wishlistService.hasError) { if (_wishlistService.hasError) {
error = _wishlistService.error; error = _wishlistService.error;

@ -0,0 +1,27 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/pharmacy/pharmacy_categorise.dart';
import 'package:diplomaticquarterapp/core/service/pharmacy_categorise_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/base_view_model.dart';
import 'package:diplomaticquarterapp/locator.dart';
class ProductCategoriesViewModel extends BaseViewModel {
bool hasError = false;
PharmacyCategoriseService _pharmacyCategoriseService =
locator<PharmacyCategoriseService>();
List<PharmacyCategorise> get categorise =>
_pharmacyCategoriseService.categoriseList;
Future getCategorise() async {
hasError = false;
// _insuranceCardService.clearInsuranceCard();
setState(ViewState.Busy);
await _pharmacyCategoriseService.getCategorise();
if (_pharmacyCategoriseService.hasError) {
error = _pharmacyCategoriseService.error;
setState(ViewState.ErrorLocal);
} else
setState(ViewState.Idle);
}
}

@ -19,25 +19,80 @@ class DQIcons {
DQIcons._(); DQIcons._();
static const _kFontFam = 'DQIcons'; static const _kFontFam = 'DQIcons';
static const _kFontPkg = null; static const String _kFontPkg = null;
static const IconData blood_pressure = IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData blood_pressure =
static const IconData blood = IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe800, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData bmi = IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData blood =
static const IconData heart = IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe801, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData height = IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData bmi =
static const IconData outline = IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe802, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData thermometer = IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData heart =
static const IconData weight_scale = IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe803, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData parking_icon = IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData height =
static const IconData blood_type_icon = IconData(0xe809, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe804, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData height_icon = IconData(0xe80a, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData outline =
static const IconData online_payment_icon = IconData(0xe80b, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe805, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData search_medicine_icon = IconData(0xe80c, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData thermometer =
static const IconData vital_sign_icon = IconData(0xe80d, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe806, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData weight_icon = IconData(0xe80e, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData weight_scale =
static const IconData my_medical_file = IconData(0xe80f, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe807, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData family = IconData(0xe810, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const IconData parking_icon =
static const IconData calendar__2_ = IconData(0xe811, fontFamily: _kFontFam, fontPackage: _kFontPkg); IconData(0xe808, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData roboticon = IconData(0xe812, 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);
static const IconData roboticon =
IconData(0xe812, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cart_menu_icon =
IconData(0xe814, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData categories_menu_icon =
IconData(0xe815, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hmg_logo_icon =
IconData(0xe816, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData user_menu_icon =
IconData(0xe817, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData cart_menu_icon_1 =
IconData(0xe818, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData categories_menu_icon_1 =
IconData(0xe819, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData hmg_logo_icon_1 =
IconData(0xe81a, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData emo_cry =
IconData(0xe8b5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData emo_shoot =
IconData(0xe8b6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData emo_squint =
IconData(0xe8b7, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData emo_laugh =
IconData(0xe8b8, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData chrome =
IconData(0xe8c0, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData opera =
IconData(0xe8c1, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData ie =
IconData(0xe8c2, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crown =
IconData(0xe8c3, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crown_plus =
IconData(0xe8c4, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData crown_minus =
IconData(0xe8c5, fontFamily: _kFontFam, fontPackage: _kFontPkg);
static const IconData marquee =
IconData(0xe8c6, fontFamily: _kFontFam, fontPackage: _kFontPkg);
} }

@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/core/viewModels/ancillary_orders_view_model
import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/user_information_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/child_vaccines/user_information_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/dashboard_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/PharmacyAddressesViewModel.dart';
import 'package:diplomaticquarterapp/core/viewModels/product_categories_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/pharmacyModule/order_model_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/weather/weather_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/weather/weather_view_model.dart';
import 'package:diplomaticquarterapp/services/pharmacy_services/cancelOrder_service.dart'; import 'package:diplomaticquarterapp/services/pharmacy_services/cancelOrder_service.dart';
@ -121,6 +122,10 @@ import 'core/viewModels/offers_Categorise_view_model.dart';
import 'core/viewModels/packages_offers/PackagesOffersViewModel.dart'; import 'core/viewModels/packages_offers/PackagesOffersViewModel.dart';
import 'core/viewModels/pharmacies_view_model.dart'; import 'core/viewModels/pharmacies_view_model.dart';
import 'core/viewModels/pharmacyModule/OrderPreviewViewModel.dart'; import 'core/viewModels/pharmacyModule/OrderPreviewViewModel.dart';
import 'core/viewModels/pharmacyModule/BestSellerViewModel.dart';
import 'core/viewModels/pharmacyModule/BrandViewModel.dart';
import 'core/viewModels/pharmacyModule/LastVisitedViewModel.dart';
import 'core/viewModels/pharmacyModule/PrescriptionViewModel.dart';
import 'core/viewModels/pharmacyModule/brand_view_model.dart'; import 'core/viewModels/pharmacyModule/brand_view_model.dart';
import 'core/viewModels/pharmacyModule/lacum-registration-viewModel.dart'; import 'core/viewModels/pharmacyModule/lacum-registration-viewModel.dart';
import 'core/viewModels/pharmacyModule/lacum-trasnfer-viewModel.dart'; import 'core/viewModels/pharmacyModule/lacum-trasnfer-viewModel.dart';
@ -284,24 +289,29 @@ void setupLocator() {
locator.registerFactory(() => ProductDetailViewModel()); locator.registerFactory(() => ProductDetailViewModel());
locator.registerFactory(() => WeatherViewModel()); locator.registerFactory(() => WeatherViewModel());
locator.registerFactory(() => OrderPreviewViewModel()); // locator.registerFactory(() => OrderPreviewViewModel());
locator.registerFactory(() => LacumViewModel()); locator.registerFactory(() => LacumViewModel());
locator.registerFactory(() => LacumTranferViewModel()); locator.registerFactory(() => LacumTranferViewModel());
locator.registerFactory(() => LacumRegistrationViewModel()); locator.registerFactory(() => LacumRegistrationViewModel());
locator.registerFactory(() => EdOnlineViewModel()); locator.registerFactory(() => EdOnlineViewModel());
locator.registerFactory(() => ProductCategoriesViewModel());
//pharmacy //pharmacy
locator.registerFactory(() => PharmacyCategoriseViewModel()); locator.registerFactory(() => PharmacyCategoriseViewModel());
locator.registerFactory(() => OffersCategoriseViewModel()); locator.registerFactory(() => OffersCategoriseViewModel());
locator.registerFactory(() => BariatricsViewModel()); locator.registerFactory(() => BariatricsViewModel());
locator.registerFactory(() => PrescriptionViewModel());
locator.registerFactory(() => BrandViewModel());
locator.registerFactory(() => BestSellerViewModel());
locator.registerFactory(() => LastVisitedViewModel());
// Offer And Packages // Offer And Packages
//---------------------- //----------------------
locator.registerLazySingleton(() => OffersAndPackagesServices()); // offerPackagesServices Service locator.registerLazySingleton(() => OffersAndPackagesServices()); // offerPackagesServices Service
locator.registerFactory(() => OfferCategoriesViewModel()); // Categories View Model locator.registerFactory(() => OfferCategoriesViewModel()); // Categories View Model
locator.registerFactory(() => PackagesViewModel()); // Products View Model locator.registerFactory(() => PackagesViewModel()); // Products View Model
//pharmacy //pharmacy
// locator.registerFactory(() => PharmacyCategoriseViewModel()); // locator.registerFactory(() => PharmacyCategoriseViewModel());
// locator.registerFactory(() => OffersCategoriseViewModel()); // locator.registerFactory(() => OffersCategoriseViewModel());

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/analytics/google-analytics.dart'; import 'dart:io';
import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/dashboard_view_model.dart';
import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart'; import 'package:diplomaticquarterapp/models/Appointments/toDoCountProviderModel.dart';
import 'package:diplomaticquarterapp/routes.dart'; import 'package:diplomaticquarterapp/routes.dart';
@ -8,14 +9,17 @@ import 'package:diplomaticquarterapp/theme/theme_notifier.dart';
import 'package:diplomaticquarterapp/theme/theme_value.dart'; import 'package:diplomaticquarterapp/theme/theme_value.dart';
import 'package:diplomaticquarterapp/uitl/LocalNotification.dart'; import 'package:diplomaticquarterapp/uitl/LocalNotification.dart';
import 'package:diplomaticquarterapp/uitl/PlatformBridge.dart'; import 'package:diplomaticquarterapp/uitl/PlatformBridge.dart';
import 'package:diplomaticquarterapp/uitl/navigation_service.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:firebase_core/firebase_core.dart'; import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:in_app_update/in_app_update.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'config/size_config.dart'; import 'config/size_config.dart';
import 'core/viewModels/pharmacyModule/OrderPreviewViewModel.dart';
import 'core/viewModels/project_view_model.dart'; import 'core/viewModels/project_view_model.dart';
import 'locator.dart'; import 'locator.dart';
import 'pages/pharmacies/compare-list.dart'; import 'pages/pharmacies/compare-list.dart';
@ -34,12 +38,27 @@ class MyApp extends StatefulWidget {
} }
class _MyApp extends State<MyApp> { class _MyApp extends State<MyApp> {
AppUpdateInfo _updateInfo;
Future<void> checkForUpdate() async {
InAppUpdate.checkForUpdate().then((info) {
if (info.updateAvailable) {
InAppUpdate.performImmediateUpdate().then((value) {}).catchError((e) => print(e.toString()));
}
}).catchError((e) {
print(e.toString());
});
}
@override @override
void initState() { void initState() {
// ProjectViewModel projectProvider; // ProjectViewModel projectProvider;
// projectProvider = Provider.of(context); // projectProvider = Provider.of(context);
// var font = projectProvider.isArabic ? 'Cairo' : 'WorkSans'; // var font = projectProvider.isArabic ? 'Cairo' : 'WorkSans';
// Re-enable once going live
// if (Platform.isAndroid) checkForUpdate();
ThemeNotifier(defaultTheme()); ThemeNotifier(defaultTheme());
super.initState(); super.initState();
} }
@ -82,10 +101,14 @@ class _MyApp extends State<MyApp> {
initialData: RobotProvider().setValue({}), initialData: RobotProvider().setValue({}),
), ),
ChangeNotifierProvider<CompareList>(create: (context) => CompareList()), ChangeNotifierProvider<CompareList>(create: (context) => CompareList()),
ChangeNotifierProvider<OrderPreviewViewModel>(create: (context) => OrderPreviewViewModel()),
], ],
child: Consumer<ProjectViewModel>( child: Consumer<ProjectViewModel>(
builder: (context, projectProvider, child) => MaterialApp( builder: (context, projectProvider, child) => MaterialApp(
navigatorObservers: [GAnalytics.shared.navObserver()], // navigatorObservers: [
// GAnalytics.shared.navObserver()
// ],
navigatorKey: locator<NavigationService>().navigatorKey,
showSemanticsDebugger: false, showSemanticsDebugger: false,
title: 'Diplomatic Quarter App', title: 'Diplomatic Quarter App',
locale: projectProvider.appLocal, locale: projectProvider.appLocal,

@ -23,8 +23,9 @@ class CheckActivationCodeReq {
bool isDentalAllowedBackend; bool isDentalAllowedBackend;
int deviceTypeID; int deviceTypeID;
bool forRegisteration; bool forRegisteration;
CheckActivationCodeReq(
{this.patientMobileNumber, CheckActivationCodeReq({
this.patientMobileNumber,
this.mobileNo, this.mobileNo,
this.deviceToken, this.deviceToken,
this.projectOutSA, this.projectOutSA,
@ -47,7 +48,8 @@ class CheckActivationCodeReq {
this.sessionID, this.sessionID,
this.isDentalAllowedBackend, this.isDentalAllowedBackend,
this.deviceTypeID, this.deviceTypeID,
this.forRegisteration}); this.forRegisteration,
});
CheckActivationCodeReq.fromJson(Map<String, dynamic> json) { CheckActivationCodeReq.fromJson(Map<String, dynamic> json) {
patientMobileNumber = json['PatientMobileNumber']; patientMobileNumber = json['PatientMobileNumber'];
@ -102,6 +104,7 @@ class CheckActivationCodeReq {
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend; data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
data['DeviceTypeID'] = this.deviceTypeID; data['DeviceTypeID'] = this.deviceTypeID;
data['ForRegisteration'] = this.forRegisteration; data['ForRegisteration'] = this.forRegisteration;
return data; return data;
} }
} }

@ -0,0 +1,120 @@
class CheckActivationCodeRegisterReq {
int patientMobileNumber;
String mobileNo;
String deviceToken;
bool projectOutSA;
int loginType;
String zipCode;
bool isRegister;
String logInTokenID;
int searchType;
int patientID;
String nationalID;
String patientIdentificationID;
String activationCode;
bool isSilentLogin;
double versionID;
int channel;
int languageID;
String iPAdress;
String generalid;
int patientOutSA;
Null sessionID;
bool isDentalAllowedBackend;
int deviceTypeID;
bool forRegisteration;
String dob;
int isHijri;
String healthId;
CheckActivationCodeRegisterReq({
this.patientMobileNumber,
this.mobileNo,
this.deviceToken,
this.projectOutSA,
this.loginType,
this.zipCode,
this.isRegister,
this.logInTokenID,
this.searchType,
this.patientID,
this.nationalID,
this.patientIdentificationID,
this.activationCode,
this.isSilentLogin,
this.versionID,
this.channel,
this.languageID,
this.iPAdress,
this.generalid,
this.patientOutSA,
this.sessionID,
this.isDentalAllowedBackend,
this.deviceTypeID,
this.forRegisteration,
this.dob,
this.isHijri,
this.healthId,
});
CheckActivationCodeRegisterReq.fromJson(Map<String, dynamic> json) {
patientMobileNumber = json['PatientMobileNumber'];
mobileNo = json['MobileNo'];
deviceToken = json['DeviceToken'];
projectOutSA = json['ProjectOutSA'];
loginType = json['LoginType'];
zipCode = json['ZipCode'];
isRegister = json['isRegister'];
logInTokenID = json['LogInTokenID'];
searchType = json['SearchType'];
patientID = json['PatientID'];
nationalID = json['NationalID'];
patientIdentificationID = json['PatientIdentificationID'];
activationCode = json['activationCode'];
isSilentLogin = json['IsSilentLogin'];
versionID = json['VersionID'];
channel = json['Channel'];
languageID = json['LanguageID'];
iPAdress = json['IPAdress'];
generalid = json['generalid'];
patientOutSA = json['PatientOutSA'];
sessionID = json['SessionID'];
isDentalAllowedBackend = json['isDentalAllowedBackend'];
deviceTypeID = json['DeviceTypeID'];
forRegisteration = json['ForRegisteration'];
dob = json['DOB'];
isHijri = json['IsHijri'];
healthId = json['HealthId'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['PatientMobileNumber'] = this.patientMobileNumber;
data['MobileNo'] = this.mobileNo;
data['DeviceToken'] = this.deviceToken;
data['ProjectOutSA'] = this.projectOutSA;
data['LoginType'] = this.loginType;
data['ZipCode'] = this.zipCode;
data['isRegister'] = this.isRegister;
data['LogInTokenID'] = this.logInTokenID;
data['SearchType'] = this.searchType;
data['PatientID'] = this.patientID;
data['NationalID'] = this.nationalID;
data['PatientIdentificationID'] = this.patientIdentificationID;
data['activationCode'] = this.activationCode;
data['IsSilentLogin'] = this.isSilentLogin;
data['VersionID'] = this.versionID;
data['Channel'] = this.channel;
data['LanguageID'] = this.languageID;
data['IPAdress'] = this.iPAdress;
data['generalid'] = this.generalid;
data['PatientOutSA'] = this.patientOutSA;
data['SessionID'] = this.sessionID;
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
data['DeviceTypeID'] = this.deviceTypeID;
data['ForRegisteration'] = this.forRegisteration;
data['DOB'] = dob;
data['IsHijri'] = isHijri;
data['HealthId'] = healthId;
return data;
}
}

@ -1,7 +1,7 @@
class RegisterUserRequest { class RegisterUserRequest {
Patientobject patientobject; Patientobject patientobject;
String patientIdentificationID; String patientIdentificationID;
int patientMobileNumber; dynamic patientMobileNumber;
String logInTokenID; String logInTokenID;
double versionID; double versionID;
int channel; int channel;
@ -12,7 +12,10 @@ class RegisterUserRequest {
Null sessionID; Null sessionID;
bool isDentalAllowedBackend; bool isDentalAllowedBackend;
int deviceTypeID; int deviceTypeID;
String dob;
int isHijri;
String healthId;
String zipCode;
RegisterUserRequest( RegisterUserRequest(
{this.patientobject, {this.patientobject,
this.patientIdentificationID, this.patientIdentificationID,
@ -26,12 +29,14 @@ class RegisterUserRequest {
this.patientOutSA, this.patientOutSA,
this.sessionID, this.sessionID,
this.isDentalAllowedBackend, this.isDentalAllowedBackend,
this.deviceTypeID}); this.deviceTypeID,
this.dob,
this.isHijri,
this.healthId,
this.zipCode});
RegisterUserRequest.fromJson(Map<String, dynamic> json) { RegisterUserRequest.fromJson(Map<String, dynamic> json) {
patientobject = json['Patientobject'] != null patientobject = json['Patientobject'] != null ? new Patientobject.fromJson(json['Patientobject']) : null;
? new Patientobject.fromJson(json['Patientobject'])
: null;
patientIdentificationID = json['PatientIdentificationID']; patientIdentificationID = json['PatientIdentificationID'];
patientMobileNumber = json['PatientMobileNumber']; patientMobileNumber = json['PatientMobileNumber'];
logInTokenID = json['LogInTokenID']; logInTokenID = json['LogInTokenID'];
@ -44,6 +49,10 @@ class RegisterUserRequest {
sessionID = json['SessionID']; sessionID = json['SessionID'];
isDentalAllowedBackend = json['isDentalAllowedBackend']; isDentalAllowedBackend = json['isDentalAllowedBackend'];
deviceTypeID = json['DeviceTypeID']; deviceTypeID = json['DeviceTypeID'];
dob = json['DOB'];
isHijri = json['IsHijri'];
healthId = json['HealthId'];
zipCode = json['ZipCode'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -63,6 +72,10 @@ class RegisterUserRequest {
data['SessionID'] = this.sessionID; data['SessionID'] = this.sessionID;
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend; data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
data['DeviceTypeID'] = this.deviceTypeID; data['DeviceTypeID'] = this.deviceTypeID;
data['DOB'] = this.dob;
data['IsHijri'] = this.isHijri;
data['HealthId'] = this.healthId;
data['ZipCode'] = this.zipCode;
return data; return data;
} }
} }
@ -71,7 +84,7 @@ class Patientobject {
bool tempValue; bool tempValue;
int patientIdentificationType; int patientIdentificationType;
String patientIdentificationNo; String patientIdentificationNo;
int mobileNumber; dynamic mobileNumber;
int patientOutSA; int patientOutSA;
String firstName; String firstName;
String middleName; String middleName;

@ -22,6 +22,9 @@ class SendActivationRequest {
bool isDentalAllowedBackend; bool isDentalAllowedBackend;
int deviceTypeID; int deviceTypeID;
String sMSSignature; String sMSSignature;
String dob;
int isHijri;
String healthId;
SendActivationRequest( SendActivationRequest(
{this.patientMobileNumber, {this.patientMobileNumber,
this.mobileNo, this.mobileNo,
@ -45,7 +48,10 @@ class SendActivationRequest {
this.sessionID, this.sessionID,
this.isDentalAllowedBackend, this.isDentalAllowedBackend,
this.deviceTypeID, this.deviceTypeID,
this.sMSSignature}); this.sMSSignature,
this.dob,
this.isHijri,
this.healthId});
SendActivationRequest.fromJson(Map<String, dynamic> json) { SendActivationRequest.fromJson(Map<String, dynamic> json) {
patientMobileNumber = json['PatientMobileNumber']; patientMobileNumber = json['PatientMobileNumber'];
@ -71,6 +77,9 @@ class SendActivationRequest {
isDentalAllowedBackend = json['isDentalAllowedBackend']; isDentalAllowedBackend = json['isDentalAllowedBackend'];
deviceTypeID = json['DeviceTypeID']; deviceTypeID = json['DeviceTypeID'];
sMSSignature = json['SMSSignature']; sMSSignature = json['SMSSignature'];
dob = json['DOB'];
isHijri = json['IsHijri'];
healthId = json['HealthId'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -98,6 +107,9 @@ class SendActivationRequest {
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend; data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
data['DeviceTypeID'] = this.deviceTypeID; data['DeviceTypeID'] = this.deviceTypeID;
data['SMSSignature'] = sMSSignature; data['SMSSignature'] = sMSSignature;
data['DOB'] = dob;
data['IsHijri'] = isHijri;
data['HealthId'] = healthId;
return data; return data;
} }
} }

@ -0,0 +1,26 @@
class WeeklyHeartRateResModel {
num valueAvg;
String machineDate;
int medCategoryID;
int patientID;
WeeklyHeartRateResModel(
{this.valueAvg, this.machineDate, this.medCategoryID, this.patientID});
WeeklyHeartRateResModel.fromJson(Map<String, dynamic> json) {
num value = json['ValueAvg'];
valueAvg = json['ValueAvg'] != null ? value.toInt() : 0;
machineDate = json['MachineDate'];
medCategoryID = json['MedCategoryID'];
patientID = json['PatientID'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ValueAvg'] = this.valueAvg;
data['MachineDate'] = this.machineDate;
data['MedCategoryID'] = this.medCategoryID;
data['PatientID'] = this.patientID;
return data;
}
}

@ -0,0 +1,42 @@
class WeeklyStepsResModel {
int iD;
int patientID;
int medCategoryID;
int medSubCategoryID;
num value;
String machineDate;
bool patientOutSA;
dynamic notes;
bool isActive;
String createdOn;
WeeklyStepsResModel({this.iD, this.patientID, this.medCategoryID, this.medSubCategoryID, this.value, this.machineDate, this.patientOutSA, this.notes, this.isActive, this.createdOn});
WeeklyStepsResModel.fromJson(Map<String, dynamic> json) {
iD = json['ID'];
patientID = json['PatientID'];
medCategoryID = json['MedCategoryID'];
medSubCategoryID = json['MedSubCategoryID'];
value = json['Value'] != null ? num.tryParse(json['Value']).toInt() : 0;
machineDate = json['MachineDate'];
patientOutSA = json['PatientOutSA'];
notes = json['Notes'];
isActive = json['IsActive'];
createdOn = json['CreatedOn'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ID'] = this.iD;
data['PatientID'] = this.patientID;
data['MedCategoryID'] = this.medCategoryID;
data['MedSubCategoryID'] = this.medSubCategoryID;
data['Value'] = this.value;
data['MachineDate'] = this.machineDate;
data['PatientOutSA'] = this.patientOutSA;
data['Notes'] = this.notes;
data['IsActive'] = this.isActive;
data['CreatedOn'] = this.createdOn;
return data;
}
}

@ -0,0 +1,37 @@
class YearlyHeartRateResModel {
num valueAvg;
int medCategoryID;
int month;
String monthName;
int patientID;
int year;
YearlyHeartRateResModel(
{this.valueAvg,
this.medCategoryID,
this.month,
this.monthName,
this.patientID,
this.year});
YearlyHeartRateResModel.fromJson(Map<String, dynamic> json) {
num value = json['ValueAvg'];
valueAvg = json['ValueAvg'] != null ? value.toInt() : 0;
medCategoryID = json['MedCategoryID'];
month = json['Month'];
monthName = json['MonthName'];
patientID = json['PatientID'];
year = json['Year'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['ValueAvg'] = this.valueAvg;
data['MedCategoryID'] = this.medCategoryID;
data['Month'] = this.month;
data['MonthName'] = this.monthName;
data['PatientID'] = this.patientID;
data['Year'] = this.year;
return data;
}
}

@ -1,5 +1,5 @@
class YearlyStepsResModel { class YearlyStepsResModel {
double valueSum; num valueSum;
int medCategoryID; int medCategoryID;
int month; int month;
String monthName; String monthName;
@ -21,6 +21,7 @@ class YearlyStepsResModel {
monthName = json['MonthName']; monthName = json['MonthName'];
patientID = json['PatientID']; patientID = json['PatientID'];
year = json['Year']; year = json['Year'];
valueSum = valueSum != null ? valueSum.toInt() : valueSum;
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {

@ -13,7 +13,10 @@ Future<void> showCMCConfirmDialog(BuildContext context, String requestId, {Funct
child: Column( child: Column(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
children: [ children: [
ConfirmDialog(requestId,onClick: onClick,), ConfirmDialog(
requestId,
onClick: onClick,
),
], ],
), ),
); );
@ -36,7 +39,16 @@ class ConfirmDialog extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Row( Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
Container(
width: 40,
height: 40,
margin: EdgeInsets.only(top: 20),
decoration: containerRadius(CustomColors.green, 200,),
child: Icon(Icons.done,color: Colors.white,),
),
mFlex(1), mFlex(1),
IconButton( IconButton(
icon: Icon( icon: Icon(
@ -49,6 +61,7 @@ class ConfirmDialog extends StatelessWidget {
), ),
], ],
), ),
mHeight(12),
Text( Text(
TranslationBase.of(context).RRTRequestSuccess, TranslationBase.of(context).RRTRequestSuccess,
textAlign: TextAlign.start, textAlign: TextAlign.start,

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_request_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/cmc_insert_pres_order_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/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/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
@ -11,7 +12,7 @@ import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart'; import 'package:diplomaticquarterapp/widgets/dialogs/ConfirmWithMessageDialog.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -85,13 +86,13 @@ class _NewCMCPageState extends State<NewCMCPage> with TickerProviderStateMixin {
_context = context; _context = context;
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
void showConfirmMessage(CMCViewModel model, GetOrderDetailByOrderIDResponseModel order) { void showConfirmMessage(CMCViewModel model, GetCMCAllOrdersResponseModel order) {
showDialog( showDialog(
context: context, context: context,
child: ConfirmCancelOrderDialog( child: ConfirmWithMessageDialog(
model: model, message: TranslationBase.of(context).cancelOrderMsg,
onTap: () async { onTap: () async {
UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.presOrderID, rejectionReason: "", presOrderStatus: 4, editedBy: 3); UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.iD, rejectionReason: "", presOrderStatus: 4, editedBy: 3);
Future.delayed(new Duration(milliseconds: 300)).then((value) async { Future.delayed(new Duration(milliseconds: 300)).then((value) async {
GifLoaderDialogUtils.showMyDialog(_context); GifLoaderDialogUtils.showMyDialog(_context);
await model.updateCmcPresOrder(updatePresOrderRequestModel); await model.updateCmcPresOrder(updatePresOrderRequestModel);
@ -108,38 +109,53 @@ class _NewCMCPageState extends State<NewCMCPage> with TickerProviderStateMixin {
)); ));
} }
int status = widget.model.pendingOrder != null ? widget.model.pendingOrder.statusId : 0;
String _statusDisp = widget.model.pendingOrder != null ? widget.model.pendingOrder.statusText : "";
Color _color;
if (status == 1) {
//pending
_color = Color(0xffCC9B14);
} else if (status == 2) {
//processing
_color = Color(0xff2E303A);
} else if (status == 3) {
//completed
_color = Color(0xff359846);
} else if (status == 4 || status == 6 || status == 7) {
//cancel // Rejected
_color = Color(0xffD02127);
}
return Scaffold( return Scaffold(
body: SafeArea( body: SafeArea(
child: Container( child: Container(
child: widget.model.cmcAllOrderDetail.length != 0 && widget.model.pendingOrder != null child: widget.model.pendingOrder != null
? Column( ? Column(
children: [ children: [
Container( Container(
width: double.infinity, width: double.infinity,
padding: EdgeInsets.only(left: 12, right: 12, top: 12), padding: EdgeInsets.only(left: 12, right: 12, top: 12),
child: Card( child: Container(
shape: cardRadius(12), decoration: cardRadius(12),
elevation: 2,
margin: EdgeInsets.zero, margin: EdgeInsets.zero,
color: Color(0xffcd9e1b),
clipBehavior: Clip.antiAlias, clipBehavior: Clip.antiAlias,
child: Container( child: Container(
// decoration: containerColorRadiusLeft(Colors.white, 12), // decoration: containerColorRadiusLeft(Colors.white, 12),
margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 8, right: projectViewModel.isArabic ? 8 : 0), margin: EdgeInsets.only(left: projectViewModel.isArabic ? 0 : 6, right: projectViewModel.isArabic ? 6 : 0),
padding: EdgeInsets.all(12), padding: EdgeInsets.symmetric(vertical: 14, horizontal: 12),
// color: Colors.white,
decoration: BoxDecoration( decoration: BoxDecoration(
shape: BoxShape.rectangle,
color: Colors.white, color: Colors.white,
border: Border.all(color: Colors.white, width: 1),
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
topLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0), bottomRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
topRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero, topRight: projectViewModel.isArabic ? Radius.circular(0) : Radius.circular(10.0),
bottomLeft: projectViewModel.isArabic ? Radius.zero : Radius.circular(12.0), bottomLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
bottomRight: projectViewModel.isArabic ? Radius.circular(12.0) : Radius.zero, topLeft: projectViewModel.isArabic ? Radius.circular(10.0) : Radius.circular(0),
), ),
), ),
// clipBehavior: Clip.antiAlias, // clipBehavior: Clip.antiAlias,
child: Row( child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Expanded( Expanded(
child: Column( child: Column(
@ -147,70 +163,82 @@ class _NewCMCPageState extends State<NewCMCPage> with TickerProviderStateMixin {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Text(
// TranslationBase.of(context).OrderStatus + _statusDisp,
// ' ' + style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: _color, letterSpacing: -0.4, height: 16 / 10),
(projectViewModel.isArabic ? widget.model.pendingOrder.descriptionN : widget.model.pendingOrder.description),
style: TextStyle(
fontSize: 12,
letterSpacing: -0.48,
color: Color(0xffcd9e1b),
fontWeight: FontWeight.w700,
), ),
SizedBox(height: 6),
Text(
'${TranslationBase.of(context).requestID}: ${widget.model.pendingOrder.iD}',
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64, height: 25 / 16),
), ),
mHeight(12), Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text( Text(
TranslationBase.of(context).requestID + ' ' + widget.model.pendingOrder.iD.toString(), TranslationBase.of(context).hospital + ": ",
style: TextStyle( style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
fontSize: 16,
letterSpacing: -0.48,
fontWeight: FontWeight.w700,
), ),
Expanded(
child: Text(
// !projectViewModel.isArabic ? order.nearestProjectDescription.trim().toString() : order.nearestProjectDescriptionN.toString(),
widget.model.pendingOrder.projectName.trim().toString(),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56),
), ),
Text(
TranslationBase.of(context).serviceName,
style: TextStyle(
fontSize: 12,
letterSpacing: -0.48,
fontWeight: FontWeight.w500,
), ),
],
), ),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text( Text(
!projectViewModel.isArabic ? widget.model.cmcAllOrderDetail[0].description.toString() : widget.model.cmcAllOrderDetail[0].descriptionN.toString(), TranslationBase.of(context).serviceName + ": ",
style: TextStyle( style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff575757), letterSpacing: -0.4, height: 16 / 10),
fontSize: 12, ),
letterSpacing: -0.48, Expanded(
fontWeight: FontWeight.w700, child: Text(
widget.model.pendingOrder.serviceText.trim().toString(),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56),
),
), ),
],
), ),
], ],
), ),
), ),
Column( Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( Text(
DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(widget.model.cmcAllOrderDetail[0].createdOn)), DateUtil.getDayMonthYearDateFormatted(DateTime.tryParse(widget.model.pendingOrder.created)),
style: TextStyle( style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
fontSize: 12,
letterSpacing: -0.48,
fontWeight: FontWeight.w700,
),
), ),
mHeight(8), SizedBox(height: 12),
SecondaryButton( if (widget.model.pendingOrder.statusId == 1 || widget.model.pendingOrder.statusId == 2)
InkWell(
onTap: () { onTap: () {
showConfirmMessage(widget.model, widget.model.cmcAllOrderDetail[0]); showConfirmMessage(widget.model, widget.model.pendingOrder);
}, },
label: TranslationBase.of(context).cancel, child: Container(
color: Colors.red[900], padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),
small: true, decoration: BoxDecoration(
) color: Color(0xffD02127),
], border: Border.all(color: Colors.white, width: 1),
borderRadius: BorderRadius.circular(10),
),
child: Text(
TranslationBase.of(context).cancel_nocaps,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Colors.white, letterSpacing: -0.4),
),
),
), ),
], ],
), ),
],
), ),
), ),
), ),
)
], ],
) )
: Container( : Container(

@ -7,6 +7,7 @@ import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_v
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart'; import 'package:diplomaticquarterapp/uitl/utils_new.dart';
@ -92,9 +93,8 @@ class _NewCMCStepThreePageState extends State<NewCMCStepThreePage> {
SizedBox( SizedBox(
height: 12, height: 12,
), ),
Card( Container(
shape: cardRadius(12), decoration: cardRadius(12),
elevation: 4,
child: Container( child: Container(
padding: EdgeInsets.all(8), padding: EdgeInsets.all(8),
child: Column( child: Column(
@ -118,10 +118,9 @@ class _NewCMCStepThreePageState extends State<NewCMCStepThreePage> {
height: 200, height: 200,
decoration: containerColorRadiusBorder(Colors.white, 12, Colors.grey), decoration: containerColorRadiusBorder(Colors.white, 12, Colors.grey),
clipBehavior: Clip.antiAlias, clipBehavior: Clip.antiAlias,
child: Card( child: Container(
shape: cardRadius(12), decoration: cardRadius(12),
clipBehavior: Clip.antiAlias, clipBehavior: Clip.antiAlias,
elevation: 0,
margin: const EdgeInsets.all(0), margin: const EdgeInsets.all(0),
// child: GoogleMap( // child: GoogleMap(
// mapType: MapType.normal, // mapType: MapType.normal,
@ -214,7 +213,9 @@ class _NewCMCStepThreePageState extends State<NewCMCStepThreePage> {
Navigator.pop(context); Navigator.pop(context);
}, },
); );
} else {} } else {
AppToast.showErrorToast(message: widget.model.error);
}
}, },
textColor: Theme.of(context).backgroundColor), textColor: Theme.of(context).backgroundColor),
), ),

@ -161,10 +161,9 @@ class _NewCMCStepTowPageState extends State<NewCMCStepTowPage> {
body: Column( body: Column(
children: [ children: [
if (widget.model.addressesList.isNotEmpty) if (widget.model.addressesList.isNotEmpty)
Card( Container(
margin: EdgeInsets.only(left: 12, right: 12, bottom: 12, top: 12), margin: EdgeInsets.only(left: 12, right: 12, bottom: 12, top: 12),
shape: cardRadius(12), decoration: cardRadius(12),
elevation: 3,
child: Container( child: Container(
child: InkWell( child: InkWell(
onTap: () => confirmSelectLocationDialog(widget.model.addressesList), onTap: () => confirmSelectLocationDialog(widget.model.addressesList),

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hhc_all_pres_orders_response_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hhc_all_pres_orders_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/cmc_view_model.dart';
@ -28,7 +29,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
void showConfirmMessage(CMCViewModel model, GetHHCAllPresOrdersResponseModel order) { void showConfirmMessage(CMCViewModel model, GetCMCAllOrdersResponseModel order) {
showDialog( showDialog(
context: context, context: context,
child: ConfirmWithMessageDialog( child: ConfirmWithMessageDialog(
@ -89,10 +90,10 @@ class OrdersLogDetailsPage extends StatelessWidget {
padding: EdgeInsets.all(21), padding: EdgeInsets.all(21),
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
GetHHCAllPresOrdersResponseModel order = model.cmcAllPresOrders[index]; GetCMCAllOrdersResponseModel order = model.cmcAllPresOrders[index];
int status = order.status; int status = order.statusId;
String _statusDisp = projectViewModel.isArabic ? order.descriptionN : order.description; String _statusDisp = order.statusText;
Color _color; Color _color;
if (status == 1) { if (status == 1) {
//pending //pending
@ -103,7 +104,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
} else if (status == 3) { } else if (status == 3) {
//completed //completed
_color = Color(0xff359846); _color = Color(0xff359846);
} else if (status == 4) { } else if (status == 4 || status == 6 || status == 7) {
//cancel // Rejected //cancel // Rejected
_color = Color(0xffD02127); _color = Color(0xffD02127);
} }
@ -162,7 +163,8 @@ class OrdersLogDetailsPage extends StatelessWidget {
), ),
Expanded( Expanded(
child: Text( child: Text(
!projectViewModel.isArabic ? order.nearestProjectDescription.trim().toString() : order.nearestProjectDescriptionN.toString(), // !projectViewModel.isArabic ? order.nearestProjectDescription.trim().toString() : order.nearestProjectDescriptionN.toString(),
order.projectName.trim().toString(),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56), style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56),
), ),
), ),
@ -176,11 +178,11 @@ class OrdersLogDetailsPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( Text(
DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.createdOn)), DateUtil.getDayMonthYearDateFormatted(DateTime.tryParse(order.created)),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10), style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
), ),
SizedBox(height: 12), SizedBox(height: 12),
if (order.status == 1 || order.status == 2) if (order.statusId == 1 || order.statusId == 2)
InkWell( InkWell(
onTap: () { onTap: () {
showConfirmMessage(model, order); showConfirmMessage(model, order);

@ -36,6 +36,7 @@ class NewEReferralStepOnePage extends StatefulWidget {
class _NewEReferralStepOnePageState extends State<NewEReferralStepOnePage> { class _NewEReferralStepOnePageState extends State<NewEReferralStepOnePage> {
TextEditingController _nameTextController = TextEditingController(); TextEditingController _nameTextController = TextEditingController();
TextEditingController _requesterRelationTextController = TextEditingController();
GetAllRelationshipTypeResponseModel _selectedRelation; GetAllRelationshipTypeResponseModel _selectedRelation;
String email; String email;
@ -166,22 +167,26 @@ class _NewEReferralStepOnePageState extends State<NewEReferralStepOnePage> {
), ),
), ),
), ),
SizedBox(
height: 12,
),
if (_selectedRelation != null && _selectedRelation.iD == 5)
inputWidget(TranslationBase.of(context).requesterRelationship, "", _requesterRelationTextController, isInputTypeNum: false),
], ],
), ),
), ),
), ),
), ),
Card( Container(
margin: EdgeInsets.zero, margin: EdgeInsets.zero,
shape: cardRadius(0), decoration: cardRadius(0),
elevation: 20,
child: Container( child: Container(
// color: Theme.of(context).scaffoldBackgroundColor, // color: Theme.of(context).scaffoldBackgroundColor,
padding: EdgeInsets.all(12), padding: EdgeInsets.all(12),
width: double.infinity, width: double.infinity,
child: DefaultButton( child: DefaultButton(
TranslationBase.of(context).next, TranslationBase.of(context).next,
(_nameTextController.text.isEmpty || _selectedRelation == null || mobileNo.isEmpty) (_nameTextController.text.isEmpty || _selectedRelation == null || mobileNo.isEmpty || (_selectedRelation.iD == 5 && _requesterRelationTextController.text.isEmpty))
? null ? null
: () async { : () async {
Future.delayed(new Duration(milliseconds: 300)).then((value) async { Future.delayed(new Duration(milliseconds: 300)).then((value) async {
@ -223,7 +228,8 @@ class _NewEReferralStepOnePageState extends State<NewEReferralStepOnePage> {
Navigator.of(context).pop(); Navigator.of(context).pop();
widget.changePageViewIndex(1); widget.changePageViewIndex(1);
widget.createEReferralRequestModel.requesterName = _nameTextController.text; widget.createEReferralRequestModel.requesterName = _nameTextController.text;
widget.createEReferralRequestModel.requesterContactNo = _selectedCountry['code'].toString().substring(1) + mobileNo; widget.createEReferralRequestModel.requesterContactNo = _selectedCountry['code'].toString() + mobileNo;
widget.createEReferralRequestModel.otherRelationship = _requesterRelationTextController.text;
widget.createEReferralRequestModel.requesterRelationship = _selectedRelation.iD; widget.createEReferralRequestModel.requesterRelationship = _selectedRelation.iD;
} }
}); });

@ -7,11 +7,11 @@ import 'package:diplomaticquarterapp/core/model/hospitals/hospitals_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/all_habib_medical_services/e_referral_view_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/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart'; import 'package:diplomaticquarterapp/models/FamilyFiles/GetAllSharedRecordByStatusResponse.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
@ -22,7 +22,6 @@ import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import '../dialogs/select_city_dialog.dart'; import '../dialogs/select_city_dialog.dart';
@ -111,11 +110,10 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
...List.generate( ...List.generate(
medicalReportImages.length, medicalReportImages.length,
(index) => Container( (index) => Container(
padding: EdgeInsets.only(top: 6,bottom: 6), padding: EdgeInsets.only(top: 6, bottom: 6),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
@ -154,7 +152,7 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
); );
}, },
child: Padding( child: Padding(
padding: EdgeInsets.only(top: 12,bottom: 12), padding: EdgeInsets.only(top: 12, bottom: 12),
child: Text( child: Text(
TranslationBase.of(context).selectAttachment, TranslationBase.of(context).selectAttachment,
style: TextStyle( style: TextStyle(
@ -257,10 +255,8 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
Padding( Padding(
padding: const EdgeInsets.all(5.0), padding: const EdgeInsets.all(5.0),
child: Text( child: Text(
TranslationBase.of(context).insuredPatientReferral, style: TextStyle( TranslationBase.of(context).insuredPatientReferral,
fontSize: 14, style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600),
fontWeight: FontWeight.w600
),
), ),
), ),
], ],
@ -297,11 +293,10 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
...List.generate( ...List.generate(
insuredPatientImages.length, insuredPatientImages.length,
(index) => Container( (index) => Container(
padding: EdgeInsets.only(top: 6,bottom: 6), padding: EdgeInsets.only(top: 6, bottom: 6),
child: Row( child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[ children: <Widget>[
@ -339,7 +334,7 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
}); });
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.only(top: 12,bottom: 12), padding: const EdgeInsets.only(top: 12, bottom: 12),
child: Text( child: Text(
TranslationBase.of(context).selectAttachment, TranslationBase.of(context).selectAttachment,
style: TextStyle( style: TextStyle(
@ -378,16 +373,23 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
this.widget.createEReferralRequestModel.insuranceCardAttachment = insuredPatientImages.length != 0 ? insuredPatientImages[0] : null; this.widget.createEReferralRequestModel.insuranceCardAttachment = insuredPatientImages.length != 0 ? insuredPatientImages[0] : null;
this.widget.createEReferralRequestModel.isInsuredPatient = isPatientInsured; this.widget.createEReferralRequestModel.isInsuredPatient = isPatientInsured;
// ToDo make the preferred Branch info dynamic // ToDo make the preferred Branch info dynamic
this.widget.createEReferralRequestModel.preferredBranchCode = num.tryParse(projectDropdownValue.split(",")[0]); this.widget.createEReferralRequestModel.preferredBranchCode = projectDropdownValue != null && projectDropdownValue.isNotEmpty ? num.tryParse(projectDropdownValue.split(",")[0]) : 0;
this.widget.createEReferralRequestModel.preferredBranchName = projectDropdownValue.split(",")[1]; this.widget.createEReferralRequestModel.preferredBranchName = projectDropdownValue != null && projectDropdownValue.isNotEmpty ? projectDropdownValue.split(",")[1] : "";
this.widget.createEReferralRequestModel.otherRelationship = ""; // this.widget.createEReferralRequestModel.otherRelationship = "";
await model.createEReferral(this.widget.createEReferralRequestModel); await model.createEReferral(this.widget.createEReferralRequestModel);
if (model.state == ViewState.ErrorLocal) { if (model.state == ViewState.ErrorLocal) {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
Utils.showErrorToast(model.error); Utils.showErrorToast(model.error);
} else { } else {
GifLoaderDialogUtils.hideDialog(context); GifLoaderDialogUtils.hideDialog(context);
AppToast.showSuccessToast(message: TranslationBase.of(context).ereferralSaveSuccess); // AppToast.showSuccessToast(message: TranslationBase.of(context).ereferralSaveSuccess);
showCMCConfirmDialog(
context,
model.referralNumber,
onClick: () {
Navigator.pop(context);
},
);
} }
}); });
}, },
@ -469,7 +471,6 @@ class _NewEReferralStepThreePageState extends State<NewEReferralStepThreePage> {
); );
} }
String getRelationName() { String getRelationName() {
if (_selectedCity != null) if (_selectedCity != null)
return _selectedCity.description; return _selectedCity.description;

@ -166,10 +166,9 @@ class _NewEReferralStepTowPageState extends State<NewEReferralStepTowPage> {
), ),
), ),
), ),
Card( Container(
margin: EdgeInsets.zero, margin: EdgeInsets.zero,
shape: cardRadius(0), decoration: cardRadius(0),
elevation: 20,
child: Container( child: Container(
width: double.infinity, width: double.infinity,
padding: EdgeInsets.all(12), padding: EdgeInsets.all(12),
@ -181,7 +180,7 @@ class _NewEReferralStepTowPageState extends State<NewEReferralStepTowPage> {
this.widget.changePageViewIndex(2); this.widget.changePageViewIndex(2);
this.widget.createEReferralRequestModel.identificationNo = int.parse(_patientIdentificationTextController.text); this.widget.createEReferralRequestModel.identificationNo = int.parse(_patientIdentificationTextController.text);
this.widget.createEReferralRequestModel.fullName = _patientNameTextController.text; this.widget.createEReferralRequestModel.fullName = _patientNameTextController.text;
this.widget.createEReferralRequestModel.patientMobileNumber = _selectedCountry['code'].toString().substring(1) + mobileNo; this.widget.createEReferralRequestModel.patientMobileNumber = _selectedCountry['code'].toString() + mobileNo;
this.widget.createEReferralRequestModel.cityCode = _selectedCity.iD.toString(); this.widget.createEReferralRequestModel.cityCode = _selectedCity.iD.toString();
this.widget.createEReferralRequestModel.cityName = _selectedCity.description; this.widget.createEReferralRequestModel.cityName = _selectedCity.description;
}, },

@ -29,11 +29,9 @@ class _ReferralDetailsState extends State<ReferralDetails> {
children: [ children: [
Container( Container(
width: double.infinity, width: double.infinity,
child: Card( child: Container(
elevation: 0.0, decoration: cardRadius(12),
shape: cardRadius(12), margin: EdgeInsets.only(left: 16, top: 8, right: 16, bottom: 16),
margin:
EdgeInsets.only(left: 16, top: 8, right: 16, bottom: 16),
child: Padding( child: Padding(
padding: const EdgeInsets.all(15.0), padding: const EdgeInsets.all(15.0),
child: Column( child: Column(
@ -41,13 +39,7 @@ class _ReferralDetailsState extends State<ReferralDetails> {
children: [ children: [
Container( Container(
margin: EdgeInsets.only(bottom: 10.0), margin: EdgeInsets.only(bottom: 10.0),
child: Text( child: Text(TranslationBase.of(context).ereferral, style: TextStyle(letterSpacing: -0.64, color: Colors.black, fontSize: 18.0, fontWeight: FontWeight.bold)),
TranslationBase.of(context).ereferral,
style: TextStyle(
letterSpacing: -0.64,
color: Colors.black,
fontSize: 18.0,
fontWeight: FontWeight.bold)),
), ),
Container( Container(
width: double.infinity, width: double.infinity,
@ -55,15 +47,10 @@ class _ReferralDetailsState extends State<ReferralDetails> {
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(TranslationBase.of(context).referralStatus),
TranslationBase.of(context).referralStatus),
), ),
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(projectViewModel.isArabic ? widget.referral.statusAr : widget.referral.status, isBold: true),
projectViewModel.isArabic
? widget.referral.statusAr
: widget.referral.status,
isBold: true),
) )
], ],
), ),
@ -75,13 +62,10 @@ class _ReferralDetailsState extends State<ReferralDetails> {
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(TranslationBase.of(context).patientName),
TranslationBase.of(context).patientName),
), ),
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(widget.referral.patientName, isBold: true),
widget.referral.patientName,
isBold: true),
) )
], ],
), ),
@ -93,13 +77,10 @@ class _ReferralDetailsState extends State<ReferralDetails> {
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(TranslationBase.of(context).referralNumber),
TranslationBase.of(context).referralNumber),
), ),
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(widget.referral.referralNumber.toString(), isBold: true),
widget.referral.referralNumber.toString(),
isBold: true),
) )
], ],
), ),
@ -111,15 +92,10 @@ class _ReferralDetailsState extends State<ReferralDetails> {
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(TranslationBase.of(context).referralDate),
TranslationBase.of(context).referralDate),
), ),
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDateNoTimeZone(widget.referral.referralDate)), isBold: true),
DateUtil.getDayMonthYearDateFormatted(
DateUtil.convertStringToDateNoTimeZone(
widget.referral.referralDate)),
isBold: true),
) )
], ],
), ),
@ -131,13 +107,10 @@ class _ReferralDetailsState extends State<ReferralDetails> {
child: Row( child: Row(
children: [ children: [
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(TranslationBase.of(context).hospital),
TranslationBase.of(context).hospital),
), ),
Expanded( Expanded(
child: _getNormalText( child: _getNormalText(widget.referral.preferredBranchName ?? "", isBold: true),
widget.referral.preferredBranchName,
isBold: true),
) )
], ],
), ),

@ -12,6 +12,8 @@ import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart'; import 'package:diplomaticquarterapp/widgets/data_display/medical/doctor_card.dart';
import 'package:diplomaticquarterapp/widgets/errors/app_embedded_error.dart'; import 'package:diplomaticquarterapp/widgets/errors/app_embedded_error.dart';
import 'package:diplomaticquarterapp/widgets/my_rich_text.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart'; import 'package:diplomaticquarterapp/widgets/mobile-no/mobile_no.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart'; import 'package:diplomaticquarterapp/widgets/others/network_base_view.dart';
@ -202,9 +204,8 @@ class _SearchForReferralsPageState extends State<SearchForReferralsPage> {
), ),
); );
}, },
child: Card( child: Container(
elevation: 0.0, decoration: cardRadius(12),
shape: cardRadius(12),
child: Padding( child: Padding(
padding: const EdgeInsets.all(12.0), padding: const EdgeInsets.all(12.0),
child: Row( child: Row(
@ -217,9 +218,9 @@ class _SearchForReferralsPageState extends State<SearchForReferralsPage> {
style: TextStyle(fontSize: 14.0, letterSpacing: -0.56, fontWeight: FontWeight.bold)), style: TextStyle(fontSize: 14.0, letterSpacing: -0.56, fontWeight: FontWeight.bold)),
Container( Container(
margin: EdgeInsets.only(top: 5.0), margin: EdgeInsets.only(top: 5.0),
child: myRichText(TranslationBase.of(context).patientName + ": ", model.allReferral[index].patientName, projectViewModel.isArabic)), child: MyRichText(TranslationBase.of(context).patientName + ": ", model.allReferral[index].patientName, projectViewModel.isArabic)),
myRichText(TranslationBase.of(context).hospital + ": ", model.allReferral[index].preferredBranchName, projectViewModel.isArabic), MyRichText(TranslationBase.of(context).hospital + ": ", model.allReferral[index].preferredBranchName, projectViewModel.isArabic),
myRichText(TranslationBase.of(context).referralDate + ": ", MyRichText(TranslationBase.of(context).referralDate + ": ",
DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDateNoTimeZone(model.allReferral[index].referralDate)), projectViewModel.isArabic), DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDateNoTimeZone(model.allReferral[index].referralDate)), projectViewModel.isArabic),
], ],
), ),

@ -7,9 +7,7 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/new_Home_health_care_step_tow_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/NewHomeHealthCare/new_Home_health_care_step_tow_page.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart'; import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -49,6 +47,7 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
Expanded( Expanded(
child: ListView.separated( child: ListView.separated(
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
shrinkWrap: true,
padding: EdgeInsets.only(left: 21, right: 21, top: 12, bottom: 12), padding: EdgeInsets.only(left: 21, right: 21, top: 12, bottom: 12),
itemBuilder: (context, index) { itemBuilder: (context, index) {
HHCGetAllServicesResponseModel service = widget.model.hhcAllServicesList[index]; HHCGetAllServicesResponseModel service = widget.model.hhcAllServicesList[index];
@ -58,19 +57,19 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
child: Row( child: Row(
children: [ children: [
Checkbox( Checkbox(
value: isServiceSelected(service.serviceID), value: isServiceSelected(num.tryParse(service.serviceID)),
activeColor: Color(0xffD02127), activeColor: Color(0xffD02127),
tristate: false, tristate: false,
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
onChanged: (bool newValue) { onChanged: (bool newValue) {
setState(() { setState(() {
if (!isServiceSelected(service.serviceID)) if (!isServiceSelected(num.tryParse(service.serviceID)))
widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.add(PatientERHHCInsertServicesList( widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.add(PatientERHHCInsertServicesList(
recordID: widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length, recordID: widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length,
serviceID: service.serviceID, serviceID: num.tryParse(service.serviceID),
serviceName: projectViewModel.isArabic ? service.descriptionN : service.description)); serviceName: projectViewModel.isArabic ? service.textN : service.text));
else else
removeSelected(service.serviceID); removeSelected(num.tryParse(service.serviceID));
// widget.patientERInsertPresOrderRequestModel // widget.patientERInsertPresOrderRequestModel
// isPatientInsured = newValue; // isPatientInsured = newValue;
}); });
@ -78,7 +77,7 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
SizedBox(width: 6), SizedBox(width: 6),
Expanded( Expanded(
child: Text( child: Text(
projectViewModel.isArabic ? service.descriptionN : service.description.toLowerCase()?.capitalize(), projectViewModel.isArabic ? service.textN : service.text.toLowerCase()?.capitalize(),
maxLines: 1, maxLines: 1,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64), style: TextStyle(fontSize: 16, fontWeight: FontWeight.w600, color: Color(0xff2E303A), letterSpacing: -0.64),
@ -96,7 +95,7 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
), ),
Container( Container(
color: Colors.white, color: Colors.white,
padding: EdgeInsets.only(top: 16, bottom: 16, right: 21, left: 21), padding: EdgeInsets.all(16),
child: DefaultButton( child: DefaultButton(
TranslationBase.of(context).next, TranslationBase.of(context).next,
(this.widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length == 0 || widget.model.state == ViewState.BusyLocal) (this.widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length == 0 || widget.model.state == ViewState.BusyLocal)
@ -104,9 +103,6 @@ class _NewHomeHealthCareStepOnePageState extends State<NewHomeHealthCareStepOneP
: () async { : () async {
widget.model.setState(ViewState.Busy); widget.model.setState(ViewState.Busy);
await widget.model.getCustomerInfo(); await widget.model.getCustomerInfo();
// if (widget.model.state == ViewState.ErrorLocal) {
// Utils.showErrorToast();
// } else {
Navigator.push( Navigator.push(
context, context,
FadePage( FadePage(

@ -4,9 +4,13 @@ import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_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/viewModels/AlHabibMedicalService/home_health_care_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/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart'; import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/home_health_care_page.dart';
import 'package:diplomaticquarterapp/theme/colors.dart'; import 'package:diplomaticquarterapp/theme/colors.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
@ -15,8 +19,6 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/ComprehensiveMedicalCheckup/Dialog/confirm_dialog.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart';
class NewHomeHealthCareStepThreePage extends StatefulWidget { class NewHomeHealthCareStepThreePage extends StatefulWidget {
final PatientERInsertPresOrderRequestModel patientERInsertPresOrderRequestModel; final PatientERInsertPresOrderRequestModel patientERInsertPresOrderRequestModel;
@ -84,17 +86,23 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
)), )),
Container( Container(
decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(12)), decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.circular(12)),
padding: EdgeInsets.all(8), padding: EdgeInsets.all(12),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Texts(TranslationBase.of(context).selectedLocation, fontWeight: FontWeight.bold), Text(
TranslationBase.of(context).selectedLocation,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: CustomColors.textColor,
letterSpacing: -0.56,
),
),
SizedBox( SizedBox(
height: 12, height: 12,
), ),
Padding( Container(
padding: const EdgeInsets.all(8.0),
child: Container(
height: 200, height: 200,
// child: GoogleMap( // child: GoogleMap(
// mapType: MapType.normal, // mapType: MapType.normal,
@ -104,6 +112,8 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
// _controller.complete(controller); // _controller.complete(controller);
// }, // },
// ), // ),
decoration: containerColorRadiusBorderWidth(Colors.transparent, 12,Colors.transparent,0.5),
clipBehavior: Clip.antiAlias,
child: Image.network( child: Image.network(
"https://maps.googleapis.com/maps/api/staticmap?center=" + "https://maps.googleapis.com/maps/api/staticmap?center=" +
widget.patientERInsertPresOrderRequestModel.latitude.toString() + widget.patientERInsertPresOrderRequestModel.latitude.toString() +
@ -118,11 +128,18 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
height: double.infinity, height: double.infinity,
fit: BoxFit.cover, fit: BoxFit.cover,
)), )),
),
SizedBox( SizedBox(
height: 12, height: 12,
), ),
Texts(TranslationBase.of(context).selectedService), Text(
TranslationBase.of(context).selectedService,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.w600,
color: CustomColors.textColor,
letterSpacing: -0.56,
),
),
...List.generate( ...List.generate(
widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length, widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList.length,
(index) => Container( (index) => Container(
@ -138,13 +155,23 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
), ),
Row( Row(
children: [ children: [
Texts( Text(
(index + 1).toString() + '. ', (index + 1).toString() + '. ',
fontSize: 15, style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w600,
color: CustomColors.black,
letterSpacing: -0.48,
), ),
Texts( ),
Text(
widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList[index].serviceName, widget.patientERInsertPresOrderRequestModel.patientERHHCInsertServicesList[index].serviceName,
fontSize: 15, style: TextStyle(
fontSize: 12,
fontWeight: FontWeight.w600,
color: CustomColors.black,
letterSpacing: -0.48,
),
), ),
], ],
) )
@ -173,6 +200,7 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
widget.model.setState(ViewState.Busy); widget.model.setState(ViewState.Busy);
widget.model.insertPresPresOrder(order: widget.patientERInsertPresOrderRequestModel).then((value) { widget.model.insertPresPresOrder(order: widget.patientERInsertPresOrderRequestModel).then((value) {
widget.model.setState(ViewState.Idle); widget.model.setState(ViewState.Idle);
if (widget.model.state != ViewState.ErrorLocal) {
if (widget.model.orderId != null) { if (widget.model.orderId != null) {
showCMCConfirmDialog( showCMCConfirmDialog(
context, context,
@ -183,6 +211,9 @@ class _NewHomeHealthCareStepThreePageState extends State<NewHomeHealthCareStepTh
}, },
); );
} }
} else {
AppToast.showErrorToast(message: widget.model.error);
}
}); });
}, },
color: CustomColors.green, color: CustomColors.green,

@ -141,10 +141,9 @@ class _NewHomeHealthCareStepTowPageState extends State<NewHomeHealthCareStepTowP
body: Column( body: Column(
children: [ children: [
if (widget.model.addressesList.isNotEmpty) if (widget.model.addressesList.isNotEmpty)
Card( Container(
margin: EdgeInsets.only(left: 12, right: 12, bottom: 12, top: 12), margin: EdgeInsets.only(left: 12, right: 12, bottom: 12, top: 12),
shape: cardRadius(12), decoration: cardRadius(12),
elevation: 3,
child: Container( child: Container(
child: InkWell( child: InkWell(
onTap: () => confirmSelectLocationDialog(widget.model.addressesList), onTap: () => confirmSelectLocationDialog(widget.model.addressesList),

@ -1,17 +1,15 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_order_detail_by_order_iD_response_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/patient_er_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/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_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/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/HomeHealthCare/Dialog/confirm_cancel_order_dialog.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart'; import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart'; import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils.dart'; import 'package:diplomaticquarterapp/uitl/utils.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart'; import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/ConfirmWithMessageDialog.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart'; import 'package:geolocator/geolocator.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -66,14 +64,14 @@ class _NewHomeHealthCarePageState extends State<NewHomeHealthCarePage> with Tick
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
void showConfirmMessage(HomeHealthCareViewModel model, GetOrderDetailByOrderIDResponseModel order) { void showConfirmMessage(HomeHealthCareViewModel model, GetCMCAllOrdersResponseModel order) {
showDialog( showDialog(
context: context, context: context,
child: ConfirmCancelOrderDialog( child: ConfirmWithMessageDialog(
model: model, message: TranslationBase.of(context).cancelOrderMsg,
onTap: () async { onTap: () async {
model.setState(ViewState.Busy); model.setState(ViewState.Busy);
UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.presOrderID, rejectionReason: "", presOrderStatus: 4, editedBy: 3); UpdatePresOrderRequestModel updatePresOrderRequestModel = UpdatePresOrderRequestModel(presOrderID: order.iD, rejectionReason: "", presOrderStatus: 4, editedBy: 3);
await model.updateHHCPresOrder(updatePresOrderRequestModel); await model.updateHHCPresOrder(updatePresOrderRequestModel);
if (model.state == ViewState.ErrorLocal) { if (model.state == ViewState.ErrorLocal) {
@ -147,7 +145,7 @@ class _NewHomeHealthCarePageState extends State<NewHomeHealthCarePage> with Tick
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Text(
(projectViewModel.isArabic ? widget.model.pendingOrder.descriptionN : widget.model.pendingOrder.description), widget.model.pendingOrder.statusText,
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xffCC9B14), letterSpacing: -0.4, height: 16 / 10), style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xffCC9B14), letterSpacing: -0.4, height: 16 / 10),
), ),
SizedBox(height: 6), SizedBox(height: 6),
@ -188,14 +186,14 @@ class _NewHomeHealthCarePageState extends State<NewHomeHealthCarePage> with Tick
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( Text(
DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(widget.model.pendingOrder.createdOn)), DateUtil.getDayMonthYearDateFormatted(DateTime.tryParse(widget.model.pendingOrder.created)),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10), style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
), ),
SizedBox(height: 12), SizedBox(height: 12),
if (widget.model.pendingOrder.status == 1 || widget.model.pendingOrder.status == 2) if (widget.model.pendingOrder.statusId == 1 || widget.model.pendingOrder.statusId == 2)
InkWell( InkWell(
onTap: () { onTap: () {
showConfirmMessage(widget.model, widget.model.hhcAllOrderDetail[0]); showConfirmMessage(widget.model, widget.model.pendingOrder);
}, },
child: Container( child: Container(
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14), padding: EdgeInsets.symmetric(vertical: 8, horizontal: 14),

@ -1,4 +1,5 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart'; import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/ComprehensiveMedicalCheckup/GetCMCAllOrdersResponseModel.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hhc_all_pres_orders_response_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/get_hhc_all_pres_orders_response_model.dart';
import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart'; import 'package:diplomaticquarterapp/core/model/AlHabibMedicalService/HomeHealthCare/update_pres_oreder_request_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/AlHabibMedicalService/home_health_care_view_model.dart';
@ -24,7 +25,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
void showConfirmMessage(HomeHealthCareViewModel model, GetHHCAllPresOrdersResponseModel order) { void showConfirmMessage(HomeHealthCareViewModel model, GetCMCAllOrdersResponseModel order) {
showDialog( showDialog(
context: context, context: context,
child: ConfirmWithMessageDialog( child: ConfirmWithMessageDialog(
@ -75,10 +76,10 @@ class OrdersLogDetailsPage extends StatelessWidget {
padding: EdgeInsets.all(21), padding: EdgeInsets.all(21),
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
itemBuilder: (context, index) { itemBuilder: (context, index) {
GetHHCAllPresOrdersResponseModel order = model.hhcAllPresOrders[index]; GetCMCAllOrdersResponseModel order = model.hhcAllPresOrders[index];
int status = order.status; int status = order.statusId;
String _statusDisp = projectViewModel.isArabic ? order.descriptionN : order.description; String _statusDisp = order.statusText;
Color _color; Color _color;
if (status == 1) { if (status == 1) {
//pending //pending
@ -89,7 +90,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
} else if (status == 3) { } else if (status == 3) {
//completed //completed
_color = Color(0xff359846); _color = Color(0xff359846);
} else if (status == 4) { } else if (status == 4 || status == 6 || status == 7) {
//cancel // Rejected //cancel // Rejected
_color = Color(0xffD02127); _color = Color(0xffD02127);
} }
@ -148,7 +149,7 @@ class OrdersLogDetailsPage extends StatelessWidget {
), ),
Expanded( Expanded(
child: Text( child: Text(
!projectViewModel.isArabic ? order.nearestProjectDescription.trim().toString() : order.nearestProjectDescriptionN.toString(), order.nearestProjectName.toString(),
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56), style: TextStyle(fontSize: 14, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.56),
), ),
), ),
@ -162,11 +163,11 @@ class OrdersLogDetailsPage extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
Text( Text(
DateUtil.getDayMonthYearDateFormatted(DateUtil.convertStringToDate(order.createdOn)), DateUtil.getDayMonthYearDateFormatted(DateTime.tryParse(order.created)),
style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10), style: TextStyle(fontSize: 12, fontWeight: FontWeight.w600, color: Color(0xff2B353E), letterSpacing: -0.4, height: 16 / 10),
), ),
SizedBox(height: 12), SizedBox(height: 12),
if (order.status == 1 || order.status == 2) if (order.statusId == 1 || order.statusId == 2)
InkWell( InkWell(
onTap: () { onTap: () {
showConfirmMessage(model, order); showConfirmMessage(model, order);

@ -15,6 +15,8 @@ import 'package:diplomaticquarterapp/pages/AlHabibMedicalService/parking_page.da
import 'package:diplomaticquarterapp/pages/Blood/blood_donation.dart'; import 'package:diplomaticquarterapp/pages/Blood/blood_donation.dart';
import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
import 'package:diplomaticquarterapp/pages/ChildVaccines/child_vaccines_page.dart'; import 'package:diplomaticquarterapp/pages/ChildVaccines/child_vaccines_page.dart';
import 'package:diplomaticquarterapp/pages/ChildVaccines/new/child_initial_page.dart';
import 'package:diplomaticquarterapp/pages/ChildVaccines/new/child_vaccine_page.dart';
import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart'; import 'package:diplomaticquarterapp/pages/ContactUs/findus/findus_page.dart';
import 'package:diplomaticquarterapp/pages/Covid-DriveThru/covid-drivethru-location.dart'; import 'package:diplomaticquarterapp/pages/Covid-DriveThru/covid-drivethru-location.dart';
import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart'; import 'package:diplomaticquarterapp/pages/DrawerPages/family/my-family.dart';
@ -277,7 +279,7 @@ class _AllHabibMedicalServiceState extends State<AllHabibMedicalService> {
ServicesContainer( ServicesContainer(
onTap: () => Navigator.push( onTap: () => Navigator.push(
context, context,
FadePage(page: ChildVaccinesPage()), FadePage(page: ChildInitialPage()),
), ),
imageLocation: 'assets/images/new-design/children_vaccines_icon.png', imageLocation: 'assets/images/new-design/children_vaccines_icon.png',
title: TranslationBase.of(context).childVaccine, title: TranslationBase.of(context).childVaccine,

@ -0,0 +1,238 @@
import 'package:diplomaticquarterapp/config/shared_pref_kay.dart';
import 'package:diplomaticquarterapp/core/service/weather_service.dart';
import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.dart';
import 'package:diplomaticquarterapp/models/hmg_services.dart';
import 'package:diplomaticquarterapp/pages/landing/widgets/services_view.dart';
import 'package:diplomaticquarterapp/services/authentication/auth_provider.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/location_util.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.dart';
import 'package:provider/provider.dart';
import 'health-weather/health-weather-indicator.dart';
class AllHabibMedicalSevicePage2 extends StatefulWidget {
@override
_AllHabibMedicalSevicePage2State createState() => _AllHabibMedicalSevicePage2State();
}
class _AllHabibMedicalSevicePage2State extends State<AllHabibMedicalSevicePage2> {
List<HmgServices> hmgServices = [];
LocationUtils locationUtils;
var weather = '--';
AppSharedPreferences sharedPref = AppSharedPreferences();
AuthenticatedUser authUser = new AuthenticatedUser();
AuthProvider authProvider = new AuthProvider();
WeatherService _weatherService = WeatherService();
double weatherNum = 30;
@override
void initState() {
// TODO: implement initState
super.initState();
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
locationUtils = new LocationUtils(isShowConfirmDialog: true, context: context);
WidgetsBinding.instance.addPostFrameCallback((_) => {Geolocator.getLastKnownPosition().then((value) => setLocation(value))});
});
// getPatientAppointmentHistory1();
// getFamilyFiles();
}
initialiseHmgServices(bool isLogin) {
hmgServices.clear();
hmgServices.add(new HmgServices(0, TranslationBase.of(context).liveCareTitle, TranslationBase.of(context).liveCareSubtitle, "assets/images/new/Live_Care.svg", isLogin));
hmgServices.add(new HmgServices(1, TranslationBase.of(context).covidTest, TranslationBase.of(context).driveThru, "assets/images/new/covid_test_drive_thru.svg", isLogin));
hmgServices.add(new HmgServices(2, TranslationBase.of(context).onlinePayment, TranslationBase.of(context).onlinePaymentSubtitle, "assets/images/new/paymentMethods.png", isLogin));
hmgServices.add(new HmgServices(3, TranslationBase.of(context).hhcHome, TranslationBase.of(context).healthCare, "assets/images/new/HHC.svg", isLogin));
hmgServices.add(new HmgServices(4, TranslationBase.of(context).cmcTitle, TranslationBase.of(context).cmcSubtitle, "assets/images/new/comprehensive_checkup.svg", isLogin));
hmgServices.add(new HmgServices(5, TranslationBase.of(context).emergencyTitle, TranslationBase.of(context).emergencySubtitle, "assets/images/new/emergency.svg", isLogin));
hmgServices.add(new HmgServices(6, TranslationBase.of(context).ereferralTitle, TranslationBase.of(context).ereferralSubtitle, "assets/images/new/E_Referral.svg", isLogin));
hmgServices.add(new HmgServices(7, TranslationBase.of(context).waterTitle, TranslationBase.of(context).waterSubtitle, "assets/images/new/h2o.svg", isLogin));
hmgServices.add(new HmgServices(8, TranslationBase.of(context).findUs, TranslationBase.of(context).reachUs, "assets/images/new/reach_us.svg", isLogin));
hmgServices.add(new HmgServices(9, TranslationBase.of(context).medicalFileTitle2, TranslationBase.of(context).medicalFileSubtitle, "assets/images/new/medical file.svg", isLogin));
hmgServices.add(new HmgServices(10, TranslationBase.of(context).book, TranslationBase.of(context).appointmentLabel, "assets/images/new/book appointment.svg", isLogin));
hmgServices.add(new HmgServices(11, TranslationBase.of(context).pharmacyTitle, TranslationBase.of(context).pharmacySubtitle, "assets/images/new/Pharmacy.svg", isLogin));
hmgServices.add(new HmgServices(12, TranslationBase.of(context).updateInsurance, TranslationBase.of(context).updateInsuranceSubtitle, "assets/images/new/update insurance card.svg", isLogin));
hmgServices.add(new HmgServices(13, TranslationBase.of(context).familyTitle, TranslationBase.of(context).familySubtitle, "assets/images/new/my family.svg", isLogin));
hmgServices.add(new HmgServices(14, TranslationBase.of(context).My_Child, TranslationBase.of(context).Vaccines, "assets/images/new/child vaccines.svg", isLogin));
hmgServices.add(new HmgServices(15, TranslationBase.of(context).Todo, TranslationBase.of(context).list, "assets/images/new/todo.svg", isLogin));
hmgServices.add(new HmgServices(16, TranslationBase.of(context).Blood, TranslationBase.of(context).Donation, "assets/images/new/blood donation.svg", isLogin));
hmgServices.add(new HmgServices(17, TranslationBase.of(context).healthCalculatorTitle, TranslationBase.of(context).healthCalculatorSubtitle, "assets/images/new/health calculator.svg", isLogin));
hmgServices.add(new HmgServices(18, TranslationBase.of(context).healthConvertersTitle, TranslationBase.of(context).healthConvertersSubtitle, "assets/images/new/health converter.svg", isLogin));
hmgServices.add(new HmgServices(19, TranslationBase.of(context).smartWatches.split(" ")[0], TranslationBase.of(context).smartWatches.split(" ")[1], "assets/images/new/smart watch.svg", isLogin));
hmgServices.add(new HmgServices(20, TranslationBase.of(context).parkingTitle2, TranslationBase.of(context).parkingSubtitle, "assets/images/new/parking details.svg", isLogin));
hmgServices.add(new HmgServices(21, TranslationBase.of(context).Virtual, TranslationBase.of(context).Tour, "assets/images/new/virtual tour.svg", isLogin));
hmgServices.add(new HmgServices(22, TranslationBase.of(context).latestNews.split(" ")[0], TranslationBase.of(context).latestNews.split(" ")[1], "assets/images/new/latest news.svg", isLogin));
}
@override
Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context);
initialiseHmgServices(false);
return AppScaffold(
isShowAppBar: true,
isShowDecPage: false,
showNewAppBar: true,
showNewAppBarTitle: true,
appBarTitle: TranslationBase.of(context).alhabiServices,
body: Container(
width: double.infinity,
height: double.infinity,
child: SingleChildScrollView(
child: Column(
children: [
AspectRatio(
aspectRatio: 1.9,
child: Container(
width: double.infinity,
height: double.infinity,
decoration: containerRadiusWithGradient(0,
color1: timeCalculator(6, 0, 10, 59)
? Color(0xFFB3E3FE)
: timeCalculator(11, 0, 15, 59)
? Color(0xFFFF9E7E)
: Color(0xFF2E6686),
color2: timeCalculator(6, 0, 10, 59)
? Color(0xFF9AC7FF)
: timeCalculator(11, 0, 15, 59)
? Color(0xFFFECB50)
: Color(0xFF122F48)),
child: Padding(
padding: const EdgeInsets.all(20.0),
child: Stack(
alignment: projectViewModel.isArabic ? Alignment.centerLeft : Alignment.centerRight,
children: [
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Directionality(
textDirection: TextDirection.ltr,
child: Text(
weather,
style: TextStyle(
fontSize: 24,
letterSpacing: -0.83,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
Text(
DateUtil.getMonthDayYearDateFormatted(new DateTime.now()),
style: TextStyle(
fontSize: 12,
letterSpacing: -0.60,
fontWeight: FontWeight.w600,
color: Colors.white,
),
),
mFlex(0),
Text(
TranslationBase.of(context).healthWeatherIndicators,
style: TextStyle(
fontSize: 12,
letterSpacing: -0.96,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
Text(
TranslationBase.of(context).healthTipsBasedOnCurrentWeather,
style: TextStyle(
fontSize: 10,
letterSpacing: -0.72,
fontWeight: FontWeight.w600,
color: Colors.white,
),
),
InkWell(
onTap: () {
Navigator.push(
context,
FadePage(
page: HealthWeatherIndicator(),
),
);
},
child: Padding(
padding: const EdgeInsets.only(top: 0, bottom: 0),
child: Text(
TranslationBase.of(context).moreDetails,
style: TextStyle(fontSize: 12, letterSpacing: -0.72, fontWeight: FontWeight.w600, color: Colors.white, decoration: TextDecoration.underline),
),
),
)
],
),
Image.asset(
"assets/images/Weather_ico.png",
color: Colors.white.withOpacity(0.5),
),
],
),
),
),
),
mHeight(16),
Padding(
padding: const EdgeInsets.only(
left: 16,
right: 16,
top: 0,
),
child: GridView.builder(
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 3, childAspectRatio: 2 / 2, crossAxisSpacing: 12, mainAxisSpacing: 12),
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: hmgServices.length,
padding: EdgeInsets.zero,
itemBuilder: (BuildContext context, int index) {
return ServicesView(hmgServices[index], index);
},
),
),
mHeight(16),
],
),
),
),
);
}
void setLocation(Position position) {
this.sharedPref.setDouble(USER_LAT, position.latitude ?? 0.0);
this.sharedPref.setDouble(USER_LONG, position.longitude ?? 0.0);
getAuthUser();
}
getAuthUser() async {
if (await this.sharedPref.getObject(USER_PROFILE) != null) {
var data = AuthenticatedUser.fromJson(await this.sharedPref.getObject(USER_PROFILE));
setState(() {
authUser = data;
});
}
var data = await this.sharedPref.getObject(WEATHER);
if (data == null) {
var d = await _weatherService.getWeatherData();
print(d);
weatherNum = d.temperature;
setState(() {
weather = d != null ? d.temperature.toString() + '\u2103' : '--';
});
} else {
setState(() {
weather = data != null ? data['Temperature'].toString() + '\u2103' : '--';
});
}
}
}

@ -6,6 +6,7 @@ import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart'; import 'package:diplomaticquarterapp/uitl/gif_loader_dialog_utils.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart';
import 'package:diplomaticquarterapp/widgets/dialogs/radio_selection_dialog.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -266,18 +267,19 @@ class _H2oSettingState extends State<H2oSetting> {
SizedBox(height: 12), SizedBox(height: 12),
_containerWidget( _containerWidget(
_commonDropDownView(TranslationBase.of(context).activityLevel, _activityLevelListEng[_selectedActiveLevel - 1], () { _commonDropDownView(TranslationBase.of(context).activityLevel, _activityLevelListEng[_selectedActiveLevel - 1], () {
List<RadioSelectionDialogModel> list = [
for (int i = 0; i < _activityLevelListEng.length; i++) RadioSelectionDialogModel(_activityLevelListEng[i], i + 1),
];
showDialog( showDialog(
context: context, context: context,
child: CommonRadioButtonDialog( child: RadioSelectionDialog(
list: _activityLevelListEng, listData: list,
title: TranslationBase.of(context).activityLevel, selectedIndex: _selectedActiveLevel,
onSelect: (index) { onValueSelected: (index) {
Navigator.pop(context); _selectedActiveLevel = index;
setState(() { setState(() {});
_selectedActiveLevel = index + 1;
});
}, },
selectedIndex: _selectedActiveLevel - 1,
), ),
); );
}), }),
@ -296,17 +298,19 @@ class _H2oSettingState extends State<H2oSetting> {
SizedBox(height: 12), SizedBox(height: 12),
_containerWidget( _containerWidget(
_commonDropDownView(TranslationBase.of(context).reminderTimesLabel, _remindedTimeListEng[_selectedRemindedTime], () { _commonDropDownView(TranslationBase.of(context).reminderTimesLabel, _remindedTimeListEng[_selectedRemindedTime], () {
List<RadioSelectionDialogModel> list = [
for (int i = 0; i < _remindedTimeListEng.length; i++) RadioSelectionDialogModel(_remindedTimeListEng[i], i),
];
showDialog( showDialog(
context: context, context: context,
child: CommonRadioButtonDialog( child: RadioSelectionDialog(
list: _remindedTimeListEng, listData: list,
onSelect: (index) { selectedIndex: _selectedRemindedTime,
Navigator.pop(context); onValueSelected: (index) {
setState(() {
_selectedRemindedTime = index; _selectedRemindedTime = index;
}); setState(() {});
}, },
selectedIndex: _selectedRemindedTime,
), ),
); );
}), }),
@ -493,36 +497,6 @@ class _H2oSettingState extends State<H2oSetting> {
), ),
], ],
); );
return Row(children: [
Expanded(
child: SizedBox(
height: 40,
child: RaisedButton(
color: checkParam ? Theme.of(context).appBarTheme.color : Colors.white,
child: Text(
rightText,
style: TextStyle(color: checkParam ? Colors.white : Theme.of(context).appBarTheme.color, fontWeight: FontWeight.w600),
),
onPressed: () => callBack(true),
),
),
),
SizedBox(width: 12),
Expanded(
child: SizedBox(
height: 40,
child: RaisedButton(
color: !checkParam ? Theme.of(context).appBarTheme.color : Colors.white,
child: Text(
leftText,
style: TextStyle(color: !checkParam ? Colors.white : Theme.of(context).appBarTheme.color, fontWeight: FontWeight.w600),
),
onPressed: () => callBack(false),
),
),
),
]);
} }
Widget _commonInputAndUnitRow(_title, _controller, double _minValue, double _maxValue, double _valueOrg, Function(String) onTextValueChange, Function(double) onValueChange, String unitTitle, Widget _commonInputAndUnitRow(_title, _controller, double _minValue, double _maxValue, double _valueOrg, Function(String) onTextValueChange, Function(double) onValueChange, String unitTitle,
@ -624,7 +598,7 @@ class _H2oSettingState extends State<H2oSetting> {
if (tag) { if (tag) {
AppToast.showSuccessToast(message: TranslationBase.of(context).success); AppToast.showSuccessToast(message: TranslationBase.of(context).success);
await prefs.setString(H2O_UNIT, _isUnitML ? "ml" : "l"); await prefs.setString(H2O_UNIT, _isUnitML ? "ml" : "l");
int _tempRemindTime = prefs.getInt(H2O_REMINDER) ?? _selectedRemindedTime; int _tempRemindTime = prefs.getInt(H2O_REMINDER) ?? 0;
if (_tempRemindTime != _selectedRemindedTime) { if (_tempRemindTime != _selectedRemindedTime) {
await prefs.setInt(H2O_REMINDER, _selectedRemindedTime); await prefs.setInt(H2O_REMINDER, _selectedRemindedTime);
_addReminderToCalender(_selectedRemindedTime); _addReminderToCalender(_selectedRemindedTime);

@ -224,7 +224,7 @@ class _TodayPageState extends State<TodayPage> {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Text( Text(
TranslationBase.of(context).amount, TranslationBase.of(context).amount_,
style: TextStyle( style: TextStyle(
fontSize: 12, fontSize: 12,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,

@ -3,8 +3,10 @@ import 'package:diplomaticquarterapp/core/viewModels/project_view_model.dart';
import 'package:diplomaticquarterapp/core/viewModels/weather/weather_view_model.dart'; import 'package:diplomaticquarterapp/core/viewModels/weather/weather_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart'; import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart'; import 'package:diplomaticquarterapp/uitl/app_shared_preferences.dart';
import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
import 'package:diplomaticquarterapp/uitl/location_util.dart'; import 'package:diplomaticquarterapp/uitl/location_util.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart'; import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/uitl/utils_new.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart'; import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart'; import 'package:diplomaticquarterapp/widgets/progress_indicator/app_circular_progress_Indeicator.dart';
import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart'; import 'package:diplomaticquarterapp/widgets/text/app_texts_widget.dart';
@ -23,12 +25,11 @@ class _HospitalsPageState extends State<HealthWeatherIndicator> {
AppSharedPreferences sharedPref = AppSharedPreferences(); AppSharedPreferences sharedPref = AppSharedPreferences();
LocationUtils locationUtils; LocationUtils locationUtils;
var weather = '--'; var weather = '--';
@override @override
void initState() { void initState() {
locationUtils = locationUtils = new LocationUtils(isShowConfirmDialog: true, context: context);
new LocationUtils(isShowConfirmDialog: true, context: context); WidgetsBinding.instance.addPostFrameCallback((_) => locationUtils.getCurrentLocation());
WidgetsBinding.instance
.addPostFrameCallback((_) => locationUtils.getCurrentLocation());
getWeather(); getWeather();
super.initState(); super.initState();
} }
@ -41,82 +42,92 @@ class _HospitalsPageState extends State<HealthWeatherIndicator> {
allowAny: true, allowAny: true,
builder: (_, mode, widget) => AppScaffold( builder: (_, mode, widget) => AppScaffold(
isShowDecPage: false, isShowDecPage: false,
showNewAppBar: true,
showNewAppBarTitle: true,
appBarTitle: TranslationBase.of(context).healthWeatherIndicators, appBarTitle: TranslationBase.of(context).healthWeatherIndicators,
isShowAppBar: true, isShowAppBar: true,
body: mode.weatherIndicatorData.length > 0 body: mode.weatherIndicatorData.length > 0
? SingleChildScrollView( ? SingleChildScrollView(
child: Column(children: [ child: Column(children: [
Container( AspectRatio(
margin: EdgeInsets.all(8), aspectRatio: 2.3,
child: Container(
width: double.infinity, width: double.infinity,
height: 150, height: double.infinity,
decoration: BoxDecoration( decoration: containerRadiusWithGradient(0,
image: DecorationImage( color1: timeCalculator(6, 0, 10, 59)
image: ? Color(0xFFB3E3FE)
ExactAssetImage('assets/images/Weather_img.png'), : timeCalculator(11, 0, 15, 59)
fit: BoxFit.cover, ? Color(0xFFFF9E7E)
), : Color(0xFF2E6686),
borderRadius: BorderRadius.circular(8.0)), color2: timeCalculator(6, 0, 10, 59)
? Color(0xFF9AC7FF)
: timeCalculator(11, 0, 15, 59)
? Color(0xFFFECB50)
: Color(0xFF122F48)),
child: Padding( child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10.0), padding: const EdgeInsets.all(20.0),
child: Row( child: Stack(
alignment: projectViewModel.isArabic ? Alignment.centerLeft : Alignment.centerRight,
children: [ children: [
Expanded( Column(
flex: 3,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
AppText( Directionality(
TranslationBase.of(context) textDirection: TextDirection.ltr,
.healthWeatherIndicators, child: Text(
weather,
style: TextStyle(
fontSize: 24,
letterSpacing: -0.83,
fontWeight: FontWeight.bold,
color: Colors.white, color: Colors.white,
),
),
),
Text(
DateUtil.getMonthDayYearDateFormatted(new DateTime.now()),
style: TextStyle(
fontSize: 12,
letterSpacing: -0.60,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
color: Colors.white,
),
),
mFlex(0),
Text(
TranslationBase.of(context).healthWeatherIndicators,
style: TextStyle(
fontSize: 12,
letterSpacing: -0.96,
fontWeight: FontWeight.bold,
color: Colors.white,
),
), ),
AppText( Text(
TranslationBase.of(context) TranslationBase.of(context).healthTipsBasedOnCurrentWeather,
.healthTipsBasedOnCurrentWeather, style: TextStyle(
fontSize: 10,
letterSpacing: -0.72,
fontWeight: FontWeight.w600,
color: Colors.white, color: Colors.white,
fontSize: 14, ),
), ),
], ],
)), ),
Expanded(
flex: 2,
child: InkWell(
onTap: () {},
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Row(
mainAxisAlignment:
MainAxisAlignment.center,
children: [
Image.asset( Image.asset(
'assets/images/Weather_ico.png', "assets/images/Weather_ico.png",
width: 60, color: Colors.white.withOpacity(0.5),
height: 60,
), ),
Directionality(
textDirection: TextDirection.ltr,
child: AppText(weather,
fontSize: 22,
color: Colors.white))
], ],
), ),
],
)),
)
],
), ),
), ),
), ),
Padding( Padding(
padding: EdgeInsets.all(15), padding: EdgeInsets.all(15),
child: AppText( child: AppText(
projectViewModel.isArabic projectViewModel.isArabic ? mode.weatherIndicatorData[0].cityNameN : mode.weatherIndicatorData[0].cityName,
? mode.weatherIndicatorData[0].cityNameN
: mode.weatherIndicatorData[0].cityName,
fontSize: 24, fontSize: 24,
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
)), )),

@ -22,6 +22,8 @@ class MyWebView extends StatelessWidget {
isShowAppBar: true, isShowAppBar: true,
appBarTitle: title, appBarTitle: title,
isShowDecPage: false, isShowDecPage: false,
showNewAppBar: true,
showNewAppBarTitle: true,
body: WebView( body: WebView(
initialUrl: selectedUrl, initialUrl: selectedUrl,
javascriptMode: JavascriptMode.unrestricted, javascriptMode: JavascriptMode.unrestricted,

@ -104,10 +104,9 @@ class _BookConfirmState extends State<BookConfirm> {
), ),
), ),
mHeight(20), mHeight(20),
Card( Container(
shape: cardRadius(12), decoration: cardRadius(12),
margin: EdgeInsets.zero, margin: EdgeInsets.zero,
elevation: 0,
child: Padding( child: Padding(
padding: const EdgeInsets.fromLTRB(16, 20, 16, 20), padding: const EdgeInsets.fromLTRB(16, 20, 16, 20),
child: Column( child: Column(
@ -138,9 +137,8 @@ class _BookConfirmState extends State<BookConfirm> {
), ),
), ),
mHeight(12), mHeight(12),
Card( Container(
shape: cardRadius(12), decoration: cardRadius(12),
elevation: 0,
margin: EdgeInsets.zero, margin: EdgeInsets.zero,
child: Padding( child: Padding(
padding: const EdgeInsets.fromLTRB(16, 20, 16, 20), padding: const EdgeInsets.fromLTRB(16, 20, 16, 20),
@ -194,6 +192,7 @@ class _BookConfirmState extends State<BookConfirm> {
child: RaisedButton( child: RaisedButton(
color: CustomColors.green, color: CustomColors.green,
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
onPressed: () { onPressed: () {

@ -143,6 +143,7 @@ class _BookSuccessState extends State<BookSuccess> {
child: RaisedButton( child: RaisedButton(
color: new Color(0xFF60686b), color: new Color(0xFF60686b),
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
onPressed: () { onPressed: () {
@ -177,6 +178,7 @@ class _BookSuccessState extends State<BookSuccess> {
child: RaisedButton( child: RaisedButton(
color: CustomColors.green, color: CustomColors.green,
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
onPressed: () { onPressed: () {
@ -197,6 +199,7 @@ class _BookSuccessState extends State<BookSuccess> {
child: RaisedButton( child: RaisedButton(
color: new Color(0xffc5272d), color: new Color(0xffc5272d),
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
onPressed: () { onPressed: () {
@ -232,6 +235,7 @@ class _BookSuccessState extends State<BookSuccess> {
child: RaisedButton( child: RaisedButton(
color: new Color(0xffc5272d), color: new Color(0xffc5272d),
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
onPressed: () { onPressed: () {
@ -252,6 +256,7 @@ class _BookSuccessState extends State<BookSuccess> {
child: RaisedButton( child: RaisedButton(
color: CustomColors.green, color: CustomColors.green,
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
onPressed: () { onPressed: () {

@ -70,7 +70,7 @@ class _DentalComplaintsState extends State<DentalComplaints> {
separatorBuilder: (BuildContext context, int index) { separatorBuilder: (BuildContext context, int index) {
return Padding( return Padding(
padding: const EdgeInsets.only(left: 14, right: 14), padding: const EdgeInsets.only(left: 14, right: 14),
child: mDivider(Colors.grey), child: mDivider(CustomColors.devider),
); );
}, },
) )

@ -85,6 +85,7 @@ class _DoctorProfileState extends State<DoctorProfile> with TickerProviderStateM
child: RaisedButton( child: RaisedButton(
color: CustomColors.accentColor, color: CustomColors.accentColor,
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFbcc2c4), disabledColor: new Color(0xFFbcc2c4),
onPressed: goToBookConfirm, onPressed: goToBookConfirm,

@ -14,7 +14,7 @@ class Search extends StatefulWidget {
final List clnicIds; final List clnicIds;
Function onBackClick; Function onBackClick;
Search({this.type = 0, this.clnicIds,this.onBackClick}); Search({this.type = 0, this.clnicIds, this.onBackClick});
@override @override
_SearchState createState() => _SearchState(); _SearchState createState() => _SearchState();
@ -68,7 +68,10 @@ class _SearchState extends State<Search> with TickerProviderStateMixin {
Expanded( Expanded(
child: TabBarView( child: TabBarView(
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
children: [SearchByClinic(clnicIds: widget.clnicIds), SearchByDoctor()], children: [
SearchByClinic(clnicIds: widget.clnicIds),
SearchByDoctor(),
],
controller: _tabController, controller: _tabController,
), ),
) )

@ -47,7 +47,7 @@ class _SearchResultsState extends State<SearchResults> {
bodyWidget: ListView.separated( bodyWidget: ListView.separated(
shrinkWrap: true, shrinkWrap: true,
physics: NeverScrollableScrollPhysics(), physics: NeverScrollableScrollPhysics(),
padding: EdgeInsets.only(bottom: 14, top: 14, left: 21, right: 21), padding: EdgeInsets.only(bottom: 10, top: 10, left: 21, right: 21),
itemBuilder: (context, _index) { itemBuilder: (context, _index) {
//widget.patientDoctorAppointmentListHospital[index].patientDoctorAppointmentList[_index].speciality = null; //widget.patientDoctorAppointmentListHospital[index].patientDoctorAppointmentList[_index].speciality = null;
return DoctorView( return DoctorView(

@ -62,7 +62,7 @@ class _BookReminderPageState extends State<BookReminderPage> {
isShowAppBar: true, isShowAppBar: true,
showNewAppBarTitle: true, showNewAppBarTitle: true,
showNewAppBar: true, showNewAppBar: true,
backgroundColor: CustomColors.appBackgroudGreyColor, backgroundColor: CustomColors.appBackgroudGrey2Color,
body: Column( body: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
@ -111,8 +111,8 @@ class _BookReminderPageState extends State<BookReminderPage> {
if (isSuccessShow) if (isSuccessShow)
Container( Container(
width: double.infinity, width: double.infinity,
child: Card( child: Container(
shape: cardRadius(12), decoration: cardRadius(12),
margin: EdgeInsets.all(10), margin: EdgeInsets.all(10),
child: Padding( child: Padding(
padding: const EdgeInsets.all(16.0), padding: const EdgeInsets.all(16.0),
@ -153,7 +153,7 @@ class _BookReminderPageState extends State<BookReminderPage> {
bottomSheet: Container( bottomSheet: Container(
color: CustomColors.appBackgroudGreyColor, color: CustomColors.appBackgroudGreyColor,
child: Container( child: Container(
color: CustomColors.appBackgroudGreyColor, color: CustomColors.white,
margin: EdgeInsets.all(14), margin: EdgeInsets.all(14),
height: 45.0, height: 45.0,
child: Row( child: Row(
@ -167,8 +167,9 @@ class _BookReminderPageState extends State<BookReminderPage> {
), ),
height: 45.0, height: 45.0,
child: RaisedButton( child: RaisedButton(
color: new Color(0xFF60686b), color: CustomColors.accentColor,
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: new Color(0xFFEAEAEA), disabledColor: new Color(0xFFEAEAEA),
onPressed: () { onPressed: () {
@ -187,8 +188,9 @@ class _BookReminderPageState extends State<BookReminderPage> {
), ),
height: 45.0, height: 45.0,
child: RaisedButton( child: RaisedButton(
color: new Color(0xffc5272d), color: CustomColors.green,
textColor: Colors.white, textColor: Colors.white,
elevation: 0,
disabledTextColor: Colors.white, disabledTextColor: Colors.white,
disabledColor: CustomColors.green, disabledColor: CustomColors.green,
onPressed: () async { onPressed: () async {

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

Loading…
Cancel
Save