public void Execute() { ConsoleIO consoleIO = new ConsoleIO(); OrderManager manager = OrderManagerFactory.Create(); consoleIO.DisplayMessage("Edit Order"); DateTime orderDate = consoleIO.GetOrderDate(); bool orderDateExists = manager.OrderDateExists(orderDate); if (orderDateExists) { List <Order> tempList = manager.RequestOrdersByDate(orderDate); consoleIO.DisplayOrders(tempList); int orderNumber = consoleIO.GetOrderNumberTo("edit."); bool orderNumberExists = manager.CheckIfOrderNumberExists(orderDate, orderNumber); Order editedOrder = new Order(); if (orderNumberExists) { bool isAnEdit = true; editedOrder.OrderNumber = orderNumber; editedOrder.Date = orderDate; editedOrder.CustomerName = consoleIO.GetCustomerName(isAnEdit); consoleIO.DisplayStatesCurrentlyServiced(manager.GetListOfStateTaxes()); editedOrder.State = consoleIO.GetCustomerState(); consoleIO.DisplayProductTypes(manager.GetListOfAllProducts()); editedOrder.ProductType = consoleIO.GetProductFromCustomer(); editedOrder.Area = consoleIO.GetAreaFromCustomer(isAnEdit); ValidateOrderResponse response = manager.ValidateOrder(editedOrder, isAnEdit); if (response.Success) { bool placeOrder = consoleIO.ConfirmOrderPlacement(editedOrder); if (placeOrder) { manager.EditOrder(orderNumber, editedOrder); consoleIO.DisplayOrderReponseMessage(response); } else { consoleIO.DisplayOrderReponseMessage(response); } } else //response.success = false, displays a different message - order did not meet requirements { consoleIO.DisplayOrderReponseMessage(response); } } else { consoleIO.DisplayMessage("Order number was not found."); } } else { consoleIO.DisplayMessage("Order date was not found."); } consoleIO.PressAnyKeyToContinue(); }
internal void Execute() { OrderManager manager = OrderManagerFactory.Create(); Console.Clear(); Console.WriteLine("Edit an Order"); Console.WriteLine("------------------------------------"); DateTime date = ConsoleIO.GetDateFromUser(); int orderNumber = ConsoleIO.GetOrderNumberFromUser(); var orderToEdit = manager.GetOrderToEdit(date, orderNumber); if (!orderToEdit.Success) { Console.WriteLine(orderToEdit.Message); Console.ReadKey(); return; } ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order); string editedCustomerName = ConsoleIO.EditCustomerName(orderToEdit.Order.CustomerName); ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order); string editedState = ConsoleIO.EditState(orderToEdit.Order.State); ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order); List <Product> products = manager.GetAllProducts(); ConsoleIO.DisplayProductsToUser(products); string editedProductType = ConsoleIO.EditProductType(orderToEdit.Order.ProductType); ConsoleIO.DisplayCustomerOrderDetails(orderToEdit.Order); decimal editedArea = ConsoleIO.EditArea(orderToEdit.Order.Area); DateTime keepOrderDate = orderToEdit.Order.Date; int keepOrderNumber = orderToEdit.Order.OrderNumber; EditOrderResponse response = manager.EditOrder(keepOrderDate, keepOrderNumber, editedCustomerName, editedState, editedProductType, editedArea); if (!response.Success) { Console.WriteLine(response.Message); Console.ReadKey(); } else { ConsoleIO.DisplayOrderSummary(response.Order); Console.ReadKey(); if (!ConsoleIO.ConfirmOrderPlacement()) { ConsoleIO.OrderCancelledMessage(); } else { manager.UpdateThisOrder(response.Order); ConsoleIO.OrderPlacedMessage(); } } }
internal void Execute() { OrderManager manager = OrderManagerFactory.Create(); //AddOrderResponse response = manager.BuildNewOrder(userDate, customerName, state, productType, area); Console.Clear(); Console.WriteLine("Add an Order"); Console.WriteLine("------------------------------------"); DateTime userDate = ConsoleIO.GetDateFromUser(); manager.CreateOrderDate(userDate); string customerName = ConsoleIO.GetNameFromUser(); string state = ConsoleIO.GetStateFromUser(); List <Product> products = manager.GetAllProducts(); ConsoleIO.DisplayProductsToUser(products); string productType = ConsoleIO.GetProductFromUser(); decimal area = ConsoleIO.GetAreaFromUser(); AddOrderResponse response = manager.BuildNewOrder(userDate, customerName, state, productType, area); if (!response.Success) { Console.WriteLine(response.Message); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } else { ConsoleIO.DisplayOrderSummary(response.Order); Console.ReadKey(); if (!ConsoleIO.ConfirmOrderPlacement()) { ConsoleIO.OrderCancelledMessage(); } else { manager.CommitOrder(response.Order); ConsoleIO.OrderPlacedMessage(); } } }