Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }