Files
webzine/Webzine.Repository.Contracts/ICommentaireRepository.cs

44 lines
1.6 KiB
C#

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> FindCommentaires(int offset, int limit);
}
}