public GenerateQRcodePage(string merchantAccount, string fullname)
        {
            InitializeComponent();
            GeneratePaymentViewModel account = new GeneratePaymentViewModel();

            account.AccountNumber = merchantAccount;
            account.FirstName     = fullname;
            var topupJson = JsonConvert.SerializeObject(account);

            (BindingContext as GenerateQRcodeViewModel).QrcodeData = topupJson;
            (BindingContext as GenerateQRcodeViewModel).FullName   = fullname;
        }
Beispiel #2
0
        private async void ScanToPay()
        {
            try
            {
                var cameraStatus = await CrossPermissions.Current.CheckPermissionStatusAsync <CameraPermission>();

                if (cameraStatus != PermissionStatus.Granted)
                {
                    cameraStatus = await CrossPermissions.Current.RequestPermissionAsync <CameraPermission>();
                }

                if (cameraStatus == PermissionStatus.Granted)
                {
                    var scanner = DependencyService.Get <IQrScanningService>();
                    var result  = await scanner.ScanAsync();

                    if (result != null)
                    {
                        GeneratePaymentViewModel QrCodeInfomation = JsonConvert.DeserializeObject <GeneratePaymentViewModel>(result);
                        if (CheckSum(QrCodeInfomation))
                        {
                            string  merchantName          = QrCodeInfomation.FirstName;
                            string  merchantAccountNumber = QrCodeInfomation.AccountNumber;
                            decimal amount    = QrCodeInfomation.Amount;
                            string  reference = QrCodeInfomation.TransactionReference;
                            PopupNavigation.PushAsync(new Views.ScanToPayOne(merchantName, merchantAccountNumber, amount, reference));
                        }
                    }
                }
                else
                {
                    await Application.Current.MainPage.DisplayAlert("Sorry", "Can not use QR Scanner with out Camera Permission", "Ok");
                }
            }
            catch (Exception ex)
            {
                ErrorViewModel errorViewModel = new ErrorViewModel("QR Code ไม่ถูกต้อง", (int)EW_Enumerations.EW_ErrorTypeEnum.Warning);
                PopupNavigation.Instance.PushAsync(new Error(errorViewModel));
            }
        }