public void CanEditOrderTestRepo() { var productRepo = new ProductFileRepo(Settings.ProductPath); var taxRepo = new TaxFileRepo(Settings.TaxPath); var product = productRepo.LoadProducts("tile"); var tax = taxRepo.LoadTaxes("MN"); OrderManager manager = new OrderManager(new FileOrderRepo(FilePath, Temp), productRepo, taxRepo); AddAnOrderResponse addOrder = manager.AddOrder(new DateTime(2018, 09, 25), "Name Test", tax, product, 100, 0); manager.AddToOrderRepo(addOrder.AddedOrder); addOrder.AddedOrder.Area = 250; addOrder.AddedOrder.CustomerName = "Edited Name Test"; manager.EditOrder(addOrder.AddedOrder); var orderResponse = manager.OrderLookupDate(addOrder.AddedOrder.OrderDate); var editedOrder = orderResponse.ListOfOrders.SingleOrDefault(o => o.OrderNumber.Equals(addOrder.AddedOrder.OrderNumber)); Assert.IsNotNull(editedOrder); Assert.AreEqual(addOrder.AddedOrder.Area, editedOrder.Area); Assert.AreEqual(addOrder.AddedOrder.CustomerName, editedOrder.CustomerName); }
internal static void Execute() { Console.Clear(); Console.WriteLine("Add an Order "); Console.WriteLine("*************************************"); Console.WriteLine(); OrderManager manager = OrderManagerFactory.Create(); DateTime orderDate = ConsoleIO.GetFutureDateTime("Enter a valid Date EX: MM/DD/YYYY "); string customerName = ConsoleIO.GetStringFromUser("Customer Name: "); TaxLookupResponse taxResponse = manager.LoadTaxes(); var state = ConsoleIO.GetStateFromUser("State: ", taxResponse.Taxes); IEnumerable <Product> GetProducts = manager.GetAllProducts(); ConsoleIO.ShowListOfProducts(GetProducts); ProductLookupResponse productResponse = manager.LoadProducts(); var productType = ConsoleIO.GetProductFromUser("Product Type: ", productResponse.Products); decimal area = ConsoleIO.GetAreaFromUser("Area: "); Console.WriteLine(); Console.WriteLine("*************************************"); AddAnOrderResponse addResponse = manager.AddOrder(orderDate, customerName, state, productType, area, 0); if (!addResponse.Success) { Console.WriteLine("An error has occured"); Console.WriteLine(addResponse.Message); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } else { Console.WriteLine($"Customer Name: {customerName}, State: {state.Abbreviation}, Product Type: {productType.Name}, Area: {area}"); Console.WriteLine(); if (ConsoleIO.GetYesNoAnswerFromUser($"Are you sure you want to add this file?") == "Y") { manager.AddToOrderRepo(addResponse.AddedOrder); Console.WriteLine("The Order was successfully added."); Console.WriteLine("Press any key to continue..."); } else { Console.WriteLine("Order cancelled. Press any key to continue."); Console.WriteLine("Press any key to continue..."); } Console.ReadLine(); } }
public void CanSaveOrder() { OrderManager manager = new OrderManager(new OrdersTestRepo(), new ProductTestRepo(), new TaxTestRepo()); Order order = AutoFixtureHelper.CreateOrder(); manager.AddToOrderRepo(order); DisplayOrderResponse response = manager.DisplayOrder(order.OrderDate); Assert.IsNotNull(response.ListOfOrders); Assert.IsTrue(response.Success); Assert.AreEqual(order.OrderNumber, 1); //Tests the GetORderNumberBasedOnDateMethod }
public void Execute() { OrderManager orderManager = OrderManagerFactory.Create(); Console.Clear(); Console.WriteLine("Add Order"); Console.WriteLine("--------------------------------"); DateTime date = ConsoleIO.GetRequiredAddDateFromUser("Enter order date. Ex. MM/DD/YYYYY : "); string customerName = ConsoleIO.RequiredStringFromUser("CustomerName: "); string state = ConsoleIO.GetRequiredStateFromUser("State abbreviation: "); List <Product> listProducts = orderManager.GetListOfProducts(); ConsoleIO.DisplayListOfProducts(listProducts); string productType = ConsoleIO.GetRequiredProductType("Enter product type: "); decimal area = ConsoleIO.GetRequiredAreaFromUser("Area: "); AddOrderResponse response = orderManager.AddOrder(date, customerName, state, productType, area, 0); if (!response.Success) { Console.WriteLine("An error occured"); Console.WriteLine(response.Message); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } else { Console.WriteLine(); ConsoleIO.DisplayOrderDetails(response.Order); Console.WriteLine(); if (ConsoleIO.GetYesNoAnswerFromUser("Add the followng order") == "Y") { orderManager.AddToOrderRepo(response.Order); Console.WriteLine("Order Added!"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } else { Console.WriteLine("Order Cancelled"); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } } }
public void CanAddOrderTest(string customerName, string state, string material, decimal area, bool success) { var productRepo = new ProductFileRepo(Settings.ProductPath); var taxRepo = new TaxFileRepo(Settings.TaxPath); var product = productRepo.LoadProducts(material); var tax = taxRepo.LoadTaxes(state); OrderManager manager = new OrderManager(new FileOrderRepo(FilePath, Temp), new ProductFileRepo(Settings.ProductPath), new TaxFileRepo(Settings.TaxPath)); AddAnOrderResponse addOrder = manager.AddOrder(new DateTime(2020, 09, 25), customerName, tax, product, area, 0); manager.AddToOrderRepo(addOrder.AddedOrder); var thisOrder = manager.OrderLookupDate(new DateTime(2020, 09, 25)); Assert.AreEqual(3, thisOrder.ListOfOrders.Count()); var orderThatIAdded = thisOrder.ListOfOrders.SingleOrDefault(o => o.OrderNumber == addOrder.AddedOrder.OrderNumber); Assert.AreEqual(addOrder.AddedOrder.CustomerName, orderThatIAdded.CustomerName); Assert.AreEqual(addOrder.AddedOrder.Area, orderThatIAdded.Area); Assert.AreEqual(addOrder.AddedOrder.State, orderThatIAdded.State); }
public void CanDeleteOrder() { var productRepo = new ProductFileRepo(Settings.ProductPath); var taxRepo = new TaxFileRepo(Settings.TaxPath); var product = productRepo.LoadProducts("tile"); var tax = taxRepo.LoadTaxes("MN"); OrderManager manager = new OrderManager(new FileOrderRepo(FilePath, Temp), new ProductFileRepo(Settings.ProductPath), new TaxFileRepo(Settings.TaxPath)); AddAnOrderResponse addResponse = manager.AddOrder(new DateTime(2020, 09, 25), "Name Test", tax, product, 100, 0); manager.AddToOrderRepo(addResponse.AddedOrder); var thisOrder = manager.OrderLookupDate(new DateTime(2020, 09, 25)); Assert.AreEqual(3, thisOrder.ListOfOrders.Count()); manager.DeleteOrder(addResponse.AddedOrder.OrderDate, addResponse.AddedOrder.OrderNumber); var afterDeleted = manager.OrderLookupDate(new DateTime(2020, 09, 25)); Assert.AreEqual(2, afterDeleted.ListOfOrders.Count()); }