using Managing.Domain.Statistics; using MediatR; using static Managing.Common.Enums; namespace Managing.Application.ManageBot.Commands { /// /// Command to retrieve paginated agent summaries with sorting and filtering /// public class GetPaginatedAgentSummariesCommand : IRequest<(IEnumerable Results, int TotalCount)> { /// /// Page number (1-based) /// public int Page { get; } /// /// Number of items per page /// public int PageSize { get; } /// /// Field to sort by /// public SortableFields SortBy { get; } /// /// Sort order (asc or desc) /// public string SortOrder { get; } /// /// Optional list of agent names to filter by /// public IEnumerable? AgentNames { get; } public GetPaginatedAgentSummariesCommand( int page = 1, int pageSize = 10, SortableFields sortBy = SortableFields.TotalPnL, string sortOrder = "desc", IEnumerable? agentNames = null) { Page = page; PageSize = pageSize; SortBy = sortBy; SortOrder = sortOrder; AgentNames = agentNames; } } }