public void DeleteOrder() { Console.Clear(); Console.WriteLine("Delete Order"); Console.WriteLine("***************************\n"); bool validDate = false; DateTime orderDate = new DateTime(); int orderNumber = 0; while (!validDate) { Console.Write("Enter a date (MM/DD/YYYY): "); validDate = DateTime.TryParse(Console.ReadLine(), out orderDate); if (!validDate) { Console.WriteLine("\nInvalid Date"); } } OrderOperations orderOperations = new OrderOperations(); OrdersResult result = orderOperations.RetrieveOrdersFor(orderDate); bool validEntry = false; if (result.Success) { while (!validEntry) { bool validNumber = false; while (!validNumber) { Console.Write("\nPlease enter an order number: "); validNumber = int.TryParse(Console.ReadLine(), out orderNumber); if (!validNumber) { Console.WriteLine("\nInvalid order number"); } else { bool reply = orderOperations.CheckIfExistingOrder(orderNumber, orderDate); if (reply) { validEntry = true; } else { Console.WriteLine("\nThere is no order for that number on that date!"); } } } } Order fullOrder = orderOperations.RetrieveOrderByNumber(orderNumber, orderDate); Console.WriteLine("\n{0} {1} {2} {3} {4} {5} {6:c} {7:c} {8:c} {9:c} {10:c} {11:c}", fullOrder.OrderNumber, fullOrder.CustomerName, fullOrder.State, fullOrder.TaxRate, fullOrder.ProductType, fullOrder.Area, fullOrder.CostPerSquareFoot, fullOrder.LaborCostPerSquareFoot, fullOrder.MaterialCost, fullOrder.LaborCost, fullOrder.Tax, fullOrder.Total); Console.Write("\nAre you sure you want to delete this file? Y/N "); if (Console.ReadLine().ToUpper() == "Y") { if (orderOperations.CallDelete(fullOrder, orderDate)) { Console.WriteLine("\nThe order has been deleted."); Console.WriteLine("\nPress Enter to return to Main Menu"); Console.ReadLine(); } else { Console.WriteLine("\nFor some reason the order failed to delete..."); Console.WriteLine("\nPress Enter to return to Main Menu"); Console.ReadLine(); } } else { MenuDisplay(); } } else { Console.WriteLine("\nUnable to display orders: {0}", result.Message); } }
public void EditOrder() { Console.Clear(); Console.WriteLine("Edit Order"); Console.WriteLine("***************************\n"); bool validDate = false; DateTime orderDate = new DateTime(); int orderNumber = 0; while (!validDate) { Console.Write("Enter a date (MM/DD/YYYY): "); validDate = DateTime.TryParse(Console.ReadLine(), out orderDate); if (!validDate) { Console.WriteLine("\nInvalid Date"); } } OrderOperations orderOperations = new OrderOperations(); OrdersResult result = orderOperations.RetrieveOrdersFor(orderDate); bool validEntry = false; if (result.Success) { while (!validEntry) { bool validNumber = false; while (!validNumber) { Console.Write("\nPlease enter an order number: "); validNumber = int.TryParse(Console.ReadLine(), out orderNumber); if (!validNumber) { Console.WriteLine("\nInvalid order number"); } else { bool reply = orderOperations.CheckIfExistingOrder(orderNumber, orderDate); if (reply) { validEntry = true; } else { Console.WriteLine("\nThere is no order for that number on that date!"); } } } } Order fullOrder = orderOperations.RetrieveOrderByNumber(orderNumber, orderDate); TaxRateOperations taxOps = new TaxRateOperations(); ProductOperations prodOps = new ProductOperations(); CustomerInput editedOrder = new CustomerInput() { CustName = fullOrder.CustomerName, Area = fullOrder.Area, ProductType = fullOrder.ProductType, State = fullOrder.State, OrderNumber = fullOrder.OrderNumber }; Console.WriteLine("\n{0} {1} {2} {3}", editedOrder.CustName, editedOrder.State, editedOrder.ProductType, editedOrder.Area); bool validName = false; string input; while (!validName) { Console.Write("\nPlease enter new Customer Name, or press enter key to skip: "); input = Console.ReadLine(); if (input != "") { editedOrder.CustName = input; validName = true; } else { validName = true; } } bool validState = false; while (!validState) { Console.Write("\nPlease enter new State, or press enter key to skip: "); input = Console.ReadLine().ToUpper(); if (input != "") { if (taxOps.IsAllowedState(input)) { editedOrder.State = input; validState = true; } else { Console.Write("\nThat is not a valid state"); } } else { validState = true; } } bool validProduct = false; while (!validProduct) { Console.Write("\nPlease enter new Product Type, or press enter key to skip: "); input = Console.ReadLine().ToUpper(); if (input != "") { if (prodOps.IsExistingProduct(input)) { editedOrder.ProductType = input; validProduct = true; } else { Console.Write("\nThat is not one of our products"); } } else { validProduct = true; } } bool validArea = false; while (!validArea) { Console.Write("\nPlease enter new Area in square feet, or press enter key to skip: "); input = Console.ReadLine(); if (input != "") { decimal userChoice; bool isDecimal = decimal.TryParse(input, out userChoice); if (isDecimal) { editedOrder.Area = userChoice; validArea = true; } else { Console.WriteLine("\nThat is not a valid number"); } } else { validArea = true; } } Console.Write("\nAre you ready to save edited order details? Y/N "); if (Console.ReadLine().ToUpper() == "N") { MenuDisplay(); } else { orderOperations.CreateNewOrder(editedOrder, orderDate); Order newEditedOrder = orderOperations.RetrieveOrderByNumber(orderNumber, orderDate); Console.Clear(); Console.Write("\nYour order has been edited:\n"); Console.WriteLine("\n{0} {1} {2} {3} {4} {5} {6:c} {7:c} {8:c} {9:c} {10:c} {11:c}", newEditedOrder.OrderNumber, newEditedOrder.CustomerName, newEditedOrder.State, newEditedOrder.TaxRate, newEditedOrder.ProductType, newEditedOrder.Area, newEditedOrder.CostPerSquareFoot, newEditedOrder.LaborCostPerSquareFoot, newEditedOrder.MaterialCost, newEditedOrder.LaborCost, newEditedOrder.Tax, newEditedOrder.Total); Console.Write("\nPress Enter to return to the Main Menu"); Console.ReadLine(); } } else { Console.WriteLine("\nUnable to display orders: {0}", result.Message); } }