diff --git a/Webzine.WebApplication/Controllers/AccueilController.cs b/Webzine.WebApplication/Controllers/AccueilController.cs
index 644febd..fd7c03e 100644
--- a/Webzine.WebApplication/Controllers/AccueilController.cs
+++ b/Webzine.WebApplication/Controllers/AccueilController.cs
@@ -31,7 +31,6 @@
this.configuration = configuration;
this.titreRepository = titreRepository;
this.logger.LogDebug(1, "initialisation du AccueilController");
- this.titreRepository = titreRepository;
}
///
@@ -45,17 +44,20 @@
var derniereChronique = this.configuration.GetValue("Webzine:NombreDerniereChronique");
var nbTopTitres = this.configuration.GetValue("Webzine:NombreDeTopTitres");
+ var totalTitres = this.titreRepository.Count();
+ var totalPages = (int)Math.Ceiling((double)totalTitres / derniereChronique);
- var titres_pagines = this.titreRepository.FindTitres(page * derniereChronique, derniereChronique);
- var top_titres = this.titreRepository.FindAll()
+ var titresPagines = this.titreRepository.FindTitres(page * derniereChronique, derniereChronique);
+ var topTitres = this.titreRepository.FindAll()
.OrderByDescending(t => t.NbLikes)
.Take(nbTopTitres);
var vm = new AccueilIndexViewModel
{
- DerniersTitres = titres_pagines.ToList(),
- TopTitres = top_titres.ToList(),
+ DerniersTitres = titresPagines.ToList(),
+ TopTitres = topTitres.ToList(),
Page = page,
+ TotalPages = totalPages,
};
return this.View(vm);
diff --git a/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs b/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs
index dbf66ff..d08b1a1 100644
--- a/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs
+++ b/Webzine.WebApplication/ViewModels/Accueil/AccueilIndexViewModel.cs
@@ -26,5 +26,10 @@
/// Obtient ou définit le numéro de page pour la pagination des titres affichés sur la page d'accueil.
///
public int Page { get; set; } = 0;
+
+ ///
+ /// Nombre total de page.
+ ///
+ public int TotalPages { get; set; } = 0;
}
}
\ No newline at end of file
diff --git a/Webzine.WebApplication/Views/Accueil/Index.cshtml b/Webzine.WebApplication/Views/Accueil/Index.cshtml
index 82710cf..96769fd 100644
--- a/Webzine.WebApplication/Views/Accueil/Index.cshtml
+++ b/Webzine.WebApplication/Views/Accueil/Index.cshtml
@@ -73,12 +73,21 @@
}
-
-
- Titres plus anciens >>
-
-
+
+ @if (Model.Page > 0)
+ {
+
+ << Titre plus récent
+
+ }
+ @if (Model.Page < Model.TotalPages - 1)
+ {
+
+ Titre plus anciens >>
+
+ }