public void ConfirmDeletion() { Console.ForegroundColor = ConsoleColor.Red; Console.Beep(); Console.Beep(); Console.Beep(); Console.WriteLine("\tARE YOU SURE YOU WANT TO DELETE THIS ORDER? (Y)es or (N)o"); string input = Console.ReadLine().ToUpper(); if (input == "Y") { OrderOperations ops = new OrderOperations(); Response response = ops.OrderToDelete(formattedDate, orderNumber); if (response.Success) { Console.WriteLine(response.Message); } else { Console.WriteLine(response.Message); } } else { MainMenu mainMenu = new MainMenu(); mainMenu.Execute(); } }
public Order DisplayOrderInformation(string file, int orderNumber) { var ops = new OrderOperations(); //string formattedDate = GetOrderDateFromUser(); //int num = GetOrderNumberFromUser(); var response = ops.GetOrder(file, orderNumber); //_currentOrder = response.OrderInfo; if (response.Success) { _currentOrder = response.OrderInfo; PrintOrderInformation(response.OrderInfo); return _currentOrder; } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\tError occurred!!"); Console.WriteLine(response.Message); Console.WriteLine("\tPress enter to continue..."); log.ErrorMessage = "That was not a valid order UI:DisplayOrdererInfo...."; ops.CallingErrorLogRepository(log.ErrorMessage); Console.ReadLine(); //GetOrderNumberFromUser();//******************** return null; } }
public string CreateDate() { DateTime currentDate = DateTime.Now; OrderOperations ops = new OrderOperations(); formattedDate = ops.CheckFileDate(currentDate); return formattedDate; }
public void GetOrder_ShouldReturn_True_IfOrderExists() { //Arrange var repo = new TestRepository(); string fakeDate = @"DataFiles\TestFiles\Orders_01012020.txt"; OrderOperations ops = new OrderOperations(repo); //Act Response response = ops.GetOrder(fakeDate, 2); //Assert Assert.AreEqual(true, response.Success); }
public void MatchState_ShouldReturn_TaxRate() { //Arrange var repo = new TestRepository(); var errorLogRepository = new FakeErrorLogRepository(); string fakeDate = @"DataFiles\TestFiles\Orders_01012020.txt"; OrderOperations ops = new OrderOperations(repo, errorLogRepository); //Act var taxRate = ops.MatchState("OH"); //Assert Assert.AreEqual(6.25M, taxRate); }
public void GetOrder_ShouldReturn_False_IfOrder_DoesNotExist() { //Arrange var repo = new TestRepository(); var errorLogRepository = new FakeErrorLogRepository(); string fakeDate = @"DataFiles\TestFiles\Orders_01012020.txt"; OrderOperations ops = new OrderOperations(repo, errorLogRepository); //Act Response response = ops.GetOrder(fakeDate, 5); //Assert Assert.AreEqual(false, response.Success); }
public void ShouldReturn_AllOrders() { //Arrange var repo = new TestRepository(); string fakeDate = @"DataFiles\TestFiles\Orders_01012020.txt"; OrderOperations ops = new OrderOperations(repo); //Act List<Order> orders = ops.GetAllOrders(fakeDate); //Assert Assert.AreEqual(orders.Count, 2); Assert.AreEqual(orders.Select(o => o.OrderNumber).Contains(1), true); }
public void ChangeProduct() { OrderOperations ops = new OrderOperations(); Console.ForegroundColor = ConsoleColor.White; Console.Write("\tProduct Type ({0}): ", _currentOrder.ProductType.ToUpper()); string inputP = Console.ReadLine(); if (inputP != "") //want to change product { _currentOrder.ProductType = inputP; _currentOrder.CostSqFt = ops.ReturnCostPerSquareFoot(_currentOrder.ProductType); } _currentOrder.CostSqFt = ops.ReturnCostPerSquareFoot(_currentOrder.ProductType); }
public int DisplayAllAccounts(string file) { Console.Clear(); var ops = new OrderOperations(); //get all orders from the entered file List<Order> allOrdersToDisplay = ops.GetAllOrders(file); Console.WriteLine("\t"); foreach (var a in allOrdersToDisplay) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\t************************"); Console.WriteLine("\tOrder Number: {0}", a.OrderNumber); Console.WriteLine("\t************************"); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\tName: {0}", a.LastName.ToUpper()); Console.WriteLine("\tState: {0}", a.State.ToUpper()); } do { Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\n PLEASE CH0OSE AN ORDER NUMBER...."); string input = Console.ReadLine(); int OrderNumber; if (int.TryParse(input, out OrderNumber)) { // is this valid order if (ops.GetOrder(file, OrderNumber).Success) { Console.Clear(); return OrderNumber; } } Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\tThat was not a valid entry...."); log.ErrorMessage = "That was not a valid order number entry UI:DisplayALlAccounts...."; ops.CallingErrorLogRepository(log.ErrorMessage); Console.WriteLine("\tPress enter to continue...."); Console.ReadLine(); } while (true); }
public void Execute() { Console.Clear(); var mgr = ManagerFactory.CreateProductManagr(); mgr.ListAllProducts(); var orderOps = new OrderOperations(); DisplayAllProducts(); GetCustomerName(); GetCustomerState(); GetProductType(); GetArea(); Order orderToAdd = orderOps.NewOrderCalculations(_orderToAdd); PrintOrderDetails(orderToAdd); Console.ReadLine(); OrderToConfirm(orderToAdd); Console.ReadLine(); }
private void DisplayOrderInformation(DateTime orderDate) { var ops = new OrderOperations(); var response = ops.GetOrders(orderDate); Console.Clear(); if (response.Success) { PrintOrderDetails(response.Data, orderDate); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } else { Console.WriteLine("A problem occurred..."); Console.WriteLine(response.Message); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } }
//calls CreateOrder and stores a Order in response. public void PopulateOrder(string formattedDate) { OrderOperations ops = new OrderOperations(); var response = new Response(); Order order = new Order(); bool isValid = false; decimal stateRate = 0; Console.ForegroundColor = ConsoleColor.Yellow; Console.Clear(); Console.WriteLine("\tEnter Account Information"); Console.WriteLine("\t----------------------"); Console.ForegroundColor = ConsoleColor.White; bool checkedInput = true; do { Console.Write("\tLast Name: "); order.LastName = Console.ReadLine(); if (order.LastName.Length <= 0) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\tThat was not a valid entry.\n\t Please enter a name..."); log.ErrorMessage = "That was not a valid name(name) UI:PopulateOrder/AddWorkflow...."; ops.CallingErrorLogRepository(log.ErrorMessage); checkedInput = false; continue; } checkedInput = ops.ValidateInput(order.LastName.ToCharArray()); if (checkedInput == false) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\tNo special characters in name are permitted.\n\t Please enter valid name"); log.ErrorMessage = "That was not a valid name(name) UI:PopulateOrder/AddWorkflow...."; ops.CallingErrorLogRepository(log.ErrorMessage); } else { checkedInput = true; } } while (checkedInput == false); do { Console.ForegroundColor = ConsoleColor.White; Console.Write("\tState: "); order.State = Console.ReadLine(); //string state = order.State; if (order.State.Length < 2) { Console.WriteLine("\tThat was not a valid entry.\n Please enter a state..."); log.ErrorMessage = "That was not a valid entry(state) UI:PopulateOrder/AddWorkflow...."; ops.CallingErrorLogRepository(log.ErrorMessage); } else { isValid = true; stateRate = ops.MatchState(order.State); if (stateRate == 0) { isValid = false; } } } while (!isValid); //setting tax rate based on state order.TaxRate = stateRate; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\tYour tax rate is {0}: ", order.TaxRate); //-------------PRODUCT----------------------- Product product = new Product(); do { Console.ForegroundColor = ConsoleColor.White; //Console.WriteLine(""); Console.Write("\tPlease enter a product type:\n\t\t Carpet, Laminate, Tile, Wood: "); order.ProductType = Console.ReadLine(); if (order.ProductType.Length > 8 || order.ProductType.Length < 1) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\tThat was not a valid entry.\n Please enter a product..."); log.ErrorMessage = "That was not a valid entry (product) UI:PopulateOrder...."; ops.CallingErrorLogRepository(log.ErrorMessage); } else { order.CostSqFt = ops.ReturnCostPerSquareFoot(order.ProductType); } } while (order.CostSqFt == 0);// is 0 Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\tYour cost per square foot is {0:c}: ", order.CostSqFt); // getting labor per square foot order.LaborSqFt = ops.LaborPerSquareFt(order.ProductType); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("\tYour labor per square foot is {0:c}: ", order.LaborSqFt); // getting area do { Console.ForegroundColor = ConsoleColor.White; Console.Write("\tArea: "); string input = Console.ReadLine(); if (input.Length == 0) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("\tThat was not a valid entry.\n\t Please enter a Area..."); log.ErrorMessage = "That was not a valid Area(Area) UI:PopulateOrder/AddWorkflow...."; ops.CallingErrorLogRepository(log.ErrorMessage); order.Area = 0; continue; } order.Area = decimal.Parse(input); if (order.Area <= 0) { Console.WriteLine("\tYou need to get a bigger house!"); log.ErrorMessage = "That was not a valid area (area) UI:PopulateOrder...."; ops.CallingErrorLogRepository(log.ErrorMessage); } } while (order.Area <= 0); // getting material cost order.MaterialCost = ops.MaterialCost(order.ProductType, order.Area); Console.ForegroundColor = ConsoleColor.White; Console.Write("\tMaterial Cost: {0:c} ", order.MaterialCost); //getting labor cost Console.ForegroundColor = ConsoleColor.White; order.LaborCost = ops.LaborCost(order.ProductType, order.Area); Console.Write("\nLabor Cost: {0:c} ", order.LaborCost); //get tax Console.ForegroundColor = ConsoleColor.White; order.Tax = ops.Tax(order.State, order.MaterialCost); Console.Write("\nTax: {0:c} ", order.Tax); //get total Console.ForegroundColor = ConsoleColor.White; Console.Write("\nTotal: {0:c}", order.Total); order.Total = ops.Total(order.MaterialCost, order.Tax, order.LaborCost); Console.WriteLine(); ops.CreateOrder(order, formattedDate); Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\n\tHere is your new order information: \n"); DisplayOrderWorkflow dowf = new DisplayOrderWorkflow(); dowf.PrintOrderInformation(order); Console.ForegroundColor = ConsoleColor.White; }
public void ChangeTotal() { OrderOperations ops = new OrderOperations(); _currentOrder.Total = ops.Total(_currentOrder.MaterialCost, _currentOrder.Tax, _currentOrder.LaborCost); }
public void ChangeState() { OrderOperations ops = new OrderOperations(); Console.ForegroundColor = ConsoleColor.White; Console.Write("\tState ({0}): ", _currentOrder.State.ToUpper()); string inputS = Console.ReadLine(); if (inputS.Length <= 2) { if (inputS != "") // want to change state { _currentOrder.State = inputS; _currentOrder.TaxRate = ops.MatchState(_currentOrder.State); } } _currentOrder.TaxRate = ops.MatchState(_currentOrder.State); }
public void ChangeMaterialCost() { OrderOperations ops = new OrderOperations(); _currentOrder.MaterialCost = ops.MaterialCost(_currentOrder.ProductType, _currentOrder.Area); }
public void ChangeLaborPerSquareFt() { OrderOperations ops = new OrderOperations(); _currentOrder.LaborSqFt = ops.LaborPerSquareFt(_currentOrder.ProductType); }
public void ChangeLaborCost() { OrderOperations ops = new OrderOperations(); _currentOrder.LaborCost = ops.LaborCost(_currentOrder.ProductType, _currentOrder.Area); }
public Order NewOrder() { OrderOperations ops = new OrderOperations(); ////************************************************************************************* Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("\tHere is your new order information: "); DisplayOrderWorkflow dowf = new DisplayOrderWorkflow(); Response response = new Response(); //dowf.DisplayOrderInformation(EditedOrder); //Order editedOrder = dowf.DisplayOrderInformation(formattedDate, orderNumber); Order newEditedOrder = response.OrderInfo; response = ops.EditOrder(formattedDate, orderNumber, _currentOrder); dowf.PrintOrderInformation(response.OrderInfo); Console.ForegroundColor = ConsoleColor.White; return newEditedOrder; }
public void OrderToConfirm(Order orderToAdd) { var orderOps = new OrderOperations(); DateTime orderDateToday = DateTime.Today; var confirmOrder = ""; bool validEntry = true; do { Console.WriteLine("Would you like to place this order? Please enter Yes or No."); confirmOrder = Console.ReadLine(); confirmOrder = confirmOrder.Substring(0, 1).ToUpper(); if (confirmOrder != "Y" && confirmOrder != "N") { Console.WriteLine("That is an invalid entry. Please input yes or no."); validEntry = false; } if (string.IsNullOrEmpty(confirmOrder)) { Console.WriteLine("You must make a selection. Please input Yes or No."); validEntry = false; } else { validEntry = true; } } while (!validEntry); if (confirmOrder == "Y") { orderOps.NewOrderNumber(orderToAdd, orderDateToday); var response = orderOps.AddNewOrder(orderToAdd, orderDateToday); if (response.Success) { Console.WriteLine("========| Order Confirmation | ========"); Console.WriteLine("Order number: {0}",response.Data.OrderNumber); Console.WriteLine("Product Type: {0}", response.Data.ProductType); Console.WriteLine("Amount Ordered: {0}sqft", response.Data.Area); Console.WriteLine("Material Cost: {0:c}", response.Data.MaterialCost); Console.WriteLine("Labor Cost: {0:c}", response.Data.LaborCost); Console.WriteLine("Tax: {0:c}", response.Data.Tax); Console.WriteLine("Total: {0:c}", response.Data.Total); } } else { var response = orderOps.AddNewOrder(orderToAdd, orderDateToday); Console.WriteLine(response.Message); } }
public void ChangeTax() { OrderOperations ops = new OrderOperations(); _currentOrder.Tax = ops.Tax(_currentOrder.State, _currentOrder.MaterialCost); }