#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:
@@ -14,18 +14,22 @@ public class StyleController : Controller
|
||||
{
|
||||
private readonly ILogger<StyleController> logger;
|
||||
private readonly IStyleRepository styleRepository;
|
||||
private readonly IConfiguration configuration;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="StyleController"/> class.
|
||||
/// </summary>
|
||||
/// <param name="logger">Service de journalisation injecte.</param>
|
||||
/// <param name="styleRepository">Repository des styles injecte.</param>
|
||||
/// <param name="configuration">Service de configuration injecte pour acceder aux parametres de configuration.</param>
|
||||
public StyleController(
|
||||
ILogger<StyleController> logger,
|
||||
IStyleRepository styleRepository)
|
||||
IStyleRepository styleRepository,
|
||||
IConfiguration configuration)
|
||||
{
|
||||
this.logger = logger;
|
||||
this.styleRepository = styleRepository;
|
||||
this.configuration = configuration;
|
||||
|
||||
this.logger.LogInformation("Initialisation du controleur StyleController.");
|
||||
}
|
||||
@@ -33,12 +37,22 @@ public class StyleController : Controller
|
||||
/// <summary>
|
||||
/// Affiche la liste des styles dans la vue Index.
|
||||
/// </summary>
|
||||
/// <param name="page">Le numero de page pour la pagination des styles (par defaut a 0).</param>
|
||||
/// <returns>La vue Index avec la liste des styles.</returns>
|
||||
public IActionResult Index()
|
||||
public IActionResult Index(int page = 0)
|
||||
{
|
||||
IEnumerable<Style> listeStyles = this.styleRepository.FindAll().Take(10);
|
||||
int styles_par_page = this.configuration.GetValue<int>("Webzine:NombreDeLignesAdministration");
|
||||
IEnumerable<Style> listeStyles = this.styleRepository.FindStyles(page * styles_par_page, styles_par_page);
|
||||
|
||||
return this.View(listeStyles);
|
||||
int totalStyles = this.styleRepository.Count();
|
||||
|
||||
var model = new StyleIndexViewModel
|
||||
{
|
||||
Styles = listeStyles,
|
||||
Page = page,
|
||||
TotalPages = (int)Math.Ceiling((double)totalStyles / styles_par_page),
|
||||
};
|
||||
return this.View(model);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user