示例#1
0
        private void SpiActions()
        {
            if (SpiClient.CurrentFlow != SpiFlow.Pairing)
            {
                Invoke(new Action(() => this.Enabled = true));
                return;
            }

            // checking for confirmation code
            if (SpiClient.CurrentPairingFlowState.AwaitingCheckFromPos)
            {
                var result = MessageBox.Show($@"Confirm Pairing Code : {SpiClient.CurrentPairingFlowState.ConfirmationCode}", @"Please confirm pairing",
                                             MessageBoxButtons.YesNo);

                if (result == DialogResult.Yes)
                {
                    SpiClient.PairingConfirmCode();
                }
                else
                {
                    SpiClient.PairingCancel();
                }
            }

            // paired
            if (SpiClient.CurrentStatus == SpiStatus.PairedConnecting && SpiClient.CurrentFlow == SpiFlow.Idle)
            {
                Invoke(new Action(() => this.Enabled = true));
                btnPair.Text = "Unpair";
            }
        }
示例#2
0
        private void btnAction2_Click(object sender, EventArgs e)
        {
            switch (btnAction2.Text)
            {
            case ButtonCaption.CancelPairing:
                SpiClient.PairingCancel();
                break;

            case ButtonCaption.DeclineSignature:
                SpiClient.AcceptSignature(false);
                break;

            case ButtonCaption.Cancel:
                SpiClient.AckFlowEndedAndBackToIdle();
                listBoxFlow.Items.Clear();
                MainForm.SpiStatusAndActions();
                TransactionForm.Enabled = true;
                Hide();
                break;

            default:
                break;
            }
        }
示例#3
0
        private void btnAction1_Click(object sender, EventArgs e)
        {
            switch (btnAction1.Text)
            {
            case ButtonCaption.ConfirmCode:
                SpiClient.PairingConfirmCode();
                break;

            case ButtonCaption.CancelPairing:
                btnAction1.Enabled = false;
                SpiClient.PairingCancel();
                TransactionForm.lblStatus.BackColor = Color.Red;
                break;

            case ButtonCaption.Cancel:
                btnAction1.Enabled = false;
                SpiClient.CancelTransaction();
                break;

            case ButtonCaption.OK:
                SpiClient.AckFlowEndedAndBackToIdle();
                MainForm.SpiStatusAndActions();
                MainForm.Enabled        = true;
                TransactionForm.Enabled = true;
                Hide();
                break;

            case ButtonCaption.OKUnpaired:
                SpiClient.AckFlowEndedAndBackToIdle();
                MainForm.btnMain.Text = ButtonCaption.Pair;
                TransactionForm.lblStatus.BackColor       = Color.Red;
                MainForm.grpSecrets.Enabled               = true;
                MainForm.grpAutoAddressResolution.Enabled = true;
                MainForm.grpSettings.Enabled              = true;
                MainForm.cboxSecrets.Checked              = false;
                MainForm.Enabled = true;
                TransactionForm.Hide();
                MainForm.Show();
                Hide();
                break;

            case ButtonCaption.AcceptSignature:
                SpiClient.AcceptSignature(true);
                break;

            case ButtonCaption.Retry:
                SpiClient.AckFlowEndedAndBackToIdle();
                listBoxFlow.Items.Clear();
                switch (SpiClient.CurrentTxFlowState.Type)
                {
                case TransactionType.Purchase:
                    DoPurchase();
                    break;

                case TransactionType.Refund:
                    DoRefund();
                    break;

                case TransactionType.MOTO:
                    DoMoto();
                    break;

                case TransactionType.CashoutOnly:
                    DoCashout();
                    break;

                default:
                    lblFlowMessage.Text = "Retry by selecting from the options below";
                    MainForm.SpiStatusAndActions();
                    break;
                }
                break;

            case ButtonCaption.Purchase:
                DoPurchase();
                break;

            case ButtonCaption.Refund:
                DoRefund();
                break;

            case ButtonCaption.MOTO:
                DoMoto();
                break;

            case ButtonCaption.CashOut:
                DoCashout();
                break;

            case ButtonCaption.Recovery:
                DoRecovery();
                break;

            case ButtonCaption.LastTx:
                DoLastTx();
                break;

            case ButtonCaption.Set:
                DoHeaderFooter();
                break;

            case ButtonCaption.Print:
                SpiClient.PrintReport(txtAction1.Text.Trim(), SanitizePrintText(txtAction2.Text));
                break;

            default:
                break;
            }
        }