From 0907a60d7600e69f3ccb21b05e8dafbc874384dc Mon Sep 17 00:00:00 2001 From: Anthony RICHARD Date: Thu, 8 Jun 2023 05:19:12 +0200 Subject: [PATCH] meilleure encapsulation de la gameList --- Sources/Stim.Model/Manager.cs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/Sources/Stim.Model/Manager.cs b/Sources/Stim.Model/Manager.cs index b2ee887..0e02977 100644 --- a/Sources/Stim.Model/Manager.cs +++ b/Sources/Stim.Model/Manager.cs @@ -6,8 +6,8 @@ namespace Model { public class Manager { - private readonly IPersistance mgrpersistance; - public IReadOnlyList GameList => gameList.AsReadOnly(); + public readonly IPersistance mgrpersistance; + public ReadOnlyCollection GameList { get; private set; } private readonly List gameList; public Game? SelectedGame { get; set; } public User? CurrentUser { get; set; } @@ -17,13 +17,14 @@ namespace Model { mgrpersistance = persistance; gameList = persistance.LoadGame(); + GameList = new ReadOnlyCollection(gameList); Users = persistance.LoadUser(); } public IEnumerable FilterGames(string? filterName, string? filterTag1, string? filterTag2) { IEnumerable retList; - retList = GameList; + retList = gameList; if (filterName != null) retList = retList .Where(game => game.Name.Contains(filterName, StringComparison.OrdinalIgnoreCase) ); @@ -38,25 +39,22 @@ namespace Model public void AddGametoGamesList(Game game) { - gameList.Add(game); + if (!gameList.Contains(game)) gameList.Add(game); mgrpersistance.SaveGame(gameList); } public void AddUsertoUserList(User user) { - Users.Add(user); + if (!Users.Contains(user)) Users.Add(user); mgrpersistance.SaveUser(Users); } public void RemoveGameFromGamesList(Game game) { + SelectedGame = null; gameList.Remove(game); mgrpersistance.SaveGame(gameList); } - [ExcludeFromCodeCoverage] - public void SaveGames() - { - mgrpersistance.SaveGame(gameList); - } + public User? SearchUser(string username) { foreach (User user in Users) @@ -65,10 +63,5 @@ namespace Model } return null; } - [ExcludeFromCodeCoverage] - public void SaveUser() - { - mgrpersistance.SaveUser(Users); - } } }