Files
webzine/Webzine.WebApplication/Controllers/AccueilController.cs
2026-03-05 16:28:43 +01:00

47 lines
1.5 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Webzine.Repository.Fake;
using Webzine.WebApplication.ViewModels.Accueil;
namespace Webzine.WebApplication.Controllers
{
public class AccueilController : Microsoft.AspNetCore.Mvc.Controller
{
// Injection du logger via le constructeur
private readonly ILogger<AccueilController> _logger;
private readonly IConfiguration _configuration;
public AccueilController(ILogger<AccueilController> logger, IConfiguration configuration)
{
_logger = logger;
_configuration = configuration;
}
// GET: AccueilController
public ActionResult Index()
{
_logger.LogInformation("Arrivée sur la page d'accueil");
var derniereChronique = _configuration.GetValue<int>("Webzine:NombreDerniereChronique");
var topTitres = _configuration.GetValue<int>("Webzine:NombreDeTopTitres");
var titres = FakeDataFactory.GetTitres();
var vm = new AccueilIndexViewModel
{
DerniersTitres = titres
.OrderByDescending(t => t.DateCreation)
.Take(derniereChronique)
.ToList(),
TopTitres = titres
.OrderByDescending(t => t.NbLikes)
.Take(topTitres)
.ToList()
};
return View(vm);
}
}
}