#175 Correction des repository : First remplacé par FirstOrDefault. Ajout de la documentation manquante. Les return Model() vides sont supprimés. La gestion d'erreurs est optimisée.

This commit is contained in:
josephine.vetu
2026-04-01 11:43:01 +02:00
parent 19b920ba4e
commit 03cc02b6f2
11 changed files with 54 additions and 110 deletions

View File

@@ -2,14 +2,43 @@ namespace Webzine.Repository.Contracts
{
using Webzine.Entity;
/// <summary>
/// Interface de repository pour les commentaires.
/// </summary>
public interface ICommentaireRepository
{
/// <summary>
/// Ajoute un commentaire à la source de données.
/// </summary>
/// <param name="commentaire">Commentaire à ajouter.</param>
void Add(Commentaire commentaire);
/// <summary>
/// Supprime un commentaire de la source de données.
/// </summary>
/// <param name="commentaire">Commentaire à supprimer.</param>
void Delete(Commentaire commentaire);
/// <summary>
/// Trouve un commentaire par son ID.
/// </summary>
/// <param name="id">ID du commentaire à trouver.</param>
/// <returns>Le commentaire trouvé, ou null si non trouvé.</returns>
Commentaire Find(int id);
/// <summary>
/// Retourne tous les commentaires de la source de données.
/// </summary>
/// <returns>Une collection de commentaires.</returns>
IEnumerable<Commentaire> FindAll();
/// <summary>
/// Retourne une collection de commentaires paginée à partir de la source de données.
/// </summary>
/// <param name="offset">Le nombre de commentaires à ignorer avant de commencer à
/// récupérer les commentaires.</param>
/// <param name="limit">Le nombre maximum de commentaires à récupérer.</param>
/// <returns>Une collection de commentaires paginée.</returns>
IEnumerable<Commentaire> Paginate(int offset, int limit);
}
}