#192 Pagination des pages admin. On peut passer à la page précédente seulement si le numéro de page est >0 et la dernière page n'affiche pas de bouton pour la page suivante.
This commit is contained in:
@@ -12,9 +12,9 @@ using Webzine.WebApplication.Areas.Administration.ViewModels.Artiste;
|
||||
[Area("Administration")]
|
||||
public class ArtisteController : Controller
|
||||
{
|
||||
// Injection du logger via le constructeur
|
||||
private readonly ILogger<ArtisteController> logger;
|
||||
private readonly IArtisteRepository artisteRepository;
|
||||
private readonly IConfiguration configuration;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ArtisteController"/> class.
|
||||
@@ -22,25 +22,39 @@ public class ArtisteController : Controller
|
||||
/// </summary>
|
||||
/// <param name="logger">Logger.</param>
|
||||
/// <param name="artisteRepository">Repository pour les artistes.</param>
|
||||
/// <param name="configuration">Configuration.</param>
|
||||
public ArtisteController(
|
||||
ILogger<ArtisteController> logger,
|
||||
IArtisteRepository artisteRepository)
|
||||
IArtisteRepository artisteRepository,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.artisteRepository = artisteRepository;
|
||||
this.configuration = configuration;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Affiche la liste des artistes.
|
||||
/// Affiche la liste des artistes paginée.
|
||||
/// </summary>
|
||||
/// <param name="page">Le numéro de page pour la pagination des artistes (par défaut à 0).</param>
|
||||
/// <returns>Redirection.</returns>
|
||||
public IActionResult Index()
|
||||
public IActionResult Index(int page = 0)
|
||||
{
|
||||
IEnumerable<Artiste> artistes = this.artisteRepository.FindAll();
|
||||
int artistes_par_page = this.configuration.GetValue<int>("Webzine:NombreDeLignesAdministration");
|
||||
|
||||
var artistes_ordre = artistes.OrderBy(t => t.Nom).ToList();
|
||||
IEnumerable<Artiste> artistes = this.artisteRepository.FindArtistes(page * artistes_par_page, artistes_par_page);
|
||||
|
||||
return this.View(artistes_ordre);
|
||||
int totalArtistes = this.artisteRepository.Count();
|
||||
|
||||
int totalPages = (int)Math.Ceiling((double)totalArtistes / artistes_par_page);
|
||||
var model = new ArtisteIndexViewModel
|
||||
{
|
||||
Artistes = artistes.ToList(),
|
||||
Page = page,
|
||||
TotalPages = totalPages,
|
||||
};
|
||||
|
||||
return this.View(model);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user