public void QueryUserEditArea(OrderManager manager, List <Order> orders, int index) { bool divider = false; orders[index].DynamicDisplayFormat(); Instructions.EditingInstructions(); Prompt.PressKeyToContinue(); while (!divider) { string area = Query.GetAreaFromUser(); GetAreaResponse areaResponse = new GetAreaResponse(); areaResponse = manager.AssignArea(area, FunctionType.EditOrder); if (areaResponse.Success) { if (areaResponse.Edited) { orders[index].CalculateOrderValues(orders[index].CustomerName, areaResponse.Area, orders[index].Product, orders[index].Taxes); divider = true; } else { divider = true; } } else { Alert.AlertUserInvalidInput(areaResponse); } } }
public Order CreateNewOrder() { OrderManager manager = OrderManagerFactory.Create(); Order newOrder = new Order(); bool validName = false; string finalName = null; while (!validName) { string name = Query.GetNameFromUser(); GetNameResponse response = new GetNameResponse(); response = manager.AssignCustomerName(name, FunctionType.AddOrder); if (response.Success) { finalName = response.Name; validName = true; } else { Alert.AlertUserInvalidInput(response); } } bool validState = false; Taxes finalTaxes = null; while (!validState) { string state = Query.GetTaxesFromUser(); GetTaxesResponse response = new GetTaxesResponse(); response = manager.AssignTaxInfo(state, FunctionType.AddOrder); if (response.Success) { finalTaxes = response.Taxes; validState = true; } else { Alert.AlertUserInvalidInput(response); } } bool validProduct = false; Product finalProduct = null; while (!validProduct) { string product = Query.GetProductFromUser(); GetProductResponse response = new GetProductResponse(); response = manager.AssignProductInfo(product, FunctionType.AddOrder); if (response.Success) { finalProduct = response.Product; validProduct = true; } else { Alert.AlertUserInvalidInput(response); } } bool validArea = false; decimal finalArea = decimal.MinValue; while (!validArea) { string area = Query.GetAreaFromUser(); GetAreaResponse response = new GetAreaResponse(); response = manager.AssignArea(area, FunctionType.AddOrder); if (response.Success) { finalArea = response.Area; validArea = true; } else { Alert.AlertUserInvalidInput(response); } } newOrder.CalculateOrderValues(finalName, finalArea, finalProduct, finalTaxes); return(newOrder); }