Handler.cs 896 B

123456789101112131415161718192021222324252627282930313233
  1. using Application.Abstractions.Data;
  2. using Application.Abstractions.Messaging;
  3. using Microsoft.EntityFrameworkCore;
  4. namespace Application.Features.Admin.Store.Game.GetAll;
  5. public sealed class Handler(IAppDbContext db) : IQueryHandler<Query, Response>
  6. {
  7. public async Task<Response> Handle(Query request, CancellationToken ct)
  8. {
  9. var query = db.Game.AsNoTracking().AsQueryable();
  10. if (request.ActiveOnly)
  11. {
  12. query = query.Where(c => c.IsActive);
  13. }
  14. var list = await query
  15. .OrderBy(c => c.Order)
  16. .ThenBy(c => c.KorName)
  17. .Select(c => new Response.Item(
  18. c.ID,
  19. c.Code,
  20. c.KorName,
  21. c.EngName,
  22. c.Publisher,
  23. c.CommissionRate
  24. ))
  25. .ToListAsync(ct);
  26. return new Response(list);
  27. }
  28. }