Handler.cs 568 B

123456789101112131415
  1. using Application.Abstractions.Messaging;
  2. using Application.Abstractions.Data;
  3. using Microsoft.EntityFrameworkCore;
  4. namespace Application.Features.Api.Config.GetNavMenu;
  5. public sealed class Handler(IAppDbContext db) : IQueryHandler<Query, Response>
  6. {
  7. public async Task<Response> Handle(Query request, CancellationToken ct)
  8. {
  9. var items = await db.NavMenuItem.AsNoTracking().Where(c => c.IsVisible).OrderBy(c => c.SortOrder).ThenBy(c => c.ID).Select(c => new Response.Row(c.Label, c.Href)).ToListAsync(ct);
  10. return new Response(items);
  11. }
  12. }