using Application.Abstractions.Data; using Application.Abstractions.Messaging; using Microsoft.EntityFrameworkCore; namespace Application.Features.Admin.Store.Game.GetAll; public sealed class Handler(IAppDbContext db) : IQueryHandler { public async Task Handle(Query request, CancellationToken ct) { var query = db.Game.AsNoTracking().AsQueryable(); if (request.ActiveOnly) { query = query.Where(c => c.IsActive); } var list = await query .OrderBy(c => c.Order) .ThenBy(c => c.KorName) .Select(c => new Response.Item( c.ID, c.Code, c.KorName, c.EngName, c.Publisher, c.CommissionRate )) .ToListAsync(ct); return new Response(list); } }