コード例 #1
0
ファイル: Program.cs プロジェクト: metinavc1/spi-samples-cs
        private void Start()
        {
            LoadPersistedState();

            _spi = new Spi(_posId, _serialNumber, _eftposAddress, _spiSecrets);
            _spi.SetPosInfo("assembly", "2.6.3");
            _spi.StatusChanged           += OnSpiStatusChanged;
            _spi.PairingFlowStateChanged += OnPairingFlowStateChanged;
            _spi.SecretsChanged          += OnSecretsChanged;
            _spi.TxFlowStateChanged      += OnTxFlowStateChanged;

            _pat = _spi.EnablePayAtTable();
            EnablePayAtTableConfigs();
            _pat.GetBillStatus        = PayAtTableGetBillDetails;
            _pat.BillPaymentReceived  = PayAtTableBillPaymentReceived;
            _pat.BillPaymentFlowEnded = PayAtTableBillPaymentFlowEnded;
            _pat.GetOpenTables        = PayAtTableGetOpenTables;

            try
            {
                _spi.Start();
            }
            catch (Exception e)
            {
                Console.WriteLine($@"SPI check failed: {e.Message}", @"Please ensure you followed all the configuration steps on your machine");
            }

            Console.Clear();
            Console.WriteLine("# Welcome to TablePos !");
            PrintStatusAndActions();
            Console.Write("> ");
            AcceptUserInput();
        }
コード例 #2
0
        public void SpiPayAtTable_OnValidRequest_ReturnStatus()
        {
            // arrange
            var spi = new Spi();

            // act
            var spiPay = new SpiPayAtTable(spi);

            // assert
            Assert.NotNull(spiPay.Config);

            // act
            var spi2 = (Spi)SpiClientTestUtils.GetInstanceField(spiPay.GetType(), spiPay, "_spi");

            // assert
            Assert.Equal(spi.CurrentStatus, spi2.CurrentStatus);

            // arrange
            spiPay = new SpiPayAtTable();

            // act
            var spi3 = (Spi)SpiClientTestUtils.GetInstanceField(spiPay.GetType(), spiPay, "_spi");

            // assert
            Assert.Null(spi3);
        }
コード例 #3
0
        private void Start()
        {
            log.Info("Starting TablePos...");
            LoadPersistedState();

            _spi = new Spi(_posId, _eftposAddress, _spiSecrets);
            _spi.StatusChanged           += OnSpiStatusChanged;
            _spi.PairingFlowStateChanged += OnPairingFlowStateChanged;
            _spi.SecretsChanged          += OnSecretsChanged;
            _spi.TxFlowStateChanged      += OnTxFlowStateChanged;

            _pat = _spi.EnablePayAtTable();
            _pat.Config.LabelTableId = "Table Number";
            _pat.GetBillStatus       = PayAtTableGetBillDetails;
            _pat.BillPaymentReceived = PayAtTableBillPaymentReceived;

            _spi.Start();

            Console.Clear();
            Console.WriteLine("# Welcome to TablePos !");
            PrintStatusAndActions();
            Console.Write("> ");
            AcceptUserInput();
        }