You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Projet_IHM/Sources/Stim.Model/Manager.cs

67 lines
1.9 KiB

using System.Collections.ObjectModel;
using System.Linq;
namespace Model
{
public class Manager
{
public IPersistance Mgrpersistance
{
get { return mgrpersistance; }
set { mgrpersistance = value; }
}
private IPersistance mgrpersistance;
public ObservableCollection<Game> GameList { get;}
public ObservableCollection<Game> ResearchedGame { get; set; }
public User CurrentUser { get; set; }
public HashSet<User> Users { get; set; }
public Manager(IPersistance persistance)
{
Mgrpersistance = persistance;
CurrentUser = new User("","", "", "", "Azerty123*");
GameList = persistance.LoadGame();
ResearchedGame = persistance.LoadGame();
Users = persistance.LoadUser();
if (GameList == null)
{
GameList = new ObservableCollection<Game>();
}
}
public void AddGametoGamesList(Game game)
{
GameList.Add(game);
Mgrpersistance.SaveGame(GameList);
}
public void AddUsertoUserList(User user)
{
Users.Add(user);
Mgrpersistance.SaveUser(Users);
}
public void RemoveGameFromGamesList(Game game)
{
GameList.Remove(game);
Mgrpersistance.SaveGame(GameList);
}
public void SaveGames()
{
Mgrpersistance.SaveGame(GameList);
}
public User? SearchUser(string username)
{
foreach (User user in Users)
{
if (user.Username == username) return user;
}
return null;
}
public void SaveUser()
{
Mgrpersistance.SaveUser(Users);
}
}
}