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 readonly RecipeCollection _recipeCollectionOnSearch; public SearcherRecipe(RecipeCollection recipeCollection) : base("Search recipe") { _recipeCollectionOnSearch = recipeCollection; _allSelectors = ConvertRecipeCollectionInSelectors(); _selectList = _allSelectors; } #region Methods private List> ConvertRecipeCollectionInSelectors() { List> newSelectors = new List>(); foreach (Recipe recipe in _recipeCollectionOnSearch) { newSelectors.Add(new Selector(recipe, $"[{recipe.Id}]: {recipe.Title}")); } return newSelectors; } public override IMenu? Return() { if (CurrentSelected == null) throw new ArgumentNullException("CurrentSelected"); return new PlainText(CurrentSelected.ToString()); } #endregion } }