#124 Pagination faite pour la page d'accueil, ordonnée par date de création puis du libelle. Début de pagination pour les artistes.
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
/// </summary>
|
||||
/// <param name="logger">Service de journalisation injecté pour enregistrer les événements et les erreurs.</param>
|
||||
/// <param name="configuration">Service d'injection de configuration pour accéder aux paramètres de l'application.</param>
|
||||
/// <param name="titreRepository">Service d'injection du dépôt de titres pour accéder aux données des titres.</param>
|
||||
public AccueilController(
|
||||
ILogger<AccueilController> logger,
|
||||
IConfiguration configuration,
|
||||
@@ -36,24 +37,25 @@
|
||||
/// <summary>
|
||||
/// Affiche la page d'accueil du webzine, présentant les derniers titres et les titres les plus populaires.
|
||||
/// </summary>
|
||||
/// <param name="page">Le numéro de page pour la pagination des titres (par défaut à 0).</param>
|
||||
/// <returns>La vue Index avec le ViewModel contenant les listes de titres à afficher.</returns>
|
||||
public IActionResult Index()
|
||||
public IActionResult Index(int page = 0)
|
||||
{
|
||||
this.logger.LogInformation("Arrivée sur la page d'accueil");
|
||||
|
||||
var derniereChronique = this.configuration.GetValue<int>("Webzine:NombreDerniereChronique");
|
||||
var nbTopTitres = this.configuration.GetValue<int>("Webzine:NombreDeTopTitres");
|
||||
|
||||
var titres = this.titreRepository.FindAll();
|
||||
var titres_paginé = this.titreRepository.FindTitres(page * derniereChronique, derniereChronique);
|
||||
var top_titres = this.titreRepository.FindAll()
|
||||
.OrderByDescending(t => t.NbLikes)
|
||||
.Take(nbTopTitres);
|
||||
|
||||
var vm = new AccueilIndexViewModel
|
||||
{
|
||||
DerniersTitres = titres.Take(derniereChronique).ToList(),
|
||||
|
||||
TopTitres = titres
|
||||
.OrderByDescending(t => t.NbLikes)
|
||||
.Take(nbTopTitres)
|
||||
.ToList(),
|
||||
DerniersTitres = titres_paginé.ToList(),
|
||||
TopTitres = top_titres.ToList(),
|
||||
Page = page,
|
||||
};
|
||||
|
||||
return this.View(vm);
|
||||
|
||||
Reference in New Issue
Block a user