コード例 #1
0
        public void GetOpenTablesResponse_OnValidResponse_ReturnObjects()
        {
            // arrange
            var openTablesEntries = new List <OpenTablesEntry>();
            var openTablesEntry   = new OpenTablesEntry();

            openTablesEntry.TableId = "1";
            openTablesEntry.Label   = "1";
            openTablesEntry.BillOutstandingAmount = 2000;
            openTablesEntries.Add(openTablesEntry);

            openTablesEntry         = new OpenTablesEntry();
            openTablesEntry.TableId = "2";
            openTablesEntry.Label   = "2";
            openTablesEntry.BillOutstandingAmount = 2500;
            openTablesEntries.Add(openTablesEntry);

            // act
            var getOpenTablesResponse = new GetOpenTablesResponse();

            getOpenTablesResponse.OpenTablesEntries = openTablesEntries;
            var m = getOpenTablesResponse.ToMessage("1234");
            var getOpenTablesArray = (JArray)m.Data["tables"];
            var getOpenTablesList  = getOpenTablesArray.ToObject <List <OpenTablesEntry> >();

            // assert
            Assert.Equal(openTablesEntries.Count, getOpenTablesList.Count);
            Assert.Equal(2, openTablesEntries.Count);
        }
コード例 #2
0
        private GetOpenTablesResponse PayAtTableGetOpenTables(string operatorId)
        {
            var  openTableList = new List <OpenTablesEntry>();
            bool isOpenTables  = false;

            if (tableToBillMapping.Count > 0)
            {
                foreach (var item in tableToBillMapping)
                {
                    if (billsStore[item.Value].OperatorId == operatorId && billsStore[item.Value].OutstandingAmount > 0)
                    {
                        if (!isOpenTables)
                        {
                            Console.WriteLine("#    Open Tables: ");
                            isOpenTables = true;
                        }

                        var openTablesItem = new OpenTablesEntry
                        {
                            TableId = item.Key,
                            Label   = billsStore[item.Value].Label,
                            BillOutstandingAmount = billsStore[item.Value].OutstandingAmount
                        };

                        Console.WriteLine("Table Id : " + item.Key + ", Bill Id: " + billsStore[item.Value].BillId + ", Outstanding Amount: $" + billsStore[item.Value].OutstandingAmount / 100);
                        openTableList.Add(openTablesItem);
                    }
                }
            }


            if (!isOpenTables)
            {
                Console.WriteLine("# No Open Tables.");
            }

            var openTableListJson = JsonConvert.SerializeObject(openTableList);

            return(new GetOpenTablesResponse
            {
                TableData = Convert.ToBase64String(Encoding.UTF8.GetBytes(openTableListJson))
            });
        }
コード例 #3
0
        public void AddToOpenTablesList_ValidOpenTablesList_SetObjects()
        {
            // arrange
            var getOpenTablesCom = new GetOpenTablesCom();
            var openTablesEntry  = new OpenTablesEntry();

            openTablesEntry.TableId = "1";
            openTablesEntry.Label   = "1";
            openTablesEntry.BillOutstandingAmount = 1000;

            // act
            getOpenTablesCom.AddToOpenTablesList(openTablesEntry);
            var openTablesEntries = (List <OpenTablesEntry>)SpiClientTestUtils.GetInstanceField(typeof(GetOpenTablesCom), getOpenTablesCom, "OpenTablesList");

            // assert
            Assert.Equal(openTablesEntries[0].TableId, openTablesEntry.TableId);
            Assert.Equal(openTablesEntries[0].Label, openTablesEntry.Label);
            Assert.Equal(openTablesEntries[0].BillOutstandingAmount, openTablesEntry.BillOutstandingAmount);
        }
コード例 #4
0
        public void GetOpenTables_OnValidResponse_IsSet()
        {
            // arrange
            var openTablesEntries = new List <OpenTablesEntry>();
            var openTablesEntry   = new OpenTablesEntry();

            openTablesEntry.TableId = "1";
            openTablesEntry.Label   = "1";
            openTablesEntry.BillOutstandingAmount = 2000;
            openTablesEntries.Add(openTablesEntry);

            // act
            var getOpenTablesResponse = new GetOpenTablesResponse();

            getOpenTablesResponse.OpenTablesEntries = openTablesEntries;
            var openTablesEntriesResponse = getOpenTablesResponse.GetOpenTables();

            // assert
            Assert.Equal(openTablesEntries.Count, openTablesEntriesResponse.Count);
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: metinavc1/spi-samples-cs
        private GetOpenTablesResponse PayAtTableGetOpenTables(string operatorId)
        {
            var  openTablesEntries = new List <OpenTablesEntry>();
            bool isOpenTables      = false;

            if (tableToBillMapping.Count > 0)
            {
                foreach (var item in tableToBillMapping)
                {
                    if (billsStore[item.Value].OperatorId == operatorId && billsStore[item.Value].OutstandingAmount > 0 && !billsStore[item.Value].Locked)
                    {
                        if (!isOpenTables)
                        {
                            Console.WriteLine("#    Open Tables: ");
                            isOpenTables = true;
                        }

                        var openTablesItem = new OpenTablesEntry
                        {
                            TableId = item.Key,
                            Label   = billsStore[item.Value].Label,
                            BillOutstandingAmount = billsStore[item.Value].OutstandingAmount
                        };

                        Console.WriteLine("Table Id : " + item.Key + ", Bill Id: " + billsStore[item.Value].BillId + ", Outstanding Amount: $" + billsStore[item.Value].OutstandingAmount / 100);
                        openTablesEntries.Add(openTablesItem);
                    }
                }
            }


            if (!isOpenTables)
            {
                // we cannot find Open Tables
            }

            return(new GetOpenTablesResponse
            {
                OpenTablesEntries = openTablesEntries
            });
        }