public void Execute() { string ProductType; Order ValidateProduct; ProductCheck ProductCheck = new ProductCheck(); StateCheck stateCheck = new StateCheck(); OrderManager manager = OrderManagerFactory.Create(); Console.Clear(); Console.WriteLine("Edit an Order"); Console.WriteLine("================================="); Console.WriteLine(); Order Statecheck; Order newOrder = new Order(); DateTime LineDate = Convert.ToDateTime(ConsoleIO.GetRequiredStringFromUser("LineDate: ")); int OrderNumber = ConsoleIO.GetRequiredIntFromUser("OrderNumber: "); newOrder.CustomerName = ConsoleIO.GetRequiredStringFromUserForEdit("Name: "); do { string State = ConsoleIO.GetRequiredStringFromUserForEdit("State:"); Statecheck = stateCheck.CheckForGivenString(State); } while (Statecheck.State == "0"); newOrder.State = Statecheck.State; newOrder.TaxRate = Statecheck.TaxRate; Console.WriteLine("================================="); ProductCheck.MakeAListOfDataForDisplay(); Console.WriteLine("================================="); do { ProductType = ConsoleIO.GetRequiredStringFromUserForEdit("ProductType: "); ValidateProduct = ProductCheck.CheckForGivenString(ProductType); } while (ValidateProduct.ProductType == "0"); newOrder.ProductType = ValidateProduct.ProductType; newOrder.CostPerSquareFoot = ValidateProduct.CostPerSquareFoot; newOrder.LaborCostPerSquareFoot = ValidateProduct.LaborCostPerSquareFoot; newOrder.Area = ConsoleIO.GetRequiredDecimalFromUserForEdit("Area "); EditOrderResponse response = manager.EditOrder(newOrder, LineDate, OrderNumber); if (response.Order.Area == 1) { if (ConsoleIO.GetYesNoAnswerFromUser("Add the following information") == "Y") { manager.EditOrder(newOrder, LineDate, OrderNumber); Console.WriteLine("Order Added!"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } else { Console.WriteLine("Add Cancelled"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } } if (response.Order.Area == -1) { Console.WriteLine("The ordernumber entered does not exist "); Console.WriteLine("Press any key to continue... "); Console.ReadKey(); } if (response.Order.Area == -2) { Console.WriteLine("We do not have a file for that date, try making one "); Console.WriteLine("Press any key to continue... "); Console.ReadKey(); } }
public void Execute() { StateCheck stateCheck = new StateCheck(); ProductCheck ProductCheck = new ProductCheck(); OrderManager manager = OrderManagerFactory.Create(); Console.Clear(); Console.WriteLine("Add Order"); Console.WriteLine("================================="); Console.WriteLine(); bool future = false; string ProductType; string ValidateProduct; Order Statecheck; Order newOrder = new Order(); // DateTime LineDate = DateTime.Today; DateTime LineDate; do { LineDate = ConsoleIO.GetRequiredDateFromUser("LineDate: "); if (LineDate >= DateTime.Today) { future = true; } else { Console.WriteLine("Please enter a date in the future"); } } while (future == false); newOrder.Date = LineDate; newOrder.CustomerName = ConsoleIO.GetRequiredStringFromUser("Name: "); do { string State = ConsoleIO.GetRequiredStringFromUser("State: "); Statecheck = stateCheck.CheckForGivenString(State); } while (Statecheck.State == "0"); newOrder.State = Statecheck.State; decimal TaxRate = Statecheck.TaxRate; newOrder.TaxRate = TaxRate; Console.WriteLine("================================="); ProductCheck.MakeAListOfDataForDisplay(); Console.WriteLine("================================="); do { ProductType = ConsoleIO.GetRequiredStringFromUser("ProductType: "); ValidateProduct = ProductCheck.CheckForGivenString(ProductType).ProductType; } while (ValidateProduct == "0"); newOrder.ProductType = ValidateProduct; decimal Area = ConsoleIO.GetRequiredAreaFromUser("Area "); newOrder.Area = Area; decimal CostPerSquareFoot = ProductCheck.CheckForGivenString(ProductType).CostPerSquareFoot; newOrder.CostPerSquareFoot = CostPerSquareFoot; decimal LaborCostPerSquareFoot = ProductCheck.CheckForGivenString(ProductType).LaborCostPerSquareFoot; newOrder.LaborCostPerSquareFoot = LaborCostPerSquareFoot; decimal MaterialCost = Area * CostPerSquareFoot; newOrder.MaterialCost = MaterialCost; decimal LaborCost = Area * LaborCostPerSquareFoot; newOrder.LaborCost = LaborCost; decimal tax = (MaterialCost + LaborCost) * (TaxRate / 100); newOrder.Tax = tax; newOrder.Total = (MaterialCost + LaborCost + tax); Console.WriteLine("================================="); ConsoleIO.DisplayNewOrder(newOrder); Console.WriteLine("================================="); if (ConsoleIO.GetYesNoAnswerFromUser("Add the following information") == "Y") { AddOrderResponse response = manager.AddOrder(newOrder, LineDate); response.Sucess = true; Console.WriteLine("Order Added!"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } else { Console.WriteLine("Add Cancelled"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } }