private void OrderItems(NewCustomer.Customer customer) { int ans; do { SelectItem: ShowItems(); Console.WriteLine("Enter item to order"); int iId = Convert.ToInt16(Console.ReadLine()); ItemModel obj = null; foreach (ItemModel item in items) { if (item.ItemId == iId && item.IsItemAvailable) { obj = item; break; } else if (item.ItemId == iId && !item.IsItemAvailable) { Console.WriteLine("Item is either not available or It is an Invalid Option"); goto SelectItem; } } OrderedItemModel orderedItemsTemp = new OrderedItemModel(); Console.WriteLine($"Enter quantity of {obj.ItemName}"); orderedItemsTemp.OrderedItemQuantity = Convert.ToInt16(Console.ReadLine()); orderedItemsTemp.OrderedItem = obj; orderedItemList.Add(orderedItemsTemp); Console.WriteLine("\nDo You want to order more items\n1. Yes\n2. No\n"); ans = Convert.ToInt16(Console.ReadLine()); } while (ans == 1); }
public async Task <bool> ValidateOrderedItem(OrderedItemModel orderedItem) { ArticlesProvider articlesProvider = new ArticlesProvider(); Task <bool> articleExistsTask = articlesProvider.HasArticleWithPrice(orderedItem.ArticleId.Value, orderedItem.Price.Value); StocksProvider stocksProvider = new StocksProvider(); Task <bool> hasStocksTask = stocksProvider.HasEnoughStocksOfArticle(orderedItem.ArticleId.Value, orderedItem.SizeId.Value, orderedItem.ColorId, orderedItem.Quantity.Value); bool articleExists = await articleExistsTask; bool hasEnoughStocks = await hasStocksTask; bool isOrderValid = articleExists && hasEnoughStocks; return(isOrderValid); }