public void Execute() { IUserIO userIO = new UserIO(); DisplayOrderResponse response = new DisplayOrderResponse(); FlooringManager manager = FlooringFactoryManager.Create(); userIO.Clear(); userIO.WriteLine("DISPLAY ORDER: "); userIO.WriteLine(""); userIO.WriteLine(new string('=', 60)); userIO.WriteLine(""); List <Order> orders = manager.GetOrdersByDate(HelperMethods.GetDateTime("Enter an order date: ")); if (orders == null || orders.Count == 0) { response.Success = false; response.Message = ("No order exists with that date."); } else { response.Success = true; } if (response.Success) { userIO.DisplayOrders(orders); } else { userIO.WriteLine("An error has occured: "); userIO.WriteLine(response.Message); } userIO.WriteLine("Press any key to continue."); userIO.ReadKey(); }
public void Execute() { //Console.Clear(); //Console.WriteLine("You are now in the Display All Orders by Date section"); //Console.ReadKey(); ConsoleIO.Header("\t~All of Date's Orders~"); DateTime orderDate = ConsoleIO.DateLookupPrompt(); //get date to search by then out in .create(...) FlooringManager manager = FlooringManagerFactory.Create(orderDate); ConsoleIO.Header("\t~All of Date's Orders~"); Dictionary <int, Order> orderDictionary = manager.GetAllOrders(orderDate); if (manager.orderRepository.FileExists()) { if (manager.orderRepository.LastOrder() == true) { ConsoleIO.DisplayAllOrders(orderDictionary, true, true, orderDate); } else { ConsoleIO.DisplayAllOrders(orderDictionary, true, false, orderDate); } } ConsoleIO.KeyToContinue(); Console.ReadKey(); }
public void Execute() { IUserIO userIO = new UserIO(); userIO.Clear(); FlooringManager manager = FlooringFactoryManager.Create(); Order order = new Order(); userIO.WriteLine("CREATE NEW ORDER: "); userIO.WriteLine(""); userIO.WriteLine(new string('=', 60)); userIO.WriteLine(""); order.OrderDate = HelperMethods.GetDateTime("Please enter the date of order: "); order.CustomerName = HelperMethods.GetCustomerName("Please enter the customers name: "); order.State = HelperMethods.GetStateTax(TaxRepository.GetTaxes()); order.ProductType = HelperMethods.GetProductInformation(ProductRepository.GetProducts()); order.Area = HelperMethods.GetDecimalFromString("Enter the Area: "); order = manager.CalculateOrder(order); userIO.DisplayOrder(order); if (HelperMethods.GetYesNoAnswerFromUser("Would you like to create this order?")) { userIO.WriteLine("Order has succesfully been created."); AddOrderResponse response = manager.AddOrder(order); } else { userIO.WriteLine("Order was not created."); } }
public void Execute() { IUserIO userIO = new UserIO(); userIO.Clear(); FlooringManager manager = FlooringFactoryManager.Create(); userIO.WriteLine("DELETE ORDER:"); userIO.WriteLine(""); userIO.WriteLine(new string('=', 60)); userIO.WriteLine(""); DateTime dateTime = HelperMethods.GetDateTime("Enter the order date: "); int OrderNumber = HelperMethods.GetIntFromUser("Enter the order number: "); EditOrderResponse response = new EditOrderResponse(); Order order = manager.GetOrderByOrderNumber(dateTime, OrderNumber); if (order == null) { response.Success = false; response.Message = "No orders exist with this date."; } else { userIO.DisplayOrder(order); if (HelperMethods.GetYesNoAnswerFromUser("Would you like to delete this order?")) { manager.DeleteOrder(order); response.Success = true; response.Message = "Order successfully deleted."; } } }
public void CanLoadOrderTestData() { DateTime orderDate = DateTime.Now; FlooringManager manager = FlooringManagerFactory.Create(orderDate); DisplaySingleResponse response = manager.LookupOrder(1, (DateTime.Now)); Assert.IsNotNull(response.Order); Assert.IsTrue(response.Success); Assert.AreEqual(1, response.Order.OrderNumber); }
static void Main(string[] args) { FlooringManager flooringManager = new FlooringManager(); flooringManager.Startup(); HomeScreen homeScreen = new HomeScreen(); homeScreen.Display(); Console.ReadLine(); }
public void Execute() { ConsoleIO.Header("\t~Single Order~"); DateTime orderDate = ConsoleIO.DateLookupPrompt(); FlooringManager manager = FlooringManagerFactory.Create(orderDate); ConsoleIO.Header("\t~Single Order~"); //check if file exists //if so: Dictionary <int, Order> orderDictionary = manager.GetAllOrders(orderDate); if (manager.orderRepository.FileExists()) { if (manager.orderRepository.LastOrder() == true) { //DisplaySingleResponse singleResponse = manager.GetOnlyOrder(orderDate); //ConsoleIO.DisplaySingleOrder(singleResponse.Order, true); ConsoleIO.DisplayAllOrders(orderDictionary, false, true, orderDate); } else { int orderNumber = ConsoleIO.GetIntFromUser(ConsoleIO.OrderLookup()); DisplaySingleResponse response = manager.LookupOrder(orderNumber, orderDate); if (response.Success) { ConsoleIO.Header("\t~Single Order~"); ConsoleIO.DisplaySingleOrder(response.Order, true); } else { //ConsoleIO.ErrorOccurred(); //not sure how to put this into ConsoleIO //Console.WriteLine(response.Message); Console.WriteLine(); ConsoleIO.InvalidOrder(); } } } //else: ConsoleIO.KeyToContinue(); Console.ReadKey(); }
public void Test() { FlooringManager.Configure(true); MockOrderRepo orderRepo = FlooringManager.Orders as MockOrderRepo; Assert.AreEqual(0, orderRepo.SavedOrders.Count); Func <OrderInfo, bool> mockFunction = (order) => { Assert.AreEqual(order.CustomerName, "Test Name"); return(true); }; NewOrderInfo newOrder = new NewOrderInfo(); newOrder.CustomerName = "Test Name"; newOrder.Area = 0; ProductInfo myProduct = new ProductInfo(); myProduct.ProductType = "carpet"; myProduct.CostPerSqFoot = 0; myProduct.LaborCostPerSqFoot = 0; newOrder.Product = myProduct; StateInfo myState = new StateInfo(); myState.StateAbbreviation = "MN"; myState.StateName = "Minnesota"; myState.TaxRate = 0; newOrder.State = myState; OrderManager.CreateOrder(newOrder, mockFunction); Assert.AreEqual(1, orderRepo.SavedOrders.Count); Assert.IsTrue(orderRepo.SavedOrders.ContainsKey(DateTime.Today)); var todaysOrders = orderRepo.SavedOrders[DateTime.Today]; Assert.AreEqual(1, todaysOrders.Count); Assert.AreEqual("Test Name", todaysOrders[0].CustomerName); }
public void Execute() { IUserIO userIO = new UserIO(); userIO.Clear(); FlooringManager manager = FlooringFactoryManager.Create(); userIO.WriteLine("EDIT ORDER:"); userIO.WriteLine(""); userIO.WriteLine(new string('=', 60)); userIO.WriteLine(""); DateTime dateTime = HelperMethods.GetDateTime("Enter the order date: "); int OrderNumber = HelperMethods.GetIntFromUser("Enter the order number: "); EditOrderResponse response = new EditOrderResponse(); Order oldOrder = manager.GetOrderByOrderNumber(dateTime, OrderNumber); Order order = oldOrder; if (oldOrder == null) { response.Success = false; response.Message = "No orders exist with this date."; } else { order.CustomerName = HelperMethods.GetCustomerName($"Previous Name: {oldOrder.CustomerName}\n Please enter the customers name: ", oldOrder.CustomerName); Console.WriteLine($"Previous State: {oldOrder.State}"); order.State = HelperMethods.GetStateTax(TaxRepository.GetTaxes(), oldOrder.State); Console.WriteLine($"Previous Product: {oldOrder.ProductType}"); order.ProductType = HelperMethods.GetProductInformation(ProductRepository.GetProducts()); order.Area = HelperMethods.GetDecimalFromString($"Previous Area: {oldOrder.Area}\n Enter the Area: ", oldOrder.Area); userIO.DisplayOrder(order); if (HelperMethods.GetYesNoAnswerFromUser("Would you like to create this order?")) { manager.DeleteOrder(oldOrder); manager.AddOrder(order); response.Success = true; response.Message = "Order successfully added."; } } }
public void Execute() { ConsoleIO.Header("\t~Edit Order~"); DateTime orderDate = ConsoleIO.DateLookupPrompt(); FlooringManager flooringManager = FlooringManagerFactory.Create(orderDate); IOrderRepository orderRepo = flooringManager.orderRepository; IProductRepository productRepository = flooringManager.productRepository; ITaxRepository taxRepository = flooringManager.taxRepository; ConsoleIO.Header("\t~Edit Order~"); Dictionary <int, Order> orderDictionary = flooringManager.GetAllOrders(orderDate); //Order singleOrder = orderDictionary.TakeWhile(o=>o.Value.OrderDate==orderDate) if (orderRepo.FileExists()) { if (orderRepo.LastOrder() == true) { ConsoleIO.DisplayAllOrders(orderDictionary, false, true, orderDate); Console.WriteLine(); string input = ConsoleIO.YOrNMessage("edit"); if (input == "Y") { DisplaySingleResponse singleResponse = flooringManager.GetOnlyOrder(orderDate); ConsoleIO.EditOrder(singleResponse.Order, flooringManager.GetAllTaxes(), flooringManager.GetAllProducts()); ConsoleIO.Header("\t~Edit Order"); ConsoleIO.DisplaySingleOrder(singleResponse.Order, true); do { singleResponse.Success = false; string saveAnswer = ConsoleIO.SavePrompt().ToUpper(); if (saveAnswer == "Y") { //save and exit //orderRepo.SaveOrder(response.Order); orderRepo.CloseRepo(singleResponse.Order); ConsoleIO.SaveCompleted(); singleResponse.Success = true; } else { string editAnswer = ConsoleIO.EditPrompt(); if (editAnswer == "Y") { ConsoleIO.AllowEdit(); ConsoleIO.KeyToContinue(); Console.ReadKey(); ConsoleIO.EditOrder(singleResponse.Order, flooringManager.GetAllTaxes(), flooringManager.GetAllProducts()); ConsoleIO.Header("\t~Edit Order~"); ConsoleIO.DisplaySingleOrder(singleResponse.Order, true); //edit answer } else if (editAnswer == "N") { ConsoleIO.ReturnMenu("saving"); singleResponse.Success = true; //dont save and go back to main menu } else { //go back to save prompt ConsoleIO.Header("\t~Edit Order~"); ConsoleIO.DisplaySingleOrder(singleResponse.Order, true); continue; } } } while (singleResponse.Success != true); //orderRepo.DeleteOrderFile(); //Console.WriteLine(); //ConsoleIO.OrderRemoved(0, true); //ConsoleIO.KeyToContinue(); //Console.ReadKey(); } //else //{ // //string editAnswer = ConsoleIO.EditPrompt(); // //if (editAnswer == "Y") // //{ // // ConsoleIO.AllowEdit(); // // ConsoleIO.KeyToContinue(); // // Console.ReadKey(); // // ConsoleIO.EditOrder(response.Order, flooringManager.GetAllTaxes(), flooringManager.GetAllProducts()); // // ConsoleIO.Header("\t~Edit Order~"); // // ConsoleIO.DisplaySingleOrder(response.Order, true); // // //edit answer // //} // //else if (editAnswer == "N") // //{ // // ConsoleIO.ReturnMenu("saving"); // // response.Success = true; // // //dont save and go back to main menu // //} // //else // //{ // // //go back to save prompt // // ConsoleIO.Header("\t~Edit Order~"); // // ConsoleIO.DisplaySingleOrder(response.Order, true); // // continue; // //} //} } else { ConsoleIO.Header("\t~Edit Order~"); int orderNumber = ConsoleIO.GetIntFromUser(ConsoleIO.OrderLookup()); DisplaySingleResponse response = flooringManager.LookupOrder(orderNumber, orderDate); if (response.Success) { ConsoleIO.Header("\t~Edit Order~"); ConsoleIO.DisplaySingleOrder(response.Order, true); Console.WriteLine(); string input = ConsoleIO.YOrNMessage("edit"); if (input == "Y") { ConsoleIO.EditOrder(response.Order, flooringManager.GetAllTaxes(), flooringManager.GetAllProducts()); ConsoleIO.Header("\t~Edit Order"); ConsoleIO.DisplaySingleOrder(response.Order, true); do { response.Success = false; string saveAnswer = ConsoleIO.SavePrompt().ToUpper(); if (saveAnswer == "Y") { //save and exit //orderRepo.SaveOrder(response.Order); orderRepo.CloseRepo(response.Order); ConsoleIO.SaveCompleted(); response.Success = true; } else { string editAnswer = ConsoleIO.EditPrompt(); if (editAnswer == "Y") { ConsoleIO.AllowEdit(); ConsoleIO.KeyToContinue(); Console.ReadKey(); ConsoleIO.EditOrder(response.Order, flooringManager.GetAllTaxes(), flooringManager.GetAllProducts()); ConsoleIO.Header("\t~Edit Order~"); ConsoleIO.DisplaySingleOrder(response.Order, true); //edit answer } else if (editAnswer == "N") { ConsoleIO.ReturnMenu("saving"); response.Success = true; //dont save and go back to main menu } else { //go back to save prompt ConsoleIO.Header("\t~Edit Order~"); ConsoleIO.DisplaySingleOrder(response.Order, true); continue; } } } while (response.Success != true); } } } } else { ConsoleIO.InvalidOrder(); ConsoleIO.KeyToContinue(); Console.ReadKey(); } //else //{ // ConsoleIO.KeyToContinue(); // Console.ReadKey(); //} }
public void Execute() { ConsoleIO.Header("\t~Add Order~"); DateTime orderDate = ConsoleIO.GetOrderDate(); FlooringManager flooringManager = FlooringManagerFactory.Create(orderDate); IOrderRepository orderRepo = flooringManager.orderRepository; IProductRepository productRepository = flooringManager.productRepository; ITaxRepository taxRepository = flooringManager.taxRepository; //if (!orderRepo.FileExists()) //{ //} ConsoleIO.Header("\t~Add Order~"); string custName = ConsoleIO.GetInputFromUser(ConsoleIO.GetCustName()); ConsoleIO.Header("\t~Add Order~"); string state = ConsoleIO.GetCustStateAbbrv(flooringManager.GetAllTaxes(), "\t~Add Order~", false, ""); ConsoleIO.Header("\t~Add Order~"); string prodType = ConsoleIO.GetProd(flooringManager.GetAllProducts(), false, "\t~Add Order~", ""); ConsoleIO.Header("\t~Add Order~"); decimal area = ConsoleIO.GetArea(); Product prodChosen = productRepository.GetOrderProd(prodType); Tax taxChosen = taxRepository.GetOrderTax(state); decimal taxRate = taxChosen.TaxRate; decimal cost = prodChosen.CostPerSquareFoot; decimal labor = prodChosen.LaborCostPerSquareFoot; decimal materialCost = area * cost; decimal laborCost = area * labor; decimal tax = ((materialCost + laborCost) * (taxRate / 100)); decimal total = materialCost + laborCost + tax; Console.Clear(); AddOrderResponse response = flooringManager.AddOrder(orderDate, custName, state, prodType, area, taxRate, cost, labor, materialCost, laborCost, tax, total, prodChosen); //display order after calculations do { ConsoleIO.Header("\t~Add Order~"); ConsoleIO.DisplaySingleOrder(response.Order, false); string saveAnswer = ConsoleIO.SavePrompt().ToUpper(); if (saveAnswer == "Y") { //save and exit orderRepo.SaveOrder(response.Order); orderRepo.CloseRepo(response.Order); Console.WriteLine(); ConsoleIO.SaveCompleted(); response.Success = true; } else { string editAnswer = ConsoleIO.EditPrompt(); if (editAnswer == "Y") { Console.WriteLine(); ConsoleIO.AllowEdit(); ConsoleIO.KeyToContinue(); Console.ReadKey(); ConsoleIO.EditOrder(response.Order, flooringManager.GetAllTaxes(), flooringManager.GetAllProducts()); //edit answer } else if (editAnswer == "N") { Console.WriteLine(); ConsoleIO.ReturnMenu("saving"); response.Success = true; //dont save and go back to main menu } else { //go back to save prompt continue; } } } while (response.Success != true); ConsoleIO.KeyToContinue(); Console.ReadKey(); }
public void Execute() { //bool invalidDate; //do //{ // invalidDate = true; ConsoleIO.Header("\t~Remove Order~"); DateTime orderDate = ConsoleIO.DateLookupPrompt(); FlooringManager flooringManager = FlooringManagerFactory.Create(orderDate); IOrderRepository orderRepo = flooringManager.orderRepository; IProductRepository productRepository = flooringManager.productRepository; ITaxRepository taxRepository = flooringManager.taxRepository; ConsoleIO.Header("\t~Remove Order~"); Dictionary <int, Order> orderDictionary = flooringManager.GetAllOrders(orderDate); //if (!orderRepo.FileExists()) //{ // //Console.WriteLine(); // //ConsoleIO.InvalidDate(); // ConsoleIO.TryAgain(); // Console.ReadKey(); //} //else if (orderRepo.FileExists()) { if (orderRepo.LastOrder() == true) { ConsoleIO.DisplayAllOrders(orderDictionary, false, true, orderDate); Console.WriteLine(); string input = ConsoleIO.YOrNMessage("remove"); if (input == "Y") { orderRepo.DeleteOrderFile(); Console.WriteLine(); ConsoleIO.OrderRemoved(0, true); ConsoleIO.KeyToContinue(); Console.ReadKey(); } else { Console.WriteLine(); ConsoleIO.ReturnMenu("removing"); ConsoleIO.KeyToContinue(); Console.ReadKey(); } } else { ConsoleIO.Header("\t~Remove Order~"); int orderNumber = ConsoleIO.GetIntFromUser(ConsoleIO.OrderLookup()); DisplaySingleResponse response = flooringManager.LookupOrder(orderNumber, orderDate); //if (response.Success) //{ ConsoleIO.DisplaySingleOrder(response.Order, true); Console.WriteLine(); string input = ConsoleIO.YOrNMessage("remove"); if (input == "Y") { while (orderRepo.RemoveOrder(response.Order.OrderNumber) == false) { ConsoleIO.InvalidOrder(); ConsoleIO.TryAgain(); } //{ // ConsoleIO.InvalidOrder(orderNumber.ToString()); // ConsoleIO.TryAgain(); //} while (orderRepo.RemoveOrder(orderNumber) == false); Console.WriteLine(); ConsoleIO.OrderRemoved(orderNumber, false); orderRepo.CloseRepo(response.Order); ConsoleIO.KeyToContinue(); Console.ReadKey(); } } //invalidDate = false; //} //else //{ // ConsoleIO.ErrorOccurred(); // Console.WriteLine(response.Message); //} } else { ConsoleIO.KeyToContinue(); Console.ReadKey(); } //} while (invalidDate); }