using BowlingLib.Model; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Business { public class Manager { public ReadOnlyCollection Parties { get; private set; } private readonly List parties = new(); public ReadOnlyCollection Equipes { get; private set; } private readonly List equipes = new(); public ReadOnlyCollection Joueurs { get; private set; } private readonly List joueurs = new(); public IDataManager JoueurDataManager => joueurDataManager; private readonly IDataManager joueurDataManager; public IDataManager PartieDataManager => partieDataManager; private readonly IDataManager partieDataManager; public IDataManager EquipeDataManager => equipeDataManager; private readonly IDataManager equipeDataManager; public Manager(IDataManager joueurManager) { this.joueurDataManager = joueurManager; Joueurs = new ReadOnlyCollection(joueurs); } public Manager(IDataManager partieDataManager) { this.partieDataManager = partieDataManager; Parties = new ReadOnlyCollection(parties); } public Manager(IDataManager equipeDataManager) { this.equipeDataManager = equipeDataManager; Equipes = new ReadOnlyCollection(equipes); } public Manager(IDataManager equipeDataManager, IDataManager partieDataManager, IDataManager joueurManager) { this.equipeDataManager = equipeDataManager; Equipes = new ReadOnlyCollection(equipes); this.partieDataManager = partieDataManager; Parties = new ReadOnlyCollection(parties); this.joueurDataManager = joueurManager; Joueurs = new ReadOnlyCollection(joueurs); } /// /// Ajoute un joueur à la liste des joueurs /// /// /// public bool AddJoueur(Joueur joueur) { if (joueurDataManager == null) { return false; } return joueurDataManager.Add(joueur); } /// /// Ajoute une partie à la liste des parties /// /// /// public bool AddPartie(Partie partie) { if (partieDataManager == null) { return false; } return partieDataManager.Add(partie); } /// /// Ajoute une équipe à la liste des équipes /// /// /// public bool AddEquipe(Equipe equipe) { if (equipeDataManager == null) { return false; } return equipeDataManager.Add(equipe); } /// /// Retourne la liste des joueurs /// /// public bool DeleteJoueur(Joueur joueur) { if (joueurDataManager == null) { return false; } return JoueurDataManager.Delete(joueur); } /// /// Supprime une partie /// /// public bool DeletePartie(Partie partie) { if (partieDataManager == null) { return false; } return partieDataManager.Delete(partie); } /// /// Supprime une équipe /// /// public bool DeleteEquipe(Equipe equipe) { if (equipeDataManager == null) { return false; } return equipeDataManager.Delete(equipe); } /// /// Retourne la liste des joueurs /// /// public bool UpdateJoueur(Joueur joueur) { if (joueurDataManager == null) { return false; } return JoueurDataManager.Update(joueur); } /// /// Met à jour une partie /// /// public bool UpdatePartie(Partie partie) { if (partieDataManager == null) { return false; } return partieDataManager.Update(partie); } /// /// Met à jour une équipe /// /// public bool UpdateEquipe(Equipe equipe) { if (equipeDataManager == null) { return false; } return equipeDataManager.Update(equipe); } /// /// Retourne la liste des joueurs /// /// public IEnumerable GetAllJoueur() { return JoueurDataManager.GetAll(); } /// /// Retourne les dernières parties du joueur /// /// public IEnumerable GetAllPartie() { return partieDataManager.GetAll(); } /// /// Retourne les Equipe en fonction d'une partie /// /// public IEnumerable GetAllEquipe() { return equipeDataManager.GetAll(); } } }