namespace Webzine.Repository.Contracts { using Webzine.Entity; /// /// Défini une interface pour gérer les opérations de base de données liées aux artistes. /// // TODO interface n'est pas que liée à la bdd, elle est aussi utilisée pour la gestion en mémoire public interface IArtisteRepository { /// /// Ajoute un nouvel artiste. /// /// L'artiste à ajouter à la collection. Ne peut pas être null. void Add(Artiste artiste); /// /// Supprime un artiste. /// /// L'artiste à supprimer. void Delete(Artiste artiste); /// /// Récupère un artiste par son identifiant unique. Si aucun artiste n'est trouvé, retourne null. /// /// L'identifiant de l'artiste. /// L'artiste trouvé ou null. Artiste Find(int id); /// /// Récupère un artiste par son nom. Si aucun artiste n'est trouvé, retourne null. /// /// Le nom de l'artiste. /// L'artiste recherché ou null. Artiste FindByName(string name); /// /// Récupère tous les artistes disponibles dans la collection. Si aucun artiste n'est trouvé, retourne une collection vide. /// /// Retourne une collection d'artistes. IEnumerable FindAll(); /// /// Met à jour les informations d'un artiste existant dans la collection. /// /// L'artiste à mettre à jour. void Update(Artiste artiste); /// /// Récupérer une liste d'artiste à partir d'une recherche. /// /// Nom de l'artiste. /// IEnumarble. qui contient la chaine de caractere. IEnumerable Search(string nom); } }