Modification de la page d'accueil.

Ajout des paramètres dans le fichier appsettings pour choisir le nombre de chronique ou de titres les plus likes à afficher.
Ajout des relations qui permettent de fakes les données affichés sur la page d'accueil.
This commit is contained in:
Loic Masi
2026-03-05 13:54:09 +01:00
parent 3a62a7e24a
commit 94b84bdfb1
8 changed files with 170 additions and 201 deletions

View File

@@ -1,83 +1,40 @@
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Webzine.Repository.Fake;
using Webzine.WebApplication.ViewModels.Accueil;
namespace Webzine.WebApplication.Controllers
{
public class AccueilController : Controller
{
private readonly IConfiguration _configuration;
public AccueilController(IConfiguration configuration)
{
_configuration = configuration;
}
// GET: AccueilController
public ActionResult Index()
{
return View();
}
var derniereChronique = _configuration.GetValue<int>("Webzine:NombreDerniereChronique");
var topTitres = _configuration.GetValue<int>("Webzine:NombreDeTopTitres");
var titres = FakeDataFactory.GetTitres();
// GET: AccueilController/Details/5
public ActionResult Details(int id)
{
return View();
}
// GET: AccueilController/Create
public ActionResult Create()
{
return View();
}
// POST: AccueilController/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(IFormCollection collection)
{
try
var vm = new AccueilIndexViewModel
{
return RedirectToAction(nameof(Index));
}
catch
{
return View();
}
}
DerniersTitres = titres
.OrderByDescending(t => t.DateCreation)
.Take(derniereChronique)
.ToList(),
// GET: AccueilController/Edit/5
public ActionResult Edit(int id)
{
return View();
}
TopTitres = titres
.OrderByDescending(t => t.NbLikes)
.Take(topTitres)
.ToList()
};
// POST: AccueilController/Edit/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(int id, IFormCollection collection)
{
try
{
return RedirectToAction(nameof(Index));
}
catch
{
return View();
}
}
// GET: AccueilController/Delete/5
public ActionResult Delete(int id)
{
return View();
}
// POST: AccueilController/Delete/5
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int id, IFormCollection collection)
{
try
{
return RedirectToAction(nameof(Index));
}
catch
{
return View();
}
return View(vm);
}
}
}