meilleure encapsulation de la gameList

Popup_qui_marche_pas
Anthony RICHARD 2 years ago
parent 0a14886776
commit 0907a60d76

@ -6,8 +6,8 @@ namespace Model
{ {
public class Manager public class Manager
{ {
private readonly IPersistance mgrpersistance; public readonly IPersistance mgrpersistance;
public IReadOnlyList<Game> GameList => gameList.AsReadOnly(); public ReadOnlyCollection<Game> GameList { get; private set; }
private readonly List<Game> gameList; private readonly List<Game> gameList;
public Game? SelectedGame { get; set; } public Game? SelectedGame { get; set; }
public User? CurrentUser { get; set; } public User? CurrentUser { get; set; }
@ -17,13 +17,14 @@ namespace Model
{ {
mgrpersistance = persistance; mgrpersistance = persistance;
gameList = persistance.LoadGame(); gameList = persistance.LoadGame();
GameList = new ReadOnlyCollection<Game>(gameList);
Users = persistance.LoadUser(); Users = persistance.LoadUser();
} }
public IEnumerable<Game> FilterGames(string? filterName, string? filterTag1, string? filterTag2) public IEnumerable<Game> FilterGames(string? filterName, string? filterTag1, string? filterTag2)
{ {
IEnumerable<Game> retList; IEnumerable<Game> retList;
retList = GameList; retList = gameList;
if (filterName != null) retList = retList if (filterName != null) retList = retList
.Where(game => game.Name.Contains(filterName, StringComparison.OrdinalIgnoreCase) .Where(game => game.Name.Contains(filterName, StringComparison.OrdinalIgnoreCase)
); );
@ -38,25 +39,22 @@ namespace Model
public void AddGametoGamesList(Game game) public void AddGametoGamesList(Game game)
{ {
gameList.Add(game); if (!gameList.Contains(game)) gameList.Add(game);
mgrpersistance.SaveGame(gameList); mgrpersistance.SaveGame(gameList);
} }
public void AddUsertoUserList(User user) public void AddUsertoUserList(User user)
{ {
Users.Add(user); if (!Users.Contains(user)) Users.Add(user);
mgrpersistance.SaveUser(Users); mgrpersistance.SaveUser(Users);
} }
public void RemoveGameFromGamesList(Game game) public void RemoveGameFromGamesList(Game game)
{ {
SelectedGame = null;
gameList.Remove(game); gameList.Remove(game);
mgrpersistance.SaveGame(gameList); mgrpersistance.SaveGame(gameList);
} }
[ExcludeFromCodeCoverage]
public void SaveGames()
{
mgrpersistance.SaveGame(gameList);
}
public User? SearchUser(string username) public User? SearchUser(string username)
{ {
foreach (User user in Users) foreach (User user in Users)
@ -65,10 +63,5 @@ namespace Model
} }
return null; return null;
} }
[ExcludeFromCodeCoverage]
public void SaveUser()
{
mgrpersistance.SaveUser(Users);
}
} }
} }

Loading…
Cancel
Save