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.
207 lines
6.0 KiB
207 lines
6.0 KiB
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<Partie> Parties { get; private set; }
|
|
private readonly List<Partie> parties = new();
|
|
public ReadOnlyCollection<Equipe> Equipes { get; private set; }
|
|
private readonly List<Equipe> equipes = new();
|
|
public ReadOnlyCollection<Joueur> Joueurs { get; private set; }
|
|
private readonly List<Joueur> joueurs = new();
|
|
|
|
|
|
public IDataManager<Joueur> JoueurDataManager => joueurDataManager;
|
|
private readonly IDataManager<Joueur> joueurDataManager;
|
|
public IDataManager<Partie> PartieDataManager => partieDataManager;
|
|
private readonly IDataManager<Partie> partieDataManager;
|
|
public IDataManager<Equipe> EquipeDataManager => equipeDataManager;
|
|
private readonly IDataManager<Equipe> equipeDataManager;
|
|
|
|
public Manager(IDataManager<Joueur> joueurManager)
|
|
{
|
|
this.joueurDataManager = joueurManager;
|
|
Joueurs = new ReadOnlyCollection<Joueur>(joueurs);
|
|
|
|
}
|
|
|
|
public Manager(IDataManager<Partie> partieDataManager)
|
|
{
|
|
this.partieDataManager = partieDataManager;
|
|
Parties = new ReadOnlyCollection<Partie>(parties);
|
|
}
|
|
|
|
|
|
public Manager(IDataManager<Equipe> equipeDataManager)
|
|
{
|
|
this.equipeDataManager = equipeDataManager;
|
|
Equipes = new ReadOnlyCollection<Equipe>(equipes);
|
|
}
|
|
|
|
public Manager(IDataManager<Equipe> equipeDataManager, IDataManager<Partie> partieDataManager, IDataManager<Joueur> joueurManager)
|
|
{
|
|
this.equipeDataManager = equipeDataManager;
|
|
Equipes = new ReadOnlyCollection<Equipe>(equipes);
|
|
this.partieDataManager = partieDataManager;
|
|
Parties = new ReadOnlyCollection<Partie>(parties);
|
|
this.joueurDataManager = joueurManager;
|
|
Joueurs = new ReadOnlyCollection<Joueur>(joueurs);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ajoute un joueur à la liste des joueurs
|
|
/// </summary>
|
|
/// <param name="joueur"></param>
|
|
/// <returns></returns>
|
|
public bool AddJoueur(Joueur joueur)
|
|
{
|
|
if (joueurDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return joueurDataManager.Add(joueur);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ajoute une partie à la liste des parties
|
|
/// </summary>
|
|
/// <param name="partie"></param>
|
|
/// <returns></returns>
|
|
public bool AddPartie(Partie partie)
|
|
{
|
|
if (partieDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return partieDataManager.Add(partie);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Ajoute une équipe à la liste des équipes
|
|
/// </summary>
|
|
/// <param name="equipe"></param>
|
|
/// <returns></returns>
|
|
public bool AddEquipe(Equipe equipe)
|
|
{
|
|
if (equipeDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return equipeDataManager.Add(equipe);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retourne la liste des joueurs
|
|
/// </summary>
|
|
/// <param name="joueur"></param>
|
|
public bool DeleteJoueur(Joueur joueur)
|
|
{
|
|
if (joueurDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return JoueurDataManager.Delete(joueur);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Supprime une partie
|
|
/// </summary>
|
|
/// <param name="partie"></param>
|
|
public bool DeletePartie(Partie partie)
|
|
{
|
|
if (partieDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return partieDataManager.Delete(partie);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Supprime une équipe
|
|
/// </summary>
|
|
/// <param name="equipe"></param>
|
|
public bool DeleteEquipe(Equipe equipe)
|
|
{
|
|
if (equipeDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return equipeDataManager.Delete(equipe);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retourne la liste des joueurs
|
|
/// </summary>
|
|
/// <param name="joueur"></param>
|
|
public bool UpdateJoueur(Joueur joueur)
|
|
{
|
|
if (joueurDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return JoueurDataManager.Update(joueur);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Met à jour une partie
|
|
/// </summary>
|
|
/// <param name="partie"></param>
|
|
public bool UpdatePartie(Partie partie)
|
|
{
|
|
if (partieDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return partieDataManager.Update(partie);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Met à jour une équipe
|
|
/// </summary>
|
|
/// <param name="equipe"></param>
|
|
public bool UpdateEquipe(Equipe equipe)
|
|
{
|
|
if (equipeDataManager == null)
|
|
{
|
|
return false;
|
|
}
|
|
return equipeDataManager.Update(equipe);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retourne la liste des joueurs
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public IEnumerable<Joueur> GetAllJoueur()
|
|
{
|
|
return JoueurDataManager.GetAll();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retourne les dernières parties du joueur
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public IEnumerable<Partie> GetAllPartie()
|
|
{
|
|
return partieDataManager.GetAll();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Retourne les Equipe en fonction d'une partie
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public IEnumerable<Equipe> GetAllEquipe()
|
|
{
|
|
return equipeDataManager.GetAll();
|
|
}
|
|
|
|
}
|
|
}
|