Esempio n. 1
0
 public void AddOrder()
 {
     _currentOrder = _clientDataAccess.AddOrder(_userContext.Id, _tableId,
                                                MenuItems.Select(item => new TupleOfintint {
         m_Item1 = item.MenuItem.Id, m_Item2 = item.Quantity
     })
                                                .ToArray());
     CurrentOrderState = OrderState.Placed;
 }
Esempio n. 2
0
        public bool Execute(Cart cart, OrderDetails orderDetails)
        {
            var menuItems = cart.Lines.Select(l => new TupleOfintint()
            {
                m_Item1 = l.MenuItem.Id, m_Item2 = l.Quantity
            }).ToList();

            var order = _clientDataAccess.AddOrder(orderDetails.ClientId, orderDetails.Date, menuItems);

            if (order != null)
            {
                return(true);
            }

            // Nie udało się wysłać zamówienie głównym sposobem, próba wysłania drogą alternatywną.
            return(_alternateProcessOrderCommand.Execute(cart, orderDetails));
        }
        public void ClientAddOrderTest()
        {
            ClientLogInTest();

            if (category1 == null)
            {
                AddNewCategoryTest();
            }
            if (table1 == null)
            {
                AddNewTableTest();
            }
            if (menuItem1 == null)
            {
                AddNewMenuItemTest();
            }

            var menuItems = new List <Tuple <int, int> >
            {
                new Tuple <int, int>(menuItem1.Id, menuItemQuantity1),
                new Tuple <int, int>(menuItem2.Id, menuItemQuantity2),
                new Tuple <int, int>(menuItem3.Id, menuItemQuantity3)
            };

            order1 = clientDataAccess.AddOrder(clientContext1.Id, table1.Id, menuItems);
            Assert.IsNotNull(order1);
            Assert.AreNotEqual(order1.Id, 0);
            Assert.AreEqual(order1.Client.Id, clientContext1.Id);
            //Assert.IsNotNull(order1.Waiter);
            //Assert.AreEqual(order1.Waiter.Id, waiterContext1.Id);
            Assert.AreEqual(order1.State, OrderState.Placed);
            Assert.IsNotNull(order1.Table);
            Assert.AreEqual(order1.Table.Id, table1.Id);
            Assert.IsNotNull(order1.MenuItems);
            Assert.AreEqual(order1.MenuItems.Count, 3);
            Assert.AreEqual(order1.MenuItems.ElementAt(0).MenuItem.Id, menuItem1.Id);
            Assert.AreEqual(order1.MenuItems.ElementAt(0).Quantity, menuItemQuantity1);
            Assert.AreEqual(order1.MenuItems.ElementAt(1).MenuItem.Id, menuItem2.Id);
            Assert.AreEqual(order1.MenuItems.ElementAt(1).Quantity, menuItemQuantity2);
            Assert.AreEqual(order1.MenuItems.ElementAt(2).MenuItem.Id, menuItem3.Id);
            Assert.AreEqual(order1.MenuItems.ElementAt(2).Quantity, menuItemQuantity3);
            Assert.IsTrue(order1.PlacingDate < DateTime.Now);
            Assert.AreEqual(order1.ClosingDate, DateTime.MaxValue);

            ClientLogOutTest();
        }