public void Execute() { string date; int order; Console.Clear(); Console.WriteLine("Please Enter the following information "); Console.Write("Order Date <MM/DD/YYY>: "); date = Console.ReadLine(); Console.Write("Order Number : "); order = Convert.ToInt32(Console.ReadLine()); string placeOrder = ""; while (true) { Console.Clear(); // Once caculations are completed (tax/product information), show summary with information //Output.DisplayIO.DisplayOrderSummary(); IndividualOrderResponse orderResponse = OrderManagerFactory.Create().LocateOrder(date, order); if (orderResponse.Success) { Output.DisplayIO.DisplayOrderSummary(date, orderResponse.Order); //Console.WriteLine("TODO: DisplySummary of Order BEFORE Removing to Respository"); Console.Write("Do you want to remove the order (Y/N): "); placeOrder = Console.ReadLine(); switch (placeOrder) { case "Y": //Saved order number for the next availabe order # DeleteOrderResponse deleteOrder = OrderManagerFactory.Create().DeleteOrder(date, order); Console.WriteLine($"Removing from repository: {deleteOrder.Success}"); Console.ReadKey(); return; case "N": Console.WriteLine($"You will not remove Order {order} from repository"); Console.ReadKey(); return; } } else { Console.WriteLine(orderResponse.Message); Console.ReadKey(); break; } } }
public void Execute() { string date; int order; Order editOrder = new Order(); date = Input.OrderInformation.RequestingOrderDate(false); order = Input.OrderInformation.RequestOrderNumber(); // If order exists (both condition are met), each piece of the order that can be // be editted will display one line at time. IndividualOrderResponse findIndResponse = OrderManagerFactory.Create().LocateOrder(date, order); if (findIndResponse.Success) { Order originalOrder = findIndResponse.Order; editOrder.Copy(originalOrder); Input.OrderInformation.RequestingCustomerName(editOrder, false); Input.OrderInformation.RequestingState(editOrder, false); Input.OrderInformation.RequestingProduct(editOrder, false); Input.OrderInformation.RequestingArea(editOrder, false); // if State, Product, or Area are change, recalculate needs to be done. if (Validation.DoesEditedOrderNeedRecaluation(editOrder, originalOrder)) { Calculation.Field(editOrder); } Input.OrderInformation.RequestingToSaveOrder(date, editOrder); } else { Console.WriteLine(findIndResponse.Message); Console.ReadKey(); } }
public IndividualOrderResponse LocateOrder(string date, int orderNumber) { IndividualOrderResponse response = new IndividualOrderResponse(); response.Order = _orderRepository.RetrieveOneOrder(date, orderNumber); if (response.Order == null) { response.Success = false; response.Message = $"Unable to locate Order #{orderNumber} on {date}"; } else { response.Success = true; } return(response); }