55 lines
2.1 KiB
C#
55 lines
2.1 KiB
C#
namespace Webzine.Repository.Contracts
|
|
{
|
|
using Webzine.Entity;
|
|
|
|
/// <summary>
|
|
/// Défini une interface <see cref="IArtisteRepository"/> pour gérer les opérations de base de données liées aux artistes.
|
|
/// </summary>
|
|
public interface IArtisteRepository
|
|
{
|
|
/// <summary>
|
|
/// Ajoute un nouvel artiste.
|
|
/// </summary>
|
|
/// <param name="artiste">L'artiste à ajouter à la collection. Ne peut pas être null.</param>
|
|
void Add(Artiste artiste);
|
|
|
|
/// <summary>
|
|
/// Supprime un artiste.
|
|
/// </summary>
|
|
/// <param name="artiste">L'artiste à supprimer.</param>
|
|
void Delete(Artiste artiste);
|
|
|
|
/// <summary>
|
|
/// Récupère un artiste par son identifiant unique. Si aucun artiste n'est trouvé, retourne null.
|
|
/// </summary>
|
|
/// <param name="id">L'identifiant de l'artiste.</param>
|
|
/// <returns></returns>
|
|
Artiste Find(int id);
|
|
|
|
/// <summary>
|
|
/// Récupère un artiste par son nom. Si aucun artiste n'est trouvé, retourne null.
|
|
/// </summary>
|
|
/// <param name="name">Le nom de l'artiste.</param>
|
|
/// <returns>L'artiste recherché ou null.</returns>
|
|
Artiste FindByName(string name);
|
|
|
|
/// <summary>
|
|
/// Récupère tous les artistes disponibles dans la collection. Si aucun artiste n'est trouvé, retourne une collection vide.
|
|
/// </summary>
|
|
/// <returns>Retourne une collection d'artistes.</returns>
|
|
IEnumerable<Artiste> FindAll();
|
|
|
|
/// <summary>
|
|
/// Met à jour les informations d'un artiste existant dans la collection.
|
|
/// </summary>
|
|
/// <param name="artiste">L'artiste à mettre à jour.</param>
|
|
void Update(Artiste artiste);
|
|
|
|
/// <summary>
|
|
/// Récupérer une liste d'artiste à partir d'une recherche.
|
|
/// </summary>
|
|
/// <param name="nom">Nom de l'artiste.</param>
|
|
/// <returns>IEnumarble<Artiste> qui contient la chaine de caractere.</returns>
|
|
IEnumerable<Artiste> Search(string nom);
|
|
}
|
|
} |