private void addTipOrTaxToSale(CoreSale coreSale)
        {
            CoreTip tip = new CoreTip();

            tip.tipType = TipType.FIXED_AMOUNT;
            tip.amount  = Math.Round(18m, 2, MidpointRounding.ToEven);
        }
        private void Payment_Click(object sender, RoutedEventArgs e)
        {
            CoreSale saleDevice = new CoreSale(Math.Round(2m, 2, MidpointRounding.ToEven));

            Terminal.Instance.ProcessSale(saleDevice);
            //OnRequestSetAmount(saleDevice);



            //if (Terminal.Instance.GetSettings() == null || Terminal.Instance.GetTerminalUrl().Trim().Equals(""))
            //{

            //    Dispatcher.Invoke(() => labelStatus.Text = "Selected Terminal is not valid.");

            //    return;
            //}
            //if ((Amount == 0) && !Terminal.Instance.IsDelayedAuthEnabled())
            //{
            //    Dispatcher.Invoke(() => labelStatus.Text = "Amount cannot be empty.");
            //    return;
            //}

            //CoreSale saleDevice;
            //if (Terminal.Instance.IsDelayedAuthEnabled())
            //{
            //    saleDevice = new CoreSale();
            //}
            //else
            //{
            //    saleDevice = new CoreSale(Math.Round(Amount, 2, MidpointRounding.ToEven));
            //}

            //if (Terminal.Instance.GetDevice() == DeviceEnum.IDTECH)
            //{
            //    //Dispatcher.Invoke(() => PaymentProcessingStatus.Text = "SWIPE_OR_INSERT_OR_TAP");

            //    saleDevice.coreTransactionInputMethod = CoreTransactionInputMethod.SWIPE_OR_INSERT_OR_TAP;
            //    saleDevice.emvType = CorePayments.CoreEmvType.STANDARD;

            //    //Process sale
            //    saleDevice.signatureCollection = SignatureCollection.AUTOMATIC;

            //    addTipOrTaxToSale(saleDevice);
            //    Terminal.Instance.ProcessSale(saleDevice);

            //    Dispatcher.Invoke(() => labelStatus.Text = "Processing sale");
            //}
        }
        public void OnRequestSetAmount(CoreSale coreSale)
        {
            //
            Terminal.Instance.IsDelayedAuthEnabled();
            coreSale.amount = 10;
            Terminal.Instance.SubmitAmount(coreSale, true);

            //Terminal.Instance.EnableDelayedAuth(20);
            //coreSale.amount = 2;
            //Terminal.Instance.SubmitAmount(coreSale, true);
            ////labelDetected.Text = "";
            //labelDetected.Text = "Submited Amout...";

            //coreSales = coreSale;
            // if (Terminal.Instance.IsDelayedAuthEnabled() == true)

            //if (coreSale.isDelayedAuthEnabled == true)
            //  {

            //Terminal.Instance.SubmitAmount(coreSales, true);
            //decimal amount = 0;
            //int i = 0;
            //while (amount == 0 && i < 3)
            //{
            //    try
            //    {
            //        amount = 5;
            //    }
            //    catch (Exception e)
            //    {
            //        i++;
            //        amount = 0;
            //    }
            //}
            //if (amount == 0)
            //{
            //    Terminal.Instance.CancelTransaction();

            //    return;
            //}
            //coreSale.amount = amount;
            //Terminal.Instance.SubmitAmount(new CoreSale(8), true);
            //   }
        }
 public void OnOfflineSaleRequest(CoreSale saleRequest)
 {
     throw new NotImplementedException();
 }