using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
namespace Models
{
///
/// Gère les opérations liées aux champions et aux utilisateurs dans le système.
///
public class Manager
{
///
/// Définit la liste des champions.
///
public List _champions { get; private set; }
///
/// Définit la liste des utilisateurs.
///
public List _utilisateur { get; private set; }
///
/// Définit le gestionnaire de persistance utilisé pour sauvegarder et charger les données.
///
public IPersistanceManager? Persistance { get; set; }
///
/// Définit l'utilisateur connecté. Utilisé pour la fonctionnalité de connexion et d'inscription.
///
public Utilisateur? UtilisateurConnecte { get; set; } = null; //zzrajouté pour login register
///
/// Initialise une nouvelle instance de la classe Manager avec un gestionnaire de persistance.
///
/// Le gestionnaire de persistance
public Manager(IPersistanceManager Pers)
{
_champions = new List();
_utilisateur = new List();
Persistance = Pers;
}
///
/// Initialise une nouvelle instance de la classe Manager.
///
public Manager()
{
_champions = new List();
_utilisateur = new List();
}
///
/// Ajoute un utilisateur à la liste des utilisateurs.
///
/// L'utilisateur à ajouter
public void AddUtilisateur(Utilisateur utilisateur)
{
_utilisateur.Add(utilisateur);
}
///
/// Supprime un utilisateur de la liste des utilisateurs.
///
/// L'utilisateur à supprimer
public void RemoveUtilisateur(Utilisateur utilisateur)
{
_utilisateur.Remove(utilisateur);
}
///
/// Charge les données à partir de la source de persistance.
///
public void Chargdon()
{
var don = Persistance!.Chargdon();
_champions.AddRange(don.Item1);
_utilisateur.AddRange(don.Item2);
}
///
/// Sauvegarde les données dans la source de persistance.
///
public void Sauvdon()
{
Persistance?.Sauvdon(_champions, _utilisateur);
}
}
}