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

55 lines
2.3 KiB
C#

namespace Webzine.Repository.Contracts
{
using Webzine.Entity;
/// <summary>
/// Interface définissant les opérations de base pour le repository de styles, permettant d'ajouter, supprimer, trouver et mettre à jour des styles dans la source de données.
/// </summary>
public interface IStyleRepository
{
/// <summary>
/// Ajoute un style à la liste des styles.
/// </summary>
/// <param name="style">L'objet style à ajouter.</param>
void Add(Style style);
/// <summary>
/// Supprime un style de la liste des styles.
/// </summary>
/// <param name="style">L'objet style à supprimer.</param>
void Delete(Style style);
/// <summary>
/// Trouve un style dans la liste des styles en fonction de son identifiant.
/// </summary>
/// <param name="id">L'identifiant du style à trouver.</param>
/// <returns>Le style correspondant à l'identifiant fourni, ou null si aucun style n'est trouvé.</returns>
Style Find(int id);
/// <summary>
/// Trouve tous les styles dans la liste des styles.
/// </summary>
/// <returns>Une collection de tous les styles présents dans la liste.</returns>
IEnumerable<Style> FindAll();
/// <summary>
/// Met à jour un style dans la liste des styles en fonction de son identifiant.
/// </summary>
/// <param name="style">L'objet style à mettre à jour.</param
void Update(Style style);
/// <summary>
/// Récupère le nombre total de styles dans la liste des styles.
/// </summary>
/// <returns>Le nombre total de styles présents dans la liste.</returns>
int Count();
/// <summary>
/// Recherche les styles dans la liste des styles en fonction de l'offset et de la limite spécifiés, permettant ainsi une pagination des résultats.
/// </summary>
/// <param name="offset">Le nombre de styles à ignorer avant de commencer à retourner les résultats.</param>
/// <param name="limit">Le nombre maximum de styles à retourner.</param>
/// <returns>Une collection de styles correspondant au critère de pagination, triée par libellé.</returns>
IEnumerable<Style> FindStyles(int offset, int limit);
}
}