//private string _filePath; //public OrderManager(string filepath) //{ //_filePath = filepath; //} //works public ViewOrderResponses ViewOrders(DateTime Date) { IOrderRepository repo = RepositoryFactory.CreateOrderRepo(); ViewOrderResponses response = new ViewOrderResponses(); var orders = repo.ListOrdersByDate(Date); if (orders.Count == 0) { response.Success = false; response.Message = "No orders found."; } else { response.Success = true; response.orders = orders; } return(response); }
public void Execute() { OrderManager manager = new OrderManager(); Console.Clear(); DateTime date = new DateTime(); int indexNumber; DateTime DateToCheck; bool validDate = false; bool validResponse = false; List <Order> resultsList = new List <Order>(); Console.WriteLine("View Order Details"); Console.WriteLine(ConsoleIO.HorizontalLine); Console.WriteLine("Enter the date of the order: "); string prompt = Console.ReadLine(); date = ConsoleIO.GetRequiredDateTimeFromUser(prompt); ViewOrderResponses response = manager.ViewOrders(date); //while (!validDate) if (response.orders == null) { Console.WriteLine("No orders found for that date."); Console.WriteLine("Press any key to return to the Main Menu."); ConsoleIO.ErrorLogging(); Console.ReadKey(); Console.Clear(); MainMenu.Main(); } foreach (var order in response.orders) { ConsoleIO.DisplayOrderDetails(order); Console.ReadLine(); resultsList.Add(order); } Console.WriteLine("Please enter the number that corresponds to the order you'd like to see in more detail: "); string input = Console.ReadLine(); while (validResponse == false) { indexNumber = ConsoleIO.GetRequiredIntFromUser(input); if (indexNumber <= resultsList.Count) { ConsoleIO.FullOrderDetails(resultsList[indexNumber - 1]); Console.ReadLine(); validResponse = true; Console.ReadLine(); } else { Console.WriteLine("Number outside of range of results."); ConsoleIO.ErrorLogging(); Console.WriteLine("Please enter the number of the order you'd like to see in more detail: "); input = Console.ReadLine(); } } Console.Clear(); MainMenu.Main(); }
public void Execute() { DateTime date = new DateTime(); List <Order> resultsList = new List <Order>(); OrderManager manager = new OrderManager(); Order editedOrder = new Order(); Console.Clear(); Console.WriteLine("Edit Order Data"); Console.WriteLine(ConsoleIO.HorizontalLine); Console.WriteLine("Enter the date of the order: "); string prompt = Console.ReadLine(); date = ConsoleIO.GetRequiredDateTimeFromUser(prompt); ViewOrderResponses response = manager.ViewOrders(date); if (response.orders == null) { Console.WriteLine("No orders found for that date."); Console.WriteLine("Press any key to return to the Main Menu."); Console.ReadKey(); Console.Clear(); MainMenu.Main(); } foreach (var order in response.orders) { ConsoleIO.DisplayOrderDetails(order); resultsList.Add(order); Console.ReadLine(); } int selection = ConsoleIO.GetRequiredIntFromUser("Please enter the number of the order you'd like to edit: "); var selectedOrder = from o in resultsList where o.OrderNumber == selection select o; Order editOrder = selectedOrder.FirstOrDefault(); editedOrder.State = new State(); editedOrder.Product = new Product(); Console.WriteLine("Press enter to keep the existing value.", editOrder); editedOrder.OrderDate = editOrder.OrderDate; editedOrder.CustomerName = ConsoleIO.GetEditStringName($"Enter the new customer name ({editOrder.CustomerName}):", editOrder); editedOrder.State.StateName = ConsoleIO.GetEditState($"Enter the new state ({editOrder.State.StateName}):", editOrder); editedOrder.Product.ProductType = ConsoleIO.GetEditProduct($"Enter the new product to be ordered ({editOrder.Product.ProductType}):", editOrder); editedOrder.Area = ConsoleIO.GetEditArea($"Enter the new square footage to be covered ({editOrder.Area}):", editOrder); editedOrder.OrderNumber = editOrder.OrderNumber; editedOrder.State = manager.GetStateInfo(editedOrder.State.StateName); editedOrder.Product = manager.GetProductInfo(editedOrder.Product.ProductType); editedOrder.Tax = editedOrder.State.TaxRate * editedOrder.Area * editedOrder.Product.CostPerSquareFoot * .01M; editedOrder.MaterialCost = editedOrder.Area * editedOrder.Product.CostPerSquareFoot; editedOrder.LaborCost = editedOrder.Area * editedOrder.Product.LaborPerSquareFoot; editedOrder.Total = editedOrder.Tax + editedOrder.MaterialCost + editedOrder.LaborCost; manager.EditOrder(date, editOrder, editedOrder); Console.WriteLine("Order edited."); Console.ReadLine(); Console.Clear(); MainMenu.Main(); }
public void Execute() { DateTime date = new DateTime(); OrderManager manager = new OrderManager(); List <Order> resultsList = new List <Order>(); Console.Clear(); Console.WriteLine("Delete Order Data"); Console.WriteLine(ConsoleIO.HorizontalLine); Console.WriteLine("Enter the date of the order: "); string prompt = Console.ReadLine(); date = ConsoleIO.GetRequiredDateTimeFromUser(prompt); ViewOrderResponses response = manager.ViewOrders(date); if (response.orders == null) { Console.WriteLine("No orders found for that date."); Console.WriteLine("Press any key to return to the Main Menu."); Console.ReadKey(); Console.Clear(); MainMenu.Main(); } foreach (var order in response.orders) { ConsoleIO.DisplayOrderDetails(order); resultsList.Add(order); Console.ReadLine(); } int selection = ConsoleIO.GetRequiredIntFromUser("Please enter the number of the order you'd like to delete: "); var selectedOrder = from o in resultsList where o.OrderNumber == selection select o; Order deleteOrder = selectedOrder.FirstOrDefault(); string answer = ConsoleIO.GetYesNoAnswerFromuser($"Are you sure you want to delete #{deleteOrder.OrderNumber}? Enter Y for Yes or N for No."); if (answer == "Y") { Console.WriteLine("Order deleted. Returning to main menu."); Console.ReadLine(); manager.RemoveOrder(date, deleteOrder); Console.Clear(); } else { { Console.WriteLine("Deletion cancelled."); Console.WriteLine("Press any key to return to the main menu."); Console.ReadKey(); } } MainMenu.Main(); }