Merge branch 'j2/feat/artiste_repository' into j2/refactor/controler-style-titre

This commit is contained in:
josephine.vetu
2026-03-26 12:59:52 +01:00
8 changed files with 395 additions and 40 deletions

View File

@@ -1,17 +1,46 @@
using Webzine.Entity;
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);
}
}