using Managing.Application.Abstractions.Repositories; using Managing.Application.ManageBot.Commands; using Managing.Domain.Statistics; using MediatR; namespace Managing.Application.ManageBot { /// /// Handler for retrieving paginated agent summaries with sorting and filtering /// public class GetPaginatedAgentSummariesCommandHandler : IRequestHandler Results, int TotalCount)> { private readonly IAgentSummaryRepository _agentSummaryRepository; public GetPaginatedAgentSummariesCommandHandler(IAgentSummaryRepository agentSummaryRepository) { _agentSummaryRepository = agentSummaryRepository; } public async Task<(IEnumerable Results, int TotalCount)> Handle( GetPaginatedAgentSummariesCommand request, CancellationToken cancellationToken) { return await _agentSummaryRepository.GetPaginatedAsync( request.Page, request.PageSize, request.SortBy, request.SortOrder, request.AgentNames); } } }