private bool IsValidOrderInput(string input, string request) { switch (request) { case NameRequest: return(_orderInputValidator.IsValidName(input)); case AddressRequest: return(_orderInputValidator.IsValidAddress(input)); case DueDateRequest: return(_orderInputValidator.IsValidDueDate(input, DateInputFormat)); default: return(_orderInputValidator.IsValidQuantity(input)); } }
private OrderItemsCollection GetOrderItems(string[] orderDetails) { var orderItems = new List <OrderItem>(); foreach (var item in _productsList) { string optionInDisplayName = $"{item.GetDisplayName().ToLower()}s"; var itemIndex = Array.FindIndex(_csvFileHeaders, x => x.ToLower() == optionInDisplayName); var inputForItem = orderDetails[itemIndex]; if (inputForItem != "") { if (!_orderInputValidator.IsValidQuantity(inputForItem)) { throw (new InvalidInputException($"{inputForItem} is an invalid input - Quantity should be recorded in round number and within the range of 1 - 100.")); } var quantity = Int32.Parse(inputForItem); item.SetQuantity(quantity); orderItems.Add(item); } } return(new OrderItemsCollection(orderItems)); }