public void CanEdit(string OrderDate, string NameInput, string StateInput, string ProductInput, decimal AreaInput, string NameEdit, string StateEdit, string ProductEdit, decimal AreaEdit, bool success) { OrderManager manager = OrderManagerFactory.Create(); DateTime orderDate = DateTime.Parse(OrderDate); PlaceNewOrderResponse response = manager.NewOrder(orderDate, NameInput, StateInput, ProductInput, AreaInput); Order toEdit = new Order { OrderNumber = response.Order.OrderNumber, OrderDate = response.Order.OrderDate, CustomerName = NameEdit, State = StateEdit, ProductType = ProductEdit, Area = AreaEdit, CostPerSquareFoot = 2.25m, LaborCostPerSquareFoot = 2.10m, MaterialCost = 450.00m, LaborCost = 420.00m, TotalTax = 54.375m, Total = 924.375m }; EditExistingOrderResponse editResponse = manager.EditOrder(toEdit); OrderLookupResponse loadResponse = manager.OrderLookup(response.Order.OrderNumber, orderDate); Assert.AreEqual(success, response.Success); Assert.AreEqual(loadResponse.Order.CustomerName, NameEdit); Assert.AreEqual(loadResponse.Order.State, StateEdit); Assert.AreEqual(loadResponse.Order.ProductType, ProductEdit); Assert.AreEqual(loadResponse.Order.Area, AreaEdit); }
public EditExistingOrderResponse EditOrder(Order editedOrder) { EditExistingOrderResponse response = new EditExistingOrderResponse(); bool failState = false; if (!failState) { DeleteOrderResponse deleteResponse = DeleteOrder(editedOrder.OrderDate, editedOrder.OrderNumber); if (deleteResponse.Success) { response.Order = _orderRepo.EditOrder(editedOrder); } else { failState = true; response.Message = "Failed to delete previous order"; } } if (failState) { response.Success = false; } else if (response.Order == null) { response.Success = false; response.Message = "An error occurred while submitting the order"; } else { response.Success = true; } return(response); }
public void Execute() { OrderManager manager = OrderManagerFactory.Create(); var listOfProducts = manager.GetAllProducts(); IEnumerable <Tax> listOfStates = manager.GetAllStates(); OrderLookupWorkflow lookupWorkflow = new OrderLookupWorkflow(); Order orderToDelete = lookupWorkflow.Execute(true); if (orderToDelete != null) { Order orderToEdit = new Order { OrderDate = orderToDelete.OrderDate, OrderNumber = orderToDelete.OrderNumber, CustomerName = orderToDelete.CustomerName, State = orderToDelete.State, TaxRate = orderToDelete.TaxRate, ProductType = orderToDelete.ProductType, Area = orderToDelete.Area, CostPerSquareFoot = orderToDelete.CostPerSquareFoot, LaborCostPerSquareFoot = orderToDelete.LaborCostPerSquareFoot, MaterialCost = orderToDelete.MaterialCost, LaborCost = orderToDelete.LaborCost, TotalTax = orderToDelete.TotalTax, Total = orderToDelete.Total }; bool shouldQuit = false; while (!shouldQuit) { Console.WriteLine("-----------------------------------------"); Console.WriteLine("What would you like to edit?"); Console.WriteLine("1. Customer Name\n2. Product Purchased\n3. State\n4. Square Footage Needed\n5. Quit"); Console.WriteLine("-----------------------------------------"); string fieldToEdit = Console.ReadLine(); switch (fieldToEdit) { case "1": EditCustomerName.Execute(orderToEdit); break; case "2": EditProduct.Execute(orderToEdit, listOfProducts); Recalculate(orderToEdit); break; case "3": EditState.Execute(orderToEdit, listOfStates); Recalculate(orderToEdit); break; case "4": EditArea.Execute(orderToEdit); Recalculate(orderToEdit); break; case "5": shouldQuit = true; break; default: Console.WriteLine("You must enter a number to make a selection. Quit to save."); break; } } EditExistingOrderResponse response = manager.EditOrder(orderToEdit); if (response.Success) { ConsoleIO.DisplayOrderDetails(response.Order); } else { Console.WriteLine("An error occurred"); Console.WriteLine(response.Message); } Console.WriteLine("\nPress any key to continue"); Console.ReadKey(); } }