namespace Webzine.Repository.Contracts { using Webzine.Entity; /// /// Défini une interface pour gérer les opérations des artistes dans la source de données. /// 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(); /// /// Récupère une liste d'artistes pour une page spécifique, en fonction du numéro de page et de la taille de la page. /// /// Le numéro de la page à récupérer. /// La taille de chaque page. /// Une liste d'artistes pour la page demandée. IEnumerable FindArtistes(int pageNumber, int pageSize); /// /// 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); /// /// Récupère le nombre total d'artistes dans la collection. /// /// Le nombre total d'artistes. int Count(); /// /// Récupère le nombre d'artistes correspondant au prédicat fourni. /// /// Le prédicat de filtrage. /// Le nombre d'artistes correspondants. int Count(Func predicate); /// /// Récupère le nombre d'artistes ayant une biographie renseignée. /// /// Le nombre d'artistes avec biographie. int CountWithBiography(); } }