public async Task <ActionResult <List <UserViewModel> > > UsersAsync() { UserListCommand userCommand = new UserListCommand { }; return(await Mediator.Send(userCommand)); }
public async Task <ApiListResponse <UserModel> > Handle(UserListCommand request, CancellationToken cancellationToken) { _logger.LogInformation($"Searching for Users with the following filters (NgoId, Name): {request.NgoId}, {request.Name}"); IQueryable <Entities.User> users = _context.Users .Include(u => u.Ngo) .Include(u => u.Notes) .Include(u => u.Beneficiaries) .Where(u => u.Deleted == false); if (request.NgoId > 0) { users = users.Where(u => u.NgoId == request.NgoId); } if (!string.IsNullOrEmpty(request.Name)) { users = users.Where(u => u.Name.Contains(request.Name)); } var count = await users.CountAsync(cancellationToken); var requestedPageObservers = GetPagedQuery(users.OrderBy(u => u.Name), request.Page, request.PageSize) .ToList() .Select(_mapper.Map <UserModel>); return(new ApiListResponse <UserModel> { TotalItems = count, Data = requestedPageObservers.ToList(), Page = request.Page, PageSize = request.PageSize }); }