Example #1
0
        public void CanAddOrderToRepo(string customerName, string state, string type, int area, string orderDate, bool expectedResult)
        {
            OrderManager manager = OrderManagerFactory.Create();

            Order newOrder = new Order()
            {
                CustomerName = customerName,
                State        = state,
                FloorType    = type,
                Area         = area
            };

            LoadOrderResponse addResponse = manager.LoadNewOrder(newOrder, orderDate);

            Assert.AreEqual(expectedResult, addResponse.Success);

            if (addResponse.Success)
            {
                manager.AddNewOrder(newOrder, orderDate);

                LoadOrderListResponse response = manager.LoadOrderList("10/10/20");
                var orders = response.Orders;

                Order check = orders[1];

                Assert.AreEqual("Test Man", check.CustomerName);
                Assert.AreEqual("Tile", check.FloorType);
                Assert.AreEqual(105, check.Area);
            }
        }
Example #2
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            ConsoleIO.NewOrderHeader();
            string orderDate = ConsoleIO.GetOrderDateFromUser("Please enter date for work to be done: ", true);

            ConsoleIO.NewOrderHeader();
            string customerName = ConsoleIO.GetStringFromUser("Please enter customer name: ");

            ConsoleIO.NewOrderHeader();
            ConsoleIO.PrintStateList();
            string state = ConsoleIO.GetStateAbbreviationFromUser("Please enter the two letter abbreviation for the state where the work is being done: ");

            ConsoleIO.NewOrderHeader();
            var products     = manager.GetProductsList().ProductList;
            int productIndex = ConsoleIO.GetProductChoiceFromUser();

            ConsoleIO.NewOrderHeader();
            decimal area = ConsoleIO.GetAreaFromUser("Please enter the area of floor in square feet: ");

            ConsoleIO.NewOrderHeader();
            Order newOrder = new Order()
            {
                CustomerName = customerName,
                State        = state,
                FloorType    = products[productIndex].FloorType,
                Area         = area
            };

            LoadOrderResponse response = manager.LoadNewOrder(newOrder, orderDate);

            if (response.Success)
            {
                ConsoleIO.PrintOrders(response.Order, orderDate);

                Console.WriteLine();

                Console.WriteLine("Would you like to place this order? (Y/N)");
                string confirm = Console.ReadLine().ToUpper();
                if (confirm == "Y")
                {
                    manager.AddNewOrder(response.Order, orderDate);
                    Console.WriteLine("Thank you, your order has been placed.");
                }
            }
            else
            {
                Console.WriteLine("An error occured: ");
                Console.WriteLine(response.Message);
            }

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
Example #3
0
 public ActionResult CreateOrder(Order model)
 {
     try
     {
         Customer customer    = _customerManager.SelectCustomerByName(model.CustomerName);
         int      orderNumber = _orderManager.AddNewOrder(model);
         _orderManager.AddNewCustomerOrder(customer.CustomerID, orderNumber);
         return(RedirectToAction("Customers", "Customer", null));
     }
     catch (Exception ex)
     {
         string error = ex.Message + "\n\n" + ex.InnerException.Message;
         if (error.Contains("null") || error == null)
         {
             error = "Could Not add order ";
         }
         return(RedirectToAction("Error", "Home", new { errorMessage = error }));
     }
 }
Example #4
0
        public void Execute()
        {
            OrderManager manager = OrderManagerFactory.Create();

            Console.Clear();
            Console.WriteLine("Add an order");
            Console.WriteLine("--------------------");

            ProductLookupResponse products = manager.LookupProducts();
            TaxesLookupResponse   taxes    = manager.LookupTaxes();
            Order order = manager.AddOrderInformation(taxes, products);

            Console.Clear();
            Console.WriteLine("Order details");
            Console.WriteLine("--------------");
            ConsoleIO.DisplayOrderDetails(order);
            Console.WriteLine("--------------");
            Console.WriteLine("Save order? Enter Y/N");
            while (true)
            {
                string prompt = Console.ReadLine();
                if (prompt == "Y")
                {
                    manager.AddNewOrder(order);
                    Console.WriteLine("Order saved. Press any key to continue...");
                    Console.ReadKey();
                    return;
                }
                else if (prompt == "N")
                {
                    Console.WriteLine("Order discarded. Press any key to continue...");
                    Console.ReadKey();
                    return;
                }
                else
                {
                    Console.Write("Invalid input. Enter Y or N: ");
                }
            }
        }
        public void DisplayData(Order newOrder)
        {
            Console.WriteLine("Name: {0}", newOrder.CustomerName);
            Console.WriteLine("State: {0}", newOrder.State);
            Console.WriteLine("Tax Rate: {0:P}", newOrder.TaxRate);
            Console.WriteLine("Product Type: {0}", newOrder.ProductType);
            Console.WriteLine("Area: {0}", newOrder.Area);
            Console.WriteLine("Cost per square ft: {0:C}", newOrder.CostPerSquareFoot);
            Console.WriteLine("Labor cost per square ft: {0:C}", newOrder.LaborCostPerSquareFoot);
            Console.WriteLine("Material cost: {0:C}", newOrder.MaterialCost);
            Console.WriteLine("Labor cost: {0:C}", newOrder.LaborCost);
            Console.WriteLine("Tax: {0:C}", newOrder.Tax);
            Console.WriteLine("TOTAL COST: {0:C}", newOrder.Total);
            Console.WriteLine();

            string result = GetConfirmation();

            if (result == "Y")
            {
                _myOrderManager.AddNewOrder(newOrder, orderDate);//tell the manager to add this order to the file
            }
        }