Exemple #1
0
        public void CanEditOrder()
        {
            OperationsManager manager = RepoFactory.CreateOrderRepo("");

            Order order       = new Order();
            int   orderNumber = 1;

            order.OrderNumber            = orderNumber;
            order.CustomerName           = "Glencliff High School";
            order.State                  = manager.LookupOrder(orderNumber).Order.State;
            order.TaxRate                = manager.LookupOrder(orderNumber).Order.TaxRate;
            order.ProductType            = manager.LookupOrder(orderNumber).Order.ProductType;
            order.Area                   = manager.LookupOrder(orderNumber).Order.Area;
            order.CostPerSquareFoot      = manager.GetSingleProduct(order.ProductType).CostPerSquareFoot;
            order.LaborCostPerSquareFoot = manager.GetSingleProduct(order.ProductType).LaborCostPerSquareFoot;
            order.MaterialCost           = order.Area * order.CostPerSquareFoot;
            order.LaborCost              = order.Area * order.LaborCostPerSquareFoot;
            order.Tax   = (order.MaterialCost + order.LaborCost) * (order.TaxRate / 100);
            order.Total = order.MaterialCost + order.LaborCost + order.Tax;

            manager.EditOrder(order);

            Assert.AreNotEqual("North Oldham High School", manager.LoadListOfOrders("").Orders[1].CustomerName);
            Assert.AreEqual("Glencliff High School", manager.LoadListOfOrders("").Orders[1].CustomerName);
        }
Exemple #2
0
        private void EditOrder(OperationsManager manager, OrderListLookupResponse _orders, OrderLookupResponse response)
        {
            var selectedOrder = from o in _orders.Orders
                                where o.OrderNumber == _orderNumber
                                select o;

            if (selectedOrder == null)
            {
                Console.WriteLine();
                Console.WriteLine($"There is no order that matches given order number for {_orderDate.Substring(0, 2)}/{_orderDate.Substring(2, 2)}/{_orderDate.Substring(4, 4)}. " + ConsoleIO.anyKey);
                Console.ReadKey();
            }

            else
            {
                response.Order = selectedOrder.ElementAt(0);
                TakeInOrderEdits(manager, response);

                if (response.Success)
                {
                    manager.EditOrder(response.Order);

                    Console.WriteLine("\n" + response.Message + "\n");
                    Console.WriteLine($"Order number {_orderNumber} for {_orderDate.Substring(0, 2)}/{_orderDate.Substring(2, 2)}/{_orderDate.Substring(4, 4)} has been updated to the following: ");
                    ConsoleIO.DisplayOrderDetails(response.Order);
                    Console.Write("\n" + ConsoleIO.anyKey);
                    Console.ReadKey();
                }
                else
                {
                    Console.Write("\n" + response.Message + " " + ConsoleIO.anyKey);
                    Console.ReadKey();
                }
            }
        }