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.
///
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.
///
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);
}
}