diff --git a/Certs/Apple Pay UAT/Apple Pay UAT.zip b/Certs/Apple Pay UAT/Apple Pay UAT.zip new file mode 100644 index 00000000..fa08b99a Binary files /dev/null and b/Certs/Apple Pay UAT/Apple Pay UAT.zip differ diff --git a/Certs/Apple Pay UAT/ApplePayMerchantIdentityCertProd.certSigningRequest b/Certs/Apple Pay UAT/ApplePayMerchantIdentityCertProd.certSigningRequest new file mode 100644 index 00000000..ce03b2e3 --- /dev/null +++ b/Certs/Apple Pay UAT/ApplePayMerchantIdentityCertProd.certSigningRequest @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICajCCAVICAQAwJTEjMCEGCSqGSIb3DQEJARYUSGFyb29uNjEzOEBnbWFpbC5j +b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4E8y9zluekbsXX6+i +HLa0GrZE+r8rJsmcNyhiONDkpCTQuuidRb4PH+DWPpxwtndKpgzPemCXavaAPY8I +vSf5/aLTzClLvuX4OqNsb9Y8v8jlt7uYud6hPYK+VKZmIyynqeHldur0+RQScVY7 +Z4MbgxWYAXd0K49o1Vj8KcYP1G37XIaUwOf+Ib3az4abnrsou7w9PSHnKREPU1A8 +syBR56/Zcm3I9e+4nLyk2kjhkp6zR8KKW3s0teqHkW+V2nqd6eU+ZwOOmP3FVuwl +X+kfVabTc42Nb7toDaIvxEI+LlrNCUTCptE5uvY+vId0bwjcL88Ti9zshPETgLd8 +F7mHAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAMTsBtXA79BL7aJoe87iHwCaR +lyOoeG5vUVJhQxhkb7pXD6TT00H3DEn43MCD+Nu9KNq3ZAARTsbnoB1MzYQ+Qs0w +uIx3K+sKKqzo3tKY78cjpKYW68qSY8QHPH8z0PJ/a18Mz1VGjhV9sanRc57fkf8Y +SfzG+jKB+y9AeC4R5PAVkv/EScZKVyb8+hFNZRMBOfnME7QRWm51MlnzfgavB/Sr +SSb9KrKzA65UKM9fv0JhNftiFVwsMDA42RuwSE7rVqzoejb47sFNnEBprt4Jel+5 +FJt/C//NKspMlW2cdRbPek7adaBuZCvEO+b0TDnvMQXnJTO5K0LCzGb5MRuGUg== +-----END CERTIFICATE REQUEST----- diff --git a/Certs/Apple Pay UAT/ApplePayPaymentProcessingCertProd.certSigningRequest b/Certs/Apple Pay UAT/ApplePayPaymentProcessingCertProd.certSigningRequest new file mode 100644 index 00000000..168f3bc9 --- /dev/null +++ b/Certs/Apple Pay UAT/ApplePayPaymentProcessingCertProd.certSigningRequest @@ -0,0 +1,8 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIH6MIGfAgEAMD0xIzAhBgkqhkiG9w0BCQEWFEhhcm9vbjYxMzhAZ21haWwuY29t +MQkwBwYDVQQDDAAxCzAJBgNVBAYTAkFFMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD +QgAEiHGgNfm6LyD0k41YUNxGibQT5t2T9+QTVb6v5YrfCYslJIurcpeia8pzl/HJ +p1f4qxCR04cEYE3tcunyzkJd26AAMAwGCCqGSM49BAMCBQADSAAwRQIhAJWZqbmD +e9jyqPHW578V6xsf5Axgf64GBBFMpZ8+ZukDAiAYu0BbgeiU4RwCrezA71iH95yZ +ge9MoPuNHejpDKGeQQ== +-----END CERTIFICATE REQUEST----- diff --git a/Certs/Apple Pay UAT/Password.rtf b/Certs/Apple Pay UAT/Password.rtf new file mode 100644 index 00000000..aec586f3 --- /dev/null +++ b/Certs/Apple Pay UAT/Password.rtf @@ -0,0 +1,8 @@ +{\rtf1\ansi\ansicpg1252\cocoartf2758 +\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fswiss\fcharset0 Helvetica;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\paperw11900\paperh16840\margl1440\margr1440\vieww11520\viewh8400\viewkind0 +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 + +\f0\fs24 \cf0 HMG@54321} \ No newline at end of file diff --git a/Certs/Apple Pay UAT/apple-developer-merchantid-domain-association.txt b/Certs/Apple Pay UAT/apple-developer-merchantid-domain-association.txt new file mode 100644 index 00000000..da84c377 --- /dev/null +++ b/Certs/Apple Pay UAT/apple-developer-merchantid-domain-association.txt @@ -0,0 +1,74 @@ +MIIQaQYJKoZIhvcNAQcCoIIQWjCCEFYCAQExCzAJBgUrDgMCGgUAMHgGCSqGSIb3DQEHAaBrBGl7 +InRlYW1JZCI6IjNBMzU5RTg2WkYiLCJkb21haW4iOiJ1YXQuaG1nd2Vic2VydmljZXMuY29tIiwi +ZGF0ZUNyZWF0ZWQiOiIyMDI1LTA0LTA5LDA4OjUzOjAzIiwidmVyc2lvbiI6MX2ggg0_MIIENDCC +AxygAwIBAgIIPVn4N-rR2J8wDQYJKoZIhvcNAQELBQAwczEtMCsGA1UEAwwkQXBwbGUgaVBob25l +IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhvcml0 +eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMjQxMjE2MTkyMTAxWhcNMjkx +MjExMTgxMzU5WjBZMTUwMwYDVQQDDCxBcHBsZSBpUGhvbmUgT1MgUHJvdmlzaW9uaW5nIFByb2Zp +bGUgU2lnbmluZzETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDQkzGr-FMe360eL2T3yU3Xlr5fSz15ZFxD7inDQNL6LxygtrwR +c-_wIrDf3vn5zlXj9UIBtSNlQRI793xGfYkTRZVE7JaVYmaXkAMA2eCuxdmxnCAtluCF7W9r01LT +gzzUASMl6eXG1BHYeaoIwt0VWPXvipNLDUvuDbaHk3UREFXLDHgH2zdwRjuX-sTreCng9Ox442Ha +QFeAB7uInKXHSW3IJtOVH00hoo1oc4Me5llahZZVVLCVLiXcdw1hh4GNiaQDezwAdyyJalnTZETZ +dKVbirFSYV9uBDDU8-IQNAyVjEvhe9YrhYPyJzmNcAgj4hSI_5P0LW1MJuKLN4YtAgMBAAGjgeUw +geIwDAYDVR0TAQH_BAIwADAfBgNVHSMEGDAWgBRv8ZUYYlzgyPHF7WwYyeDTZFKYIDBABggrBgEF +BQcBAQQ0MDIwMAYIKwYBBQUHMAGGJGh0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDMtYWlwY2Ew +NzAvBgNVHR8EKDAmMCSgIqAghh5odHRwOi8vY3JsLmFwcGxlLmNvbS9haXBjYS5jcmwwHQYDVR0O +BBYEFLy1xem9_MvQntyUsB74IZRc_wkuMA4GA1UdDwEB_wQEAwIHgDAPBgkqhkiG92NkBjoEAgUA +MA0GCSqGSIb3DQEBCwUAA4IBAQAyNMLpd6pf4MbKovN3WeeKZ7jxUfP7sPaXv7ERo-GhPLsjkukS +k6JxHbzxmnFvpDxvNpK24EeCopPj57iPu98lRGICz8289_uNiglweGXCGU0ly3JiIeSpaPkQmi56 +Dyi-pgMG0VVhH698-JTUcQ7i0yVUi86t1WgHW70te8diRXm5qYdM-Bg7gK4QS3HYeCvmCq-a59lN +zOpbt6OXVWvsDaB4x8Cwz8vcEEwwkhNxlNav4OzJ6cmbziUy7hENIRcki_GVLiJiRkV_4NvXFlTB +uT7T2oq5Zfa0tCN_eF3ZcnZkY6cIVcfZt5TbI7_zk6fUBERDDcriVrIrlCikPXKHMIIERDCCAyyg +AwIBAgIIXGPK5Eo3U8kwDQYJKoZIhvcNAQELBQAwYjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFw +cGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQD +Ew1BcHBsZSBSb290IENBMB4XDTE3MDUxMDIxMjczMFoXDTMwMTIzMTAwMDAwMFowczEtMCsGA1UE +AwwkQXBwbGUgaVBob25lIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSAwHgYDVQQLDBdDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDJRWoBDz6DBIbH_L_cXvAege4XMHNjJi7ePXokzZM- +TzlHunW-88DS8Vmiqx_-CoY82S2aB_IOa7kpkRpfIgqL8XJYBa5MS0TFeaeAPLCI4IwMJ4RdGeWH +GTbL48V2t7D0QXJR9AVcg0uibaZRuPEm33terWUMxrKYUYy7fRtMwU7ICMfS7WQLtN0bjU9AfRuP +SJaSW_PQmH7ZvKQZDplhu0FdAcxbd3p9JNDc01P_w9zFlCy2Wk2OGCM5vdnGUj7R8vQliqEqh_3Y +DEYpUf_tF2yJJWuHv4ppFJ93n8MVt2iziEW9hOYGAkFkD60qKLgVyeCsp4q6cgQ0sniM-LKFAgMB +AAGjgewwgekwDwYDVR0TAQH_BAUwAwEB_zAfBgNVHSMEGDAWgBQr0GlHlHYJ_vRrjS5ApvdHTX8I +XjBEBggrBgEFBQcBAQQ4MDYwNAYIKwYBBQUHMAGGKGh0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3Nw +MDMtYXBwbGVyb290Y2EwLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL2NybC5hcHBsZS5jb20vcm9v +dC5jcmwwHQYDVR0OBBYEFG_xlRhiXODI8cXtbBjJ4NNkUpggMA4GA1UdDwEB_wQEAwIBBjAQBgoq +hkiG92NkBgISBAIFADANBgkqhkiG9w0BAQsFAAOCAQEAOs-smI2-kiAhCa2V87FcIfo2LVcgRHRz +ZJIIs5as922X-ls0OCfPEkbTPBHwB8mZkLHR6BEJpeOla2xjCD-eJfrVmZxM5uXOjrJNaOyLq6Oi +T4oRFT7cFCscxkS2b2fFW0-VKS2HXD_cgx53T-3aVKct5xOBwWPEVAsbSwpqKCII1DeSfH9nKF-v +PT-3rFkdODRkWu4zShlCRCnEyhhr4cFTLS30TcIV9jMyGHjxJm-KTeuUTKPo_w-zA4tl2usu2GVQ +n9yfit8xqIRU3FJSQdKyEx0xRkeIXz7uw_KMIwSV66yKPoJsBp8u44tDmmJbNA30mc8s7rpyhhkj +pfyOtTCCBLswggOjoAMCAQICAQIwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCVVMxEzARBgNV +BAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYw +FAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTA2MDQyNTIxNDAzNloXDTM1MDIwOTIxNDAzNlowYjEL +MAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMIIBIjANBgkqhkiG9w0BAQEF +AAOCAQ8AMIIBCgKCAQEA5JGpCR-R2x5HUOsF7V55hC3rNqJXTFXsixmJ3vlLbPUHqyIwAugYPvhQ +CdN_QaiY-dHKZpwkaxHQo7vkGyrDH5WeegykR4tb1BY3M8vED03OFGnRyRly9V0O1X9fm_IlA7pV +j01dDfFkNSMVSxVZHbOU9_acns9QusFYUGePCLQg98usLCBvcLY_ATCMt0PPD5098ytJKBrI_s61 +uQ7ZXhzWyz21Oq30Dw4AkguxIRYudNU8DdtiFqujcZJHU1XBry9Bs_j743DN5qNMRX4fTGtQlkGJ +xHRiCxCDQYczioGxMFjsWgQyjGizjx3eZXP_Z15lvEnYdp8zFGWhd5TJLQIDAQABo4IBejCCAXYw +DgYDVR0PAQH_BAQDAgEGMA8GA1UdEwEB_wQFMAMBAf8wHQYDVR0OBBYEFCvQaUeUdgn-9GuNLkCm +90dNfwheMB8GA1UdIwQYMBaAFCvQaUeUdgn-9GuNLkCm90dNfwheMIIBEQYDVR0gBIIBCDCCAQQw +ggEABgkqhkiG92NkBQEwgfIwKgYIKwYBBQUHAgEWHmh0dHBzOi8vd3d3LmFwcGxlLmNvbS9hcHBs +ZWNhLzCBwwYIKwYBBQUHAgIwgbYagbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFu +eSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFy +ZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2Vy +dGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjANBgkqhkiG9w0BAQUFAAOCAQEAXDaZTC14 +t-2Mm9zzd5vydtJ3ME_BH4WDhRuZPUc38qmbQI4s1LGQEti-9HOb7tJkD8t5TzTYoj75eP9ryAfs +fTmDi1Mg0zjEsb-aTwpr_yv8WacFCXwXQFYRHnTTt4sjO0ej1W8k4uvRt3DfD0XhJ8rxbXjt57UX +F6jcfiI1yiXV2Q_Wa9SiJCMR96Gsj3OBYMYbWwkvkrL4REjwYDieFfU9JmcgijNq9w2Cz97roy_5 +U2pbZMBjM3f3OgcsVuvaDyEO2rpzGU-12TZ_wYdV2aeZuTJC-9jVcZ5-oVK3G72TQiQSKscPHbZN +nF5jyEuAF1CqitXa5PzQCQc3sHV1ITGCAoUwggKBAgEBMH8wczEtMCsGA1UEAwwkQXBwbGUgaVBo +b25lIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSAwHgYDVQQLDBdDZXJ0aWZpY2F0aW9uIEF1dGhv +cml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMCCD1Z-Dfq0difMAkGBSsOAwIa +BQCggdwwGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMjUwNDA5MDg1 +MzAzWjAjBgkqhkiG9w0BCQQxFgQUAFaGI1aIk0pvFl6XU5VvRpeio9QwKQYJKoZIhvcNAQk0MRww +GjAJBgUrDgMCGgUAoQ0GCSqGSIb3DQEBAQUAMFIGCSqGSIb3DQEJDzFFMEMwCgYIKoZIhvcNAwcw +DgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMA0G +CSqGSIb3DQEBAQUABIIBAHdhBvowTL1e7Q-KFo3GAoa_c3I5iQH79ks6sZ9U4zu3xhpjrReRlA5d +ORAcMvUnUT0sjDj2ISsLKzUnDXNlcPE8fqfkMI_7LYlWvnNalVtrJmL6CUheBuTKMQ_Z_lZLLI4o +J46YUzCU9M4vpcgO6EpOQTNrqLx2sOs-V_my1p-Hig7UqdHNviX4gL4xjg7yUXNoevZ9ixPLXI4C +aPmg5q2NCECPxS7g36hJ_gHtRC6awR8qvK3-mSZPPfMzh0sHih76h2RWcv13UHSNygn3SF0MLhsS +5m9tf6r1sJOCAr2_ri-65d2GN1vhGXfoXQ0KFy9N2Cao3IsRs5unBb6pk5c diff --git a/Certs/Apple Pay UAT/apple_pay.cer b/Certs/Apple Pay UAT/apple_pay.cer new file mode 100644 index 00000000..e7103ace Binary files /dev/null and b/Certs/Apple Pay UAT/apple_pay.cer differ diff --git a/Certs/Apple Pay UAT/merchant_id.cer b/Certs/Apple Pay UAT/merchant_id.cer new file mode 100644 index 00000000..66bcbab8 Binary files /dev/null and b/Certs/Apple Pay UAT/merchant_id.cer differ diff --git a/lib/config/config.dart b/lib/config/config.dart index 3f6984b1..e634298a 100644 --- a/lib/config/config.dart +++ b/lib/config/config.dart @@ -22,12 +22,12 @@ var PACKAGES_ORDER_HISTORY = '/api/orders/items'; var PACKAGES_TAMARA_OPT = '/api/orders/paymentoptions/tamara'; // var BASE_URL = 'http://10.50.100.198:2018/'; // var BASE_URL = 'https://uat.hmgwebservices.com/'; -var BASE_URL = 'https://hmgwebservices.com/'; +// var BASE_URL = 'https://hmgwebservices.com/'; // var BASE_URL = 'https://orash.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidauat.cloudsolutions.com.sa/'; // var BASE_URL = 'https://vidamergeuat.cloudsolutions.com.sa/'; -// var BASE_URL = 'https://webservices.hmg.com/'; +var BASE_URL = 'https://webservices.hmg.com/'; // var BASE_URL = 'http://10.50.100.198:4422/'; diff --git a/lib/models/Clinics/EROnlineCheckInPaymentDetailsResponse.dart b/lib/models/Clinics/EROnlineCheckInPaymentDetailsResponse.dart index 884c2e0c..1d6694ad 100644 --- a/lib/models/Clinics/EROnlineCheckInPaymentDetailsResponse.dart +++ b/lib/models/Clinics/EROnlineCheckInPaymentDetailsResponse.dart @@ -20,7 +20,9 @@ class EROnlineCheckInPaymentDetailsResponse { dynamic setupID; int? statusCode; String? subPolicyNo; - + bool? isCash; + bool? isEligible; + bool? isInsured; EROnlineCheckInPaymentDetailsResponse( {this.cashPrice, this.cashPriceTax, @@ -42,7 +44,11 @@ class EROnlineCheckInPaymentDetailsResponse { this.procedureName, this.setupID, this.statusCode, - this.subPolicyNo}); + this.subPolicyNo, + this.isCash, + this.isEligible, + this.isInsured + }); EROnlineCheckInPaymentDetailsResponse.fromJson(Map json) { cashPrice = json['CashPrice']; @@ -66,6 +72,9 @@ class EROnlineCheckInPaymentDetailsResponse { setupID = json['SetupID']; statusCode = json['StatusCode']; subPolicyNo = json['SubPolicyNo']; + isCash = json['IsCash']; + isEligible = json['IsEligible']; + isInsured = json['IsInsured']; } Map toJson() { @@ -91,6 +100,9 @@ class EROnlineCheckInPaymentDetailsResponse { data['SetupID'] = this.setupID; data['StatusCode'] = this.statusCode; data['SubPolicyNo'] = this.subPolicyNo; + data['IsCash'] = this.isCash; + data['IsEligible'] = this.isEligible; + data['IsInsured'] = this.isInsured; return data; } } diff --git a/lib/pages/BookAppointment/components/SearchByClinic.dart b/lib/pages/BookAppointment/components/SearchByClinic.dart index 981bcf04..7e8f345f 100644 --- a/lib/pages/BookAppointment/components/SearchByClinic.dart +++ b/lib/pages/BookAppointment/components/SearchByClinic.dart @@ -10,6 +10,7 @@ import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.da import 'package:diplomaticquarterapp/models/Clinics/ClinicListResponse.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/DentalComplaints.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/LaserBooking.dart'; +import 'package:diplomaticquarterapp/pages/BookAppointment/SearchResults.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/dialog/clinic_list_dialog.dart'; import 'package:diplomaticquarterapp/pages/BookAppointment/search_result/SearchResultWithTab.dart'; import 'package:diplomaticquarterapp/pages/livecare/livecare_home.dart'; @@ -657,6 +658,37 @@ class _SearchByClinicState extends State { v, )); }); + if (nearestAppo) { + doctorsList.forEach((element) { + List doctorByHospital = + _patientDoctorAppointmentListHospital + .where((elementClinic) => + elementClinic.filterName == + element.getProjectCompleteName()) + .toList(); + + if (doctorByHospital.length != 0) { + _patientDoctorAppointmentListHospital[ + _patientDoctorAppointmentListHospital + .indexOf(doctorByHospital[0])] + .patientDoctorAppointmentList! + .add(element); + } else { + _patientDoctorAppointmentListHospital + .add(PatientDoctorAppointmentList( + filterName: element.getProjectCompleteName(), + distanceInKMs: element.projectDistanceInKiloMeters.toString(), + projectTopName: element.projectTopName, + projectBottomName: element.projectBottomName, + patientDoctorAppointment: element, + isHMC: element.isHMC, + )); + } + }); + navigateToSearchResultsForNearestAppointment( + context, doctorsList, _patientDoctorAppointmentListHospital); + return; + } regionHospitalList = await DoctorMapper.getMappedDoctor(doctorsList, isArabic: isArabic); @@ -701,6 +733,23 @@ class _SearchByClinicState extends State { }); } + navigateToSearchResultsForNearestAppointment( + context, + List docList, + List patientDoctorAppointmentListHospital) { + Navigator.push( + context, + FadePage( + page: SearchResults( + isLiveCareAppointment: false, + isDoctorNameSearch: true, + doctorsList: docList, + patientDoctorAppointmentListHospital: + patientDoctorAppointmentListHospital, + isDoctorSearchResult: true, + ))); + } + Future navigateToLaserClinic(BuildContext context) async { Navigator.push( context, diff --git a/lib/pages/BookAppointment/search_result/ResultByFacility.dart b/lib/pages/BookAppointment/search_result/ResultByFacility.dart index d9dd0a52..f1f7ba88 100644 --- a/lib/pages/BookAppointment/search_result/ResultByFacility.dart +++ b/lib/pages/BookAppointment/search_result/ResultByFacility.dart @@ -22,38 +22,48 @@ class ResultByFacility extends StatelessWidget { Widget build(BuildContext context) { return Column( children: [ - InkWell( - onTap: () { - if (patientDoctorAppointmentListHospital - .registeredDoctorMap?[selectedRegion]?.hmgSize == - 0) return; - onFacilitySelected(false); - }, - child: HospitalTitle( - iconUrl: 'assets/images/svg/HMG.svg', - title: TranslationBase.of(context).hmgHospital, - isHMC: false, - itemCount: - "${patientDoctorAppointmentListHospital.registeredDoctorMap?[selectedRegion]?.hmgSize ?? 0}", - nearest: patientDoctorAppointmentListHospital - .registeredDoctorMap?[selectedRegion]?.hmgDistance), + Visibility( + visible: patientDoctorAppointmentListHospital + .registeredDoctorMap?[selectedRegion]?.hmgSize != + 0, + child: InkWell( + onTap: () { + if (patientDoctorAppointmentListHospital + .registeredDoctorMap?[selectedRegion]?.hmgSize == + 0) return; + onFacilitySelected(false); + }, + child: HospitalTitle( + iconUrl: 'assets/images/svg/HMG.svg', + title: TranslationBase.of(context).hmgHospital, + isHMC: false, + itemCount: + "${patientDoctorAppointmentListHospital.registeredDoctorMap?[selectedRegion]?.hmgSize ?? 0}", + nearest: patientDoctorAppointmentListHospital + .registeredDoctorMap?[selectedRegion]?.hmgDistance), + ), ), SizedBox(height: 16,), - InkWell( - onTap: () { - if (patientDoctorAppointmentListHospital - .registeredDoctorMap?[selectedRegion]?.hmcSize == - 0) return; - onFacilitySelected(true); - }, - child: HospitalTitle( - iconUrl: 'assets/images/svg/HMC.svg', - title: TranslationBase.of(context).hmcHospital, - isHMC: true, - itemCount: - "${patientDoctorAppointmentListHospital.registeredDoctorMap?[selectedRegion]?.hmcSize ?? 0}", - nearest: patientDoctorAppointmentListHospital - .registeredDoctorMap?[selectedRegion]?.hmcDistance), + Visibility( + visible: patientDoctorAppointmentListHospital + .registeredDoctorMap?[selectedRegion]?.hmcSize != + 0, + child: InkWell( + onTap: () { + if (patientDoctorAppointmentListHospital + .registeredDoctorMap?[selectedRegion]?.hmcSize == + 0) return; + onFacilitySelected(true); + }, + child: HospitalTitle( + iconUrl: 'assets/images/svg/HMC.svg', + title: TranslationBase.of(context).hmcHospital, + isHMC: true, + itemCount: + "${patientDoctorAppointmentListHospital.registeredDoctorMap?[selectedRegion]?.hmcSize ?? 0}", + nearest: patientDoctorAppointmentListHospital + .registeredDoctorMap?[selectedRegion]?.hmcDistance), + ), ) ]); } diff --git a/lib/pages/BookAppointment/search_result/ResultByRegion.dart b/lib/pages/BookAppointment/search_result/ResultByRegion.dart index 920ae513..6eaa83d2 100644 --- a/lib/pages/BookAppointment/search_result/ResultByRegion.dart +++ b/lib/pages/BookAppointment/search_result/ResultByRegion.dart @@ -100,40 +100,54 @@ class RegionTitle extends StatelessWidget { ), Row( children: [ - SvgPicture.asset( - 'assets/images/svg/HMG.svg', - width: 10, - height: 10, + Visibility( + visible: hmgCount != "0", + child: Row( + children: [ + SvgPicture.asset( + 'assets/images/svg/HMG.svg', + width: 10, + height: 10, + ), + SizedBox( + width: 8, + ), + Text( + "${TranslationBase.of(context).HospitalString(num.parse(hmgCount)).replaceAll("@", hmgCount)}", + style: TextStyle( + fontSize: 14, + color: Color(0xFFD02127), + fontWeight: FontWeight.w600), + ), + ], + ), ), - SizedBox( - width: 8, + Visibility( + visible: hmcCount != "0" && hmgCount != "0", + child: Text(", ")), + Visibility( + visible: hmcCount != "0", + child: Row( + children: [ + SvgPicture.asset( + 'assets/images/svg/HMC.svg', + width: 10, + height: 10, + ), + SizedBox( + width: 8, + ), + Text( + "${TranslationBase.of(context).MedicalCenterString(num.parse(hmcCount)).replaceAll("@", hmcCount)}", + style: TextStyle( + fontSize: 14, + color: Color(0xFF40ACC9), + fontWeight: FontWeight.w600), + ), + ], + ), ), - Text( - "${TranslationBase.of(context).HospitalString(num.parse(hmgCount)).replaceAll("@", hmgCount)} ,", - style: TextStyle( - fontSize: 14, - color: Color(0xFFD02127), - fontWeight: FontWeight.w600), - ), - SizedBox( - width: 8, - ), - SvgPicture.asset( - 'assets/images/svg/HMC.svg', - width: 10, - height: 10, - ), - SizedBox( - width: 8, - ), - Text( - "${TranslationBase.of(context).MedicalCenterString(num.parse(hmcCount)).replaceAll("@", hmcCount)}", - style: TextStyle( - fontSize: 14, - color: Color(0xFF40ACC9), - fontWeight: FontWeight.w600), - ), - ], + ], ), ], ), diff --git a/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart b/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart index 1eeb5d9f..560d6d9b 100644 --- a/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart +++ b/lib/pages/ErService/EROnlineCheckIn/EROnlineCheckInPaymentDetails.dart @@ -8,6 +8,7 @@ import 'package:diplomaticquarterapp/models/Authentication/authenticated_user.da import 'package:diplomaticquarterapp/models/Clinics/EROnlineCheckInPaymentDetailsResponse.dart'; import 'package:diplomaticquarterapp/models/LiveCare/ApplePayInsertRequest.dart'; import 'package:diplomaticquarterapp/pages/ToDoList/payment_method_select.dart'; +import 'package:diplomaticquarterapp/pages/insurance/insurance_update_screen.dart'; import 'package:diplomaticquarterapp/pages/landing/landing_page.dart'; import 'package:diplomaticquarterapp/services/appointment_services/GetDoctorsList.dart'; import 'package:diplomaticquarterapp/services/clinic_services/get_clinic_service.dart'; @@ -26,6 +27,7 @@ import 'package:diplomaticquarterapp/widgets/buttons/defaultButton.dart'; import 'package:diplomaticquarterapp/widgets/dragable_sheet.dart'; import 'package:diplomaticquarterapp/widgets/in_app_browser/InAppBrowser.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:flutter_svg/flutter_svg.dart'; import 'package:provider/provider.dart'; @@ -279,8 +281,10 @@ class _EROnlineCheckInPaymentDetailsState extends State LandingPage()), + (Route route) => false, + ); + Navigator.push(context, FadePage(page: InsuranceUpdate())); + }, + color: Color(0xffEAA118), + textColor: Colors.white, + ), + ], + ) : SizedBox() ], - ), + )]), ) : Container(), ); diff --git a/lib/pages/login/confirm-login.dart b/lib/pages/login/confirm-login.dart index ee4208f4..5dfa3c49 100644 --- a/lib/pages/login/confirm-login.dart +++ b/lib/pages/login/confirm-login.dart @@ -711,9 +711,9 @@ class _ConfirmLogin extends State { checkIfUserAgreedBefore(CheckActivationCode result) { if (projectViewModel.havePrivilege(109)) { this.authService.checkIfUserAgreed().then((result) { - if (result['IsPatientAlreadyAgreed']) { - goToHome(); - } else { + // if (result['IsPatientAlreadyAgreed']) { + // goToHome(); + // } else { this.authService.getUserAgreementContent().then((result) { GifLoaderDialogUtils.hideDialog(AppGlobal.context); Navigator.pushAndRemoveUntil( @@ -724,6 +724,7 @@ class _ConfirmLogin extends State { authenticatedUserObject: authenticatedUserObject, appointmentRateViewModel: appointmentRateViewModel, selectedOption: selectedOption, + isArabic: projectViewModel.isArabic, ), ), (r) => false); @@ -731,7 +732,7 @@ class _ConfirmLogin extends State { GifLoaderDialogUtils.hideDialog(context); print(err); }); - } + // } }).catchError((err) { GifLoaderDialogUtils.hideDialog(context); print(err); diff --git a/lib/pages/login/user-login-agreement-page.dart b/lib/pages/login/user-login-agreement-page.dart index c21fa273..cdf72035 100644 --- a/lib/pages/login/user-login-agreement-page.dart +++ b/lib/pages/login/user-login-agreement-page.dart @@ -30,8 +30,9 @@ class UserLoginAgreementPage extends StatefulWidget { final AuthenticatedUserObject authenticatedUserObject; final AppointmentRateViewModel appointmentRateViewModel; final int selectedOption; + final isArabic; - UserLoginAgreementPage({required this.userAgreementText, required this.authenticatedUserObject, required this.appointmentRateViewModel, required this.selectedOption}); + UserLoginAgreementPage({required this.userAgreementText, required this.authenticatedUserObject, required this.appointmentRateViewModel, required this.selectedOption, required this.isArabic}); @override State createState() => _UserLoginAgreementPageState(); @@ -72,7 +73,7 @@ class _UserLoginAgreementPageState extends State { }, ), ) - ..loadRequest(Uri.parse("https://hmg.com/en/Pages/Privacy.aspx")); + ..loadRequest(Uri.parse(widget.isArabic ? "https://hmg.com/ar/Pages/Privacy.aspx" : "https://hmg.com/en/Pages/Privacy.aspx")); } @override diff --git a/lib/services/payfort_services/payfort_service.dart b/lib/services/payfort_services/payfort_service.dart index 5dedd006..9b2c4597 100644 --- a/lib/services/payfort_services/payfort_service.dart +++ b/lib/services/payfort_services/payfort_service.dart @@ -168,6 +168,7 @@ class PayfortService extends BaseService { /// Step 4: Processing Payment [Don't multiply with 100] /// Amount value send always round ex. [100] not [100.00, 100.21] FortRequest request = FortRequest( + command: FortCommand.purchase, amount: orderAmount!, customerName: customerName!, customerEmail: customerEmail!, diff --git a/lib/widgets/charts/show_chart.dart b/lib/widgets/charts/show_chart.dart index 3128734f..e07dfeee 100644 --- a/lib/widgets/charts/show_chart.dart +++ b/lib/widgets/charts/show_chart.dart @@ -111,6 +111,7 @@ class ShowChart extends StatelessWidget { bottomTitles: AxisTitles( sideTitles: SideTitles( showTitles: true, + getTitlesWidget: (value, title) { TextStyle style = TextStyle( color: Colors.black, @@ -119,37 +120,43 @@ class ShowChart extends StatelessWidget { if (isWeeklyOrMonthly) { return Text( - '${timeSeries![value.toInt()].time.day}/ ${timeSeries![value.toInt()].time.month}', + '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year.toString().substring(2)}', style: style, ); } else { if (timeSeries!.length < 15) { if (timeSeries!.length > value.toInt()) { return Text( - '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year}', + '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year.toString().substring(2)}', style: style, ); } else - return SizedBox(); + return Text( + '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year.toString().substring(2)}', + style: style, + ); } else { if (value.toInt() == 0) return Text( - '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year}', + '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year.toString().substring(2)}', style: style, ); if (value.toInt() == timeSeries!.length - 1) return Text( - '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year}', + '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year.toString().substring(2)}', style: style, ); if (xAxixs.contains(value.toInt())) { return Text( - '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year}', + '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year.toString().substring(2)}', style: style, ); } } - return SizedBox(); + return Text( + '${timeSeries![value.toInt()].time.month}/ ${timeSeries![value.toInt()].time.year.toString().substring(2)}', + style: style, + ); } }, diff --git a/lib/widgets/in_app_browser/InAppBrowser.dart b/lib/widgets/in_app_browser/InAppBrowser.dart index ee68f743..6f61ac8a 100644 --- a/lib/widgets/in_app_browser/InAppBrowser.dart +++ b/lib/widgets/in_app_browser/InAppBrowser.dart @@ -38,9 +38,9 @@ class MyInAppBrowser extends InAppBrowser { static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL LIVE // static String APPLE_PAY_PAYFORT_URL = 'https://hmgwebservices.com/PayFortWebLive/PayFortApi/MakeApplePayRequest'; // Payfort Payment Gateway URL UAT - // static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT + static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWeb/pages/SendPayFortRequest.aspx'; // Payfort Payment Gateway URL UAT - static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE + // static String SERVICE_URL = 'https://hmgwebservices.com/PayFortWebLive/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL LIVE // static String SERVICE_URL = 'https://uat.hmgwebservices.com/payfortforvidaplus/pages/SendPayFortRequest.aspx'; //Payfort Payment Gateway URL UAT VIDA PLUS diff --git a/pubspec.yaml b/pubspec.yaml index 1b86e24d..e6c2caca 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -173,9 +173,9 @@ dependencies: auto_size_text: ^3.0.0 equatable: ^2.0.3 wave: ^0.2.0 - sms_otp_auto_verify: ^2.2.0 + sms_otp_auto_verify: ^2.1.0 # flutter_ios_voip_kit: ^0.1.0 - google_api_availability: ^5.0.0 + google_api_availability: ^4.0.0 open_filex: ^4.3.2 path_provider: ^2.0.8 amazon_payfort: ^1.1.3