namespace Webzine.WebApplication.Areas.Administration.Controllers;
using Microsoft.AspNetCore.Mvc;
using Webzine.Entity;
using Webzine.Repository.Contracts;
using Webzine.WebApplication.Areas.Administration.ViewModels.Style;
///
/// Controleur pour la gestion des styles dans l'administration du webzine.
///
[Area("Administration")]
public class StyleController : Controller
{
private readonly ILogger logger;
private readonly IStyleRepository styleRepository;
private readonly IConfiguration configuration;
///
/// Initializes a new instance of the class.
///
/// Service de journalisation injecte.
/// Repository des styles injecte.
/// Service de configuration injecte pour acceder aux parametres de configuration.
public StyleController(
ILogger logger,
IStyleRepository styleRepository,
IConfiguration configuration)
{
this.logger = logger;
this.styleRepository = styleRepository;
this.configuration = configuration;
this.logger.LogInformation("Initialisation du controleur StyleController.");
}
///
/// Affiche la liste des styles dans la vue Index.
///
/// Le numero de page pour la pagination des styles (par defaut a 0).
/// La vue Index avec la liste des styles.
public IActionResult Index(int page = 0)
{
int styles_par_page = this.configuration.GetValue("Webzine:NombreDeLignesAdministration");
IEnumerable