Preprare for add filter
All checks were successful
Game Ideas build for PR / build_blazor_app (pull_request) Successful in 44s
All checks were successful
Game Ideas build for PR / build_blazor_app (pull_request) Successful in 44s
This commit is contained in:
@@ -18,11 +18,11 @@ public partial class Game
|
|||||||
private IEnumerable<GameDto> GamesDto = [];
|
private IEnumerable<GameDto> GamesDto = [];
|
||||||
private int CurrentPage;
|
private int CurrentPage;
|
||||||
|
|
||||||
protected override async Task OnAfterRenderAsync(bool firstRender)
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
CurrentPage = 1;
|
CurrentPage = 1;
|
||||||
await HandleFetchDatas(firstRender);
|
await HandleFetchDatas(true);
|
||||||
await base.OnAfterRenderAsync(firstRender);
|
await base.OnInitializedAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleAddClicked(AddType addType)
|
private void HandleAddClicked(AddType addType)
|
||||||
|
|||||||
@@ -13,9 +13,19 @@ public class GameService(GameIdeasContext context, IMapper mapper) : IGameServic
|
|||||||
{
|
{
|
||||||
public async Task<IEnumerable<GameDto>> GetGames(GameFilterDto filter)
|
public async Task<IEnumerable<GameDto>> GetGames(GameFilterDto filter)
|
||||||
{
|
{
|
||||||
var games = await SelectGames()
|
var query = context.Games
|
||||||
.OrderBy(g => g.Title)
|
.Include(g => g.GamePlatforms).ThenInclude(gp => gp.Platform)
|
||||||
.Skip((filter.CurrentPage - 1) * GlobalConstants.NUMBER_PER_PAGE)
|
.Include(g => g.GameProperties)
|
||||||
|
.Include(g => g.GameTags).ThenInclude(gt => gt.Tag)
|
||||||
|
.Include(g => g.GamePublishers)
|
||||||
|
.Include(g => g.GameDevelopers)
|
||||||
|
.AsQueryable();
|
||||||
|
|
||||||
|
ApplyFilter(ref query, filter);
|
||||||
|
|
||||||
|
ApplyOrder(ref query, filter);
|
||||||
|
|
||||||
|
var games = await query.Skip((filter.CurrentPage - 1) * GlobalConstants.NUMBER_PER_PAGE)
|
||||||
.Take(GlobalConstants.NUMBER_PER_PAGE)
|
.Take(GlobalConstants.NUMBER_PER_PAGE)
|
||||||
.ToListAsync();
|
.ToListAsync();
|
||||||
|
|
||||||
@@ -24,7 +34,14 @@ public class GameService(GameIdeasContext context, IMapper mapper) : IGameServic
|
|||||||
|
|
||||||
public async Task<GameDetailDto> GetGameById(int gameId)
|
public async Task<GameDetailDto> GetGameById(int gameId)
|
||||||
{
|
{
|
||||||
var game = await SelectGames()
|
var game = await context.Games
|
||||||
|
.Include(g => g.CreationUser)
|
||||||
|
.Include(g => g.ModificationUser)
|
||||||
|
.Include(g => g.GamePlatforms).ThenInclude(p => p.Platform)
|
||||||
|
.Include(g => g.GameProperties).ThenInclude(p => p.Property)
|
||||||
|
.Include(g => g.GameTags).ThenInclude(p => p.Tag)
|
||||||
|
.Include(g => g.GamePublishers).ThenInclude(p => p.Publisher)
|
||||||
|
.Include(g => g.GameDevelopers).ThenInclude(p => p.Developer)
|
||||||
.FirstOrDefaultAsync(g => g.Id == gameId);
|
.FirstOrDefaultAsync(g => g.Id == gameId);
|
||||||
|
|
||||||
return game == null
|
return game == null
|
||||||
@@ -81,17 +98,14 @@ public class GameService(GameIdeasContext context, IMapper mapper) : IGameServic
|
|||||||
return await context.SaveChangesAsync() != 0;
|
return await context.SaveChangesAsync() != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IQueryable<Game> SelectGames()
|
private void ApplyOrder(ref IQueryable<Game> query, GameFilterDto filter)
|
||||||
{
|
{
|
||||||
return context.Games
|
|
||||||
.Include(g => g.CreationUser)
|
}
|
||||||
.Include(g => g.ModificationUser)
|
|
||||||
.Include(g => g.GamePlatforms).ThenInclude(p => p.Platform)
|
private void ApplyFilter(ref IQueryable<Game> query, GameFilterDto filter)
|
||||||
.Include(g => g.GameProperties).ThenInclude(p => p.Property)
|
{
|
||||||
.Include(g => g.GameTags).ThenInclude(p => p.Tag)
|
|
||||||
.Include(g => g.GamePublishers).ThenInclude(p => p.Publisher)
|
|
||||||
.Include(g => g.GameDevelopers).ThenInclude(p => p.Developer)
|
|
||||||
.AsQueryable();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task HandlePlatformsCreation(IEnumerable<PlatformDto>? categoriesToCreate, int gameId)
|
private async Task HandlePlatformsCreation(IEnumerable<PlatformDto>? categoriesToCreate, int gameId)
|
||||||
|
|||||||
Reference in New Issue
Block a user