diff --git a/MCTG/ConsoleApp/Menu/Menu.cs b/MCTG/ConsoleApp/Menu/Menu.cs index 22eae40..86c7639 100644 --- a/MCTG/ConsoleApp/Menu/Menu.cs +++ b/MCTG/ConsoleApp/Menu/Menu.cs @@ -24,8 +24,8 @@ namespace ConsoleApp.Menu private set { _currentLine = value; - if (_currentLine < 0) _currentLine = 0; - if (_currentLine > _selectList.Count) _currentLine = _selectList.Count-1; + if (_currentLine <= 0) _currentLine = 0; + else if (_currentLine >= _selectList.Count) _currentLine = _selectList.Count-1; } } @@ -59,6 +59,9 @@ namespace ConsoleApp.Menu public virtual void Display() { + _screenDisplay.Clear(); + Console.Clear(); + _screenDisplay.AppendLine($"[ {Title} ]"); _screenDisplay.AppendLine("-------------------------------------------"); @@ -77,14 +80,16 @@ namespace ConsoleApp.Menu _screenDisplay.AppendLine($"{_selectList[i].Line}"); } - - Console.Clear(); + + if (_selectList == null || _selectList.Count == 0) + _screenDisplay.AppendLine("Empty..."); + Console.WriteLine(_screenDisplay); } - public void SelectNext() => CurrentSelected = _selectList[++CurrentLine].Item; + public void SelectNext() => CurrentSelected = _selectList[CurrentLine++].Item; - public void SelectPrevious() => CurrentSelected = _selectList[--CurrentLine].Item; + public void SelectPrevious() => CurrentSelected = _selectList[CurrentLine--].Item; public void EnableWriteMode() => WriteMode = true; diff --git a/MCTG/ConsoleApp/Menu/SearcherRecipe.cs b/MCTG/ConsoleApp/Menu/SearcherRecipe.cs index 2c50f05..e509938 100644 --- a/MCTG/ConsoleApp/Menu/SearcherRecipe.cs +++ b/MCTG/ConsoleApp/Menu/SearcherRecipe.cs @@ -19,33 +19,29 @@ namespace ConsoleApp.Menu public SearcherRecipe(RecipeCollection recipeCollection) : base("Search recipe") { _recipeCollectionOnSearch = recipeCollection; - UpdateSelection(_recipeCollectionOnSearch); + Update(); } #region Methodes - private void UpdateSelection(RecipeCollection recipeCollection) + public override void Update() { + RecipeCollection newRCSearchView = + _recipeCollectionOnSearch.ResearchByName(InputStr.ToString()); + _selectList.Clear(); - if (recipeCollection == null || recipeCollection.Count == 0) + + foreach (Recipe recipe in newRCSearchView) { - Console.WriteLine("Empty menu..."); - return; + _selectList.Add(new Selector(recipe, $"[{recipe.Id}]: {recipe.Title}")); } - foreach (Recipe recipe in recipeCollection) + if (_selectList == null || _selectList.Count == 0) { - _selectList.Add(new Selector(recipe, $"[{recipe.Id}]: {recipe.Title}")); + CurrentSelected = null; + return; } CurrentSelected = _selectList[0].Item; } - public override void Update() - { - RecipeCollection newRCSearchView = - _recipeCollectionOnSearch.ResearchByName(InputStr.ToString()); - - UpdateSelection(newRCSearchView); - } - public override void Return() { Console.WriteLine(CurrentSelected); diff --git a/MCTG/ConsoleApp/MenuManager.cs b/MCTG/ConsoleApp/MenuManager.cs index d4800ec..cfd7a0f 100644 --- a/MCTG/ConsoleApp/MenuManager.cs +++ b/MCTG/ConsoleApp/MenuManager.cs @@ -27,7 +27,7 @@ namespace ConsoleApp return; } - if (cki.Key == ConsoleKey.Backspace) + if (cki.Key == ConsoleKey.Backspace && menu.InputStr.Length > 0) { menu.InputStr.Remove(menu.InputStr.Length-1, 1); return;