using ConsoleApp.Menu.Core; using Model; namespace ConsoleApp.Menu { /// /// An utility to find a recipe. /// internal class SearcherRecipe : Menu { protected MasterManager _masterMgr; protected RecipeCollection _recipeCollectionOnSearch = new RecipeCollection("search"); public SearcherRecipe(MasterManager masterManager) : base("Search recipe") { _masterMgr = masterManager; } #region Methods protected List> ConvertRecipeCollectionInSelectors() { List> newSelectors = new List>(); foreach (Recipe recipe in _recipeCollectionOnSearch) { newSelectors.Add(new Selector(recipe, $"[{recipe.Id}]: {recipe.Title}")); } return newSelectors; } public override void Update() { _recipeCollectionOnSearch = _masterMgr.Recipe.GetAllRecipes(); _allSelectors = ConvertRecipeCollectionInSelectors(); base.Update(); } public override IMenu? Return() { if (CurrentSelected == null) return this; return new ShowRecipeInfos(CurrentSelected); } #endregion } }