Esempio n. 1
0
        public async Task DisplayControlPanel(ControlPanelType option, ReceiptCutModeType cutMode, ReceiptPrintModeType printMode)
        {
            try
            {
                await _eft.WriteRequestAsync(new EFTControlPanelRequest()
                {
                    ControlPanelType = option,
                    ReceiptCutMode   = cutMode,
                    ReceiptPrintMode = printMode,
                    ReturnType       = ControlPanelReturnType.Immediately
                });


                bool waiting = true;
                do
                {
                    var timeoutToken = new CancellationTokenSource(new TimeSpan(0, 5, 0)).Token;                     // 5 minute timeout
                    var r            = await _eft.ReadResponseAsync(timeoutToken);

                    if (r is EFTDisplayResponse)
                    {
                        if (_data.Settings.DemoDialogOption != DemoDialogMode.Hide)
                        {
                            EFTDisplayResponse res = r as EFTDisplayResponse;
                            _data.DisplayDetails = res;
                            _data.DisplayDialog(true);
                        }
                    }
                    else if (r is EFTReceiptResponse || r is EFTReprintReceiptResponse)
                    {
                        string[] receiptText = (r is EFTReceiptResponse) ? (r as EFTReceiptResponse).ReceiptText : (r as EFTReprintReceiptResponse).ReceiptText;

                        StringBuilder receipt = new StringBuilder();
                        foreach (var s in receiptText)
                        {
                            if (s.Length > 0)
                            {
                                receipt.AppendLine(s);
                            }
                        }

                        if (!string.IsNullOrEmpty(receipt.ToString()))
                        {
                            _data.Receipt = receipt.ToString();
                        }
                    }
                    else
                    {
                        _data.LastTxnResult = DictionaryFromType(r);
                        _data.DisplayDialog(false);
                    }
                }while (waiting);
            }
            catch (Exception ex)
            {
                ShowError(ex.HResult.ToString(), ex.Message);
            }
        }
Esempio n. 2
0
 private void ChangePanel(ControlPanelType type)
 {
     _initializationPanel.SetActive(type == ControlPanelType.Initialization);
     _processPanel.SetActive(type == ControlPanelType.processing);
     _hideInvisibleMatchButtonText.text = ShowInvisibleMatchButtonText;
 }