#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:
@@ -200,5 +200,31 @@ namespace Webzine.Repository
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Permet de paginer les artistes en fonction du numéro de page et de la taille de page spécifiés.
|
||||
/// </summary>
|
||||
/// <param name="pageNumber">Le numéro de la page à récupérer.</param>
|
||||
/// <param name="pageSize">La taille de chaque page.</param>
|
||||
/// <returns>Une liste d'artistes pour la page demandée.</returns>
|
||||
public IEnumerable<Artiste> FindArtistes(int pageNumber, int pageSize)
|
||||
{
|
||||
try
|
||||
{
|
||||
var artistes = this.context.Artistes
|
||||
.AsNoTracking()
|
||||
.Include(t => t.Titres)
|
||||
.Skip((pageNumber - 1) * pageSize)
|
||||
.Take(pageSize)
|
||||
.ToList();
|
||||
this.logger.LogDebug("Page {PageNumber} d'artistes récupérée avec {PageSize} artistes par page.", pageNumber, pageSize);
|
||||
return artistes;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.logger.LogError(ex, "Erreur lors de la pagination des artistes. Page: {PageNumber}, Taille: {PageSize}", pageNumber, pageSize);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -99,15 +99,14 @@ public class DbTitreRepository : ITitreRepository
|
||||
this.logger.LogDebug("Recherche des titres avec offset: {Offset}, limit: {Limit}", offset, limit);
|
||||
|
||||
var titres = this.context.Titres
|
||||
.OrderByDescending(t => t.DateCreation)
|
||||
.ThenBy(t => t.Libelle)
|
||||
.Include(t => t.Artiste)
|
||||
.Include(t => t.Styles)
|
||||
.OrderBy(t => t.Libelle)
|
||||
.Skip(offset)
|
||||
.Take(limit)
|
||||
.AsNoTracking()
|
||||
.ToList();
|
||||
.AsNoTracking();
|
||||
|
||||
this.logger.LogDebug("{Count} titres trouvés", titres.Count);
|
||||
return titres;
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
||||
@@ -106,5 +106,17 @@ namespace Webzine.Repository
|
||||
{
|
||||
return this.dataStore.Artistes.Count(predicate);
|
||||
}
|
||||
|
||||
/// <inheritdoc/>
|
||||
/// <param name="pageNumber">Le numéro de la page à récupérer.</param>
|
||||
/// <param name="pageSize">La taille de chaque page.</param>
|
||||
/// <returns>Une liste d'artistes pour la page demandée.</returns>
|
||||
public IEnumerable<Artiste> FindArtistes(int pageNumber, int pageSize)
|
||||
{
|
||||
return this.dataStore.Artistes
|
||||
.Skip((pageNumber - 1) * pageSize)
|
||||
.Take(pageSize)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -49,6 +49,7 @@ public class LocalTitreRepository : ITitreRepository
|
||||
{
|
||||
return this.dataStore.Titres
|
||||
.OrderByDescending(t => t.DateCreation)
|
||||
.ThenBy(t => t.Libelle)
|
||||
.Skip(offset)
|
||||
.Take(limit);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user