コード例 #1
0
        /// <summary>
        /// Get the ingredients of the specified batch
        /// </summary>
        /// <param name="itemsMenu"></param>
        /// <param name="idBatch"></param>
        protected async Task <List <EntityMenu> > GetIngredientsBatchAsync(List <EntityMenu> itemsMenu, int idBatch = 1)
        {
            try
            {
                List <IEnumerable <Ingredient> > ingredientsBatch = await _ingredientsController.GetIngredientsBatchAsync();

                int countBatch = ingredientsBatch.Count;
                if (idBatch > ingredientsBatch.Count || idBatch < 0)
                {
                    _pageIngredients = await ValidationNavigation.BatchExistAsync(idBatch, countBatch);

                    idBatch = _pageIngredients;
                }
                idBatch--;
                IEnumerable <Ingredient> ingredients = ingredientsBatch.ElementAt(idBatch);
                foreach (Ingredient batch in ingredients)
                {
                    if (itemsMenu != null)
                    {
                        itemsMenu.Add(new EntityMenu()
                        {
                            Id = batch.Id, Name = $"    {batch.Name}", TypeEntity = "ingr"
                        });
                    }
                }
                idBatch++;
                itemsMenu = itemsMenu
                            .Select(i => i.TypeEntity == "pages"
                ? new EntityMenu {
                    Name = $"    Go to page. Pages: {idBatch}/{countBatch}", TypeEntity = "pages"
                }
                : i).ToList();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("    Press any key...");
                Console.ReadKey();
            }
            return(itemsMenu);
        }