public async Task <IActionResult> GetAllAsync([FromQuery] MemberFilterCommand 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 <Member> > > Handle(MemberFilterCommand request, CancellationToken cancellationToken) { var query = _memberRepository.Query(x => x.Name.Contains(request.Name) && (request.GuildId == Guid.Empty || x.GuildId == request.GuildId), true); var totalCount = query.Count(); var members = await query.Take(request.Count).ToListAsync(cancellationToken); var membersPaginated = new Pagination <Member>(members, totalCount, request.Count); return(new ApiResponse <Pagination <Member> >(membersPaginated)); }