public async Task <IActionResult> GetAsync([FromQuery] GuildFilterCommand command, CancellationToken cancellationToken) { var result = await _mediator.Send(command, cancellationToken); return(result.Failures.Any() ? BadRequest(result.GenerateFailuresOutput()) as IActionResult : Ok(result.Data)); }
public async Task <ApiResponse <Pagination <Guild> > > Handle(GuildFilterCommand request, CancellationToken cancellationToken) { var query = _guildRepository.Query(readOnly: true); var totalCount = query.Count(); var guilds = await query.Take((int)request.Count).ToListAsync(cancellationToken); var guildsPaginated = new Pagination <Guild>(guilds, totalCount, (int)request.Count); return(new ApiResponse <Pagination <Guild> >(guildsPaginated)); }