using Application.Abstractions.Messaging; using Application.Abstractions.Data; using Microsoft.EntityFrameworkCore; namespace Application.Features.Admin.NavMenu.List; public sealed class Handler(IAppDbContext db) : IQueryHandler { public async Task Handle(Query request, CancellationToken ct) { var list = await db.NavMenuItem.AsNoTracking().OrderBy(c => c.SortOrder).ThenBy(c => c.ID).ToListAsync(ct); return new Response( list.Count, [..list.Select((c, i) => new Response.Row( i + 1, c.ID, c.Label, c.Href, c.SortOrder, c.IsVisible, c.UpdatedAt, c.CreatedAt ))] ); } }