using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; using Model; namespace ConsoleApp.Menu { /// /// An utility to find a recipe. /// internal class SearcherRecipe : Menu { private RecipeCollection _recipeCollectionOnSearch; public SearcherRecipe(RecipeCollection recipeCollection) : base("Search recipe") { _recipeCollectionOnSearch = recipeCollection; _selectList = SearchInSelection(); } #region Methodes protected override List> SearchInSelection() { RecipeCollection newRCSearchView = _recipeCollectionOnSearch.ResearchByName(InputStr.ToString()); List> newSelectors = new List>(); foreach (Recipe recipe in newRCSearchView) { newSelectors.Add(new Selector(recipe, $"[{recipe.Id}]: {recipe.Title}")); } return newSelectors; } public override IMenu? Return() { if (CurrentSelected == null) throw new Exception("Error: CurrentSelected is null."); return new PlainText(CurrentSelected.ToString()); } #endregion } }