From 4ec1a768447105343cd39cc4ae872a3eb9d06dfb Mon Sep 17 00:00:00 2001 From: Alexandre Agostinho Date: Thu, 25 May 2023 11:38:43 +0200 Subject: [PATCH] console user profile ok --- MCTG/ConsoleApp/Menu/Core/PlainText.cs | 2 +- MCTG/ConsoleApp/Menu/ProfileMenu.cs | 8 ++---- MCTG/ConsoleApp/Menu/SearchUserRecipes.cs | 30 +++++++++++++++++++++++ MCTG/ConsoleApp/Menu/SearcherRecipe.cs | 4 +-- MCTG/ConsoleApp/Menu/ShowUserInfos.cs | 28 +++++++++++++++++++++ 5 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 MCTG/ConsoleApp/Menu/SearchUserRecipes.cs create mode 100644 MCTG/ConsoleApp/Menu/ShowUserInfos.cs diff --git a/MCTG/ConsoleApp/Menu/Core/PlainText.cs b/MCTG/ConsoleApp/Menu/Core/PlainText.cs index 3424e82..a3eb0db 100644 --- a/MCTG/ConsoleApp/Menu/Core/PlainText.cs +++ b/MCTG/ConsoleApp/Menu/Core/PlainText.cs @@ -26,7 +26,7 @@ namespace ConsoleApp.Menu.Core #region IMenu implementation public virtual IMenu? Return() { return null; } - public void Display() + public virtual void Display() { Console.Clear(); Console.WriteLine(InputStr); diff --git a/MCTG/ConsoleApp/Menu/ProfileMenu.cs b/MCTG/ConsoleApp/Menu/ProfileMenu.cs index e576c7e..72be742 100644 --- a/MCTG/ConsoleApp/Menu/ProfileMenu.cs +++ b/MCTG/ConsoleApp/Menu/ProfileMenu.cs @@ -15,15 +15,11 @@ namespace ConsoleApp.Menu : base("Profile") { _allSelectors.Add(new Selector( - new PlainText($"\nUser: {MasterManager.CurrentConnectedUser}\n\n" - + $"\tMail: {MasterManager.CurrentConnectedUser?.Mail}\n" - + $"\tMail: {MasterManager.CurrentConnectedUser?.Name}\n" - + $"\tMail: {MasterManager.CurrentConnectedUser?.Surname}\n"), + new ShowUserInfos(), "My informations")); _allSelectors.Add(new Selector( - new SearcherRecipe(new RecipeCollection("My recipes", - masterManager.DataMgr.GetRecipes().Where(r => r.AuthorMail == MasterManager.CurrentConnectedUser?.Mail).ToArray())), + new SearchUserRecipes(masterManager), "My recipes")); } diff --git a/MCTG/ConsoleApp/Menu/SearchUserRecipes.cs b/MCTG/ConsoleApp/Menu/SearchUserRecipes.cs new file mode 100644 index 0000000..47ac09e --- /dev/null +++ b/MCTG/ConsoleApp/Menu/SearchUserRecipes.cs @@ -0,0 +1,30 @@ +using Model; +using Model.Managers; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp.Menu +{ + internal class SearchUserRecipes : SearcherRecipe + { + MasterManager masterMgr; + + public SearchUserRecipes(MasterManager masterManager) : base(new RecipeCollection("My recipes")) + { + masterMgr = masterManager; + } + + public override void Update() + { + _recipeCollectionOnSearch = + new RecipeCollection("My recipes", masterMgr.DataMgr.GetFromData() + .Where(r => r.AuthorMail == MasterManager.CurrentConnectedUser?.Mail) + .ToArray()); + _allSelectors = ConvertRecipeCollectionInSelectors(); + base.Update(); + } + } +} diff --git a/MCTG/ConsoleApp/Menu/SearcherRecipe.cs b/MCTG/ConsoleApp/Menu/SearcherRecipe.cs index b3460b8..40705f5 100644 --- a/MCTG/ConsoleApp/Menu/SearcherRecipe.cs +++ b/MCTG/ConsoleApp/Menu/SearcherRecipe.cs @@ -14,7 +14,7 @@ namespace ConsoleApp.Menu /// internal class SearcherRecipe : Menu { - private readonly RecipeCollection _recipeCollectionOnSearch; + protected RecipeCollection _recipeCollectionOnSearch; public SearcherRecipe(RecipeCollection recipeCollection) : base("Search recipe") { @@ -24,7 +24,7 @@ namespace ConsoleApp.Menu } #region Methods - private List> ConvertRecipeCollectionInSelectors() + protected List> ConvertRecipeCollectionInSelectors() { List> newSelectors = new List>(); foreach (Recipe recipe in _recipeCollectionOnSearch) diff --git a/MCTG/ConsoleApp/Menu/ShowUserInfos.cs b/MCTG/ConsoleApp/Menu/ShowUserInfos.cs new file mode 100644 index 0000000..4d56035 --- /dev/null +++ b/MCTG/ConsoleApp/Menu/ShowUserInfos.cs @@ -0,0 +1,28 @@ +using ConsoleApp.Menu.Core; +using Model; +using Model.Managers; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ConsoleApp.Menu +{ + internal class ShowUserInfos : PlainText + { + public ShowUserInfos() + : base("") + { + } + + public override void Display() + { + Console.WriteLine( + $"\nUser: {MasterManager.CurrentConnectedUser}\n\n" + + $"\tMail: {MasterManager.CurrentConnectedUser?.Mail}\n" + + $"\tName: {MasterManager.CurrentConnectedUser?.Name}\n" + + $"\tSurname: {MasterManager.CurrentConnectedUser?.Surname}\n"); + } + } +}