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; }
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(); }