50 lines
1.8 KiB
C#
50 lines
1.8 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);
|
|
|
|
/// <summary>
|
|
/// Retourne le nombre total de commentaires dans la source de données.
|
|
/// </summary>
|
|
/// <returns>Le nombre total de commentaires.</returns>
|
|
int Count();
|
|
}
|
|
} |