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
}
}