Beispiel #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);
        }
Beispiel #2
0
        private AddOrderResponse ConfirmAddOrder(OperationsManager manager, AddOrderResponse response)
        {
            bool finishAddProcess = false;

            do
            {
                Order newOrder = new Order();

                newOrder.OrderNumber            = manager.LoadListOfOrders(_orderDate).Orders.Count() + 1;
                newOrder.CustomerName           = _customerName;
                newOrder.State                  = _stateAbbreviation;
                newOrder.TaxRate                = manager.GetSingleState(_stateAbbreviation).TaxRate;
                newOrder.ProductType            = _productType;
                newOrder.Area                   = _area;
                newOrder.CostPerSquareFoot      = manager.GetSingleProduct(_productType).CostPerSquareFoot;
                newOrder.LaborCostPerSquareFoot = manager.GetSingleProduct(_productType).LaborCostPerSquareFoot;
                newOrder.MaterialCost           = newOrder.Area * newOrder.CostPerSquareFoot;
                newOrder.LaborCost              = newOrder.Area * newOrder.LaborCostPerSquareFoot;
                newOrder.Tax   = (newOrder.MaterialCost + newOrder.LaborCost) * (newOrder.TaxRate / 100);
                newOrder.Total = newOrder.MaterialCost + newOrder.LaborCost + newOrder.Tax;

                Console.Clear();
                Console.WriteLine(pageHeader);
                Console.WriteLine();
                Console.WriteLine("***New Order Details***");
                ConsoleIO.DisplayOrderDetails(newOrder);


                Console.Write("\nDo you want to add this order to file? (Y or N): ");
                string userInput = Console.ReadLine().ToUpper();

                if (userInput == "Y")
                {
                    response.Order = newOrder;

                    finishAddProcess = true;
                    response.Success = true;
                    response.Message = "Order has been saved to file!";
                }
                else if (userInput == "N")
                {
                    finishAddProcess = true;
                    response.Success = false;
                    response.Message = "Add order process has been cancelled and order will not be saved to file.";
                }
                else
                {
                    finishAddProcess = false;
                }
            } while (!finishAddProcess);

            return(response);
        }
Beispiel #3
0
        public void CanAddOrder(string customerName, string stateAbbreviation, string productType, decimal area)
        {
            OperationsManager manager = RepoFactory.CreateOrderRepo("");

            Order order = new Order();

            order.OrderNumber            = manager.LoadListOfOrders("").Orders.Count() + 1;
            order.CustomerName           = customerName;
            order.State                  = stateAbbreviation;
            order.TaxRate                = manager.GetSingleState(stateAbbreviation).TaxRate;
            order.ProductType            = productType;
            order.Area                   = area;
            order.CostPerSquareFoot      = manager.GetSingleProduct(productType).CostPerSquareFoot;
            order.LaborCostPerSquareFoot = manager.GetSingleProduct(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.AddOrder(order);

            Assert.AreEqual(3, manager.LoadListOfOrders("").Orders.Count());
            Assert.AreEqual("My Company", manager.LoadListOfOrders("").Orders[2].CustomerName);
        }