public static void Execute() { OrderManager manager = OrderManagerFactory.Create(); Console.Clear(); Console.WriteLine("Lookup an OrderDate"); Console.WriteLine("*************************************"); var userDateTimeInput = ConsoleIO.GetDateTimeFromUser(); OrderDateLookupResponse orderDateResponse = manager.OrderLookupDate(userDateTimeInput); if (orderDateResponse.Success) { foreach (var order in orderDateResponse.ListOfOrders) { Console.WriteLine($"Order Number: {order.OrderNumber}, Customer Name: {order.CustomerName}, State {order.State}, Tax Rate: {order.TaxRate}, Area: {order.Area}, Cost Per Square Foot: {order.CostPerSquareFoot}, Labor Cost Per Square Foot: {order.LaborCostPerSquareFoot}, Material Cost: {order.MaterialCost}, Labor Cost: {order.LaborCost}, Tax Total: {order.TotalTax}, Total Cost: {order.TotalCost}"); } } else { Console.WriteLine("An error has occurred"); Console.WriteLine(orderDateResponse.Message); } Console.WriteLine("Press any key to continue..."); Console.ReadKey(); }
public void CanLoadFileTestRepo() { OrderManager manager = new OrderManager(new FileOrderRepo(FilePath, Temp), new ProductFileRepo(Settings.ProductPath), new TaxFileRepo(Settings.TaxPath)); OrderDateLookupResponse response = manager.OrderLookupDate(new DateTime(2020, 09, 25)); Assert.IsTrue(response.Success); Assert.AreEqual(2, response.ListOfOrders.Count()); }
internal static void Execute() { Console.Clear(); OrderManager manager = OrderManagerFactory.Create(); var userDateTimeInPut = ConsoleIO.GetFutureDateTime("Please enter a date. EX: MM/DD/YYYY "); OrderDateLookupResponse response = manager.OrderLookupDate(userDateTimeInPut); if (response.Success) { foreach (var order in response.ListOfOrders) { Console.WriteLine($"Order Number: {order.OrderNumber}, Customer Name: {order.CustomerName}, State {order.State}, Tax Rate: {order.TaxRate}, Area: {order.Area}, Cost Per Square Foot: {order.CostPerSquareFoot}, Labor Cost Per Square Foot: {order.LaborCostPerSquareFoot}, Material Cost: {order.MaterialCost}, Labor Cost: {order.LaborCost}, Tax Total: {order.TotalTax}, Total Cost: {order.TotalCost}"); } int number = ConsoleIO.GetOrderNumber("Which Order number would you like to remove? Enter the Order number you want to remove. "); if (ConsoleIO.GetYesNoAnswerFromUser($"Are you sure you want to remove this file?") == "Y") { DeleteOrderResponse deleteResponse = manager.DeleteOrder(userDateTimeInPut, number); if (deleteResponse.Success) { Console.WriteLine("The Order was successfully deleted."); Console.WriteLine("Press any key to continue..."); } else { Console.WriteLine("An error occurred."); Console.WriteLine(deleteResponse.Message); } } else { Console.WriteLine("A delete order was cancelled. Press any key to continue."); } Console.ReadLine(); } else { Console.WriteLine("An error has occurred"); Console.WriteLine(response.Message); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } }
public OrderDateLookupResponse OrderLookupDate(DateTime orderDate) { OrderDateLookupResponse orderDateResponse = new OrderDateLookupResponse(); orderDateResponse.ListOfOrders = _orderRepository.GetAllOrdersActual(orderDate); if (orderDateResponse.ListOfOrders == null || orderDateResponse.ListOfOrders.Count() == 0) { orderDateResponse.Success = false; orderDateResponse.Message = $"There were no orders in {orderDate.ToString("MM/dd/yyyy")}"; } else { orderDateResponse.Success = true; } return(orderDateResponse); }
public static void Execute() { Console.Clear(); Console.WriteLine("Edit Order"); Console.WriteLine("*************************************"); OrderManager manager = OrderManagerFactory.Create(); var userDateTimeInPut = ConsoleIO.GetDateTimeFromUser(); OrderDateLookupResponse orderDateResponse = manager.OrderLookupDate(userDateTimeInPut); if (orderDateResponse.Success) { foreach (var order in orderDateResponse.ListOfOrders) { Console.WriteLine($"Order Number: {order.OrderNumber}, Customer Name: {order.CustomerName}, State {order.State}, Tax Rate: {order.TaxRate}, Area: {order.Area}, Cost Per Square Foot: {order.CostPerSquareFoot}, Labor Cost Per Square Foot: {order.LaborCostPerSquareFoot}, Material Cost: {order.MaterialCost}, Labor Cost: {order.LaborCost}, Tax Total: {order.TotalTax}, Total Cost: {order.TotalCost}"); } int number = ConsoleIO.GetOrderNumber("Enter the Order number do you want to edit?"); var originalOrder = new Order(orderDateResponse.ListOfOrders.SingleOrDefault(f => f.OrderNumber == number)); Order updatedOrder = new Order(originalOrder); TaxLookupResponse taxesResponse = manager.LoadTaxes(); ProductLookupResponse productResponse = manager.LoadProducts(); Console.Clear(); updatedOrder.OrderDate = userDateTimeInPut; updatedOrder.CustomerName = ConsoleIO.EditGetStringFromUser(updatedOrder, $"(Previous Name: {originalOrder.CustomerName}) Enter Customer Name: "); updatedOrder.State = ConsoleIO.EditGetStateFromUser(updatedOrder, $"(Previous State: {originalOrder.State}) State: ", taxesResponse.Taxes); updatedOrder.ProductType = ConsoleIO.EditGetProductFromUser(updatedOrder, $"(Previous Type: {originalOrder.ProductType}) Product Type: ", productResponse.Products); updatedOrder.Area = ConsoleIO.EditGetAreaFromUser(updatedOrder, $"(Previous Area: {originalOrder.Area}) Area: "); Console.WriteLine($"Customer Name: {updatedOrder.CustomerName}, State: {updatedOrder.State}, Product Type: {updatedOrder.ProductType}, Area: {updatedOrder.Area}"); Console.WriteLine(); if (ConsoleIO.GetYesNoAnswerFromUser($"Are you sure you want to add this file?") == "Y") { EditOrderResponse editResponse = manager.EditOrder(updatedOrder); if (editResponse.Success) { Console.WriteLine("The Order was successfully updated."); Console.WriteLine("Press any key to continue..."); } else { Console.WriteLine("An error occurred."); Console.WriteLine(editResponse.Message); } } else { Console.WriteLine("Edit order was cancelled. Press any key to continue."); } Console.ReadLine(); } else { Console.WriteLine("An error has occurred"); Console.WriteLine(orderDateResponse.Message); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } }