/// <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); }