public GetAreaResponse GetArea(string area) { GetAreaResponse response = new GetAreaResponse(); decimal areaChecker = decimal.MinValue; if (decimal.TryParse(area, out areaChecker)) { if (areaChecker > 100M) { response.Success = true; response.Area = areaChecker; return(response); } else { response.Success = false; response.Message = "The area for an order must be greater than 100 square feet."; return(response); } } else { response.Success = false; response.Message = "That was not a valid value for area."; return(response); } }
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 GetAreaResponse AssignArea(string area, FunctionType type) { GetAreaResponse response = new GetAreaResponse(); IGetArea getArea = GetAreaRuleFactory.Create(type); response = getArea.GetArea(area); return(response); }
public SaveOrderResponse SaveOrder(Order order) { SaveOrderResponse finalResponse = new SaveOrderResponse(); AddNameRule nameRule = new AddNameRule(); GetNameResponse nameResponse = new GetNameResponse(); nameResponse = nameRule.GetName(order.CustomerName); AddAreaRule areaRule = new AddAreaRule(); GetAreaResponse areaResponse = new GetAreaResponse(); areaResponse = areaRule.GetArea(order.Area.ToString()); AddProductRule productRule = new AddProductRule(); GetProductResponse productResponse = new GetProductResponse(); productResponse = productRule.GetProduct(order.ProductType); AddTaxesRule taxesRule = new AddTaxesRule(); GetTaxesResponse taxesResponse = new GetTaxesResponse(); taxesResponse = taxesRule.GetTaxes(order.State); finalResponse.NameIsOkay = nameResponse.Success; finalResponse.AreaIsOkay = areaResponse.Success; finalResponse.ProductIsOkay = productResponse.Success; finalResponse.TaxIsOkay = taxesResponse.Success; if (finalResponse.NameIsOkay && finalResponse.AreaIsOkay && finalResponse.ProductIsOkay && finalResponse.TaxIsOkay) { finalResponse.EverythingIsAlright = true; } else { finalResponse.EverythingIsAlright = false; } return(finalResponse); }
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); }