示例#1
0
        public async Task <ActionResult <IEnumerable <GroupDto> > > ListGroups(int limit, int offset)
        {
            var query = new ListGroupsQuery(limit, offset);

            var groups = await requestSender.Send(query);

            return(Ok(groups));
        }
示例#2
0
        public async Task <IReadOnlyList <GroupDto> > Handle(ListGroupsQuery request, CancellationToken cancellationToken)
        {
            var account = await accountProvider.GetCurrentAsync(cancellationToken);

            var groups = await dbContext.Groups
                         .AsNoTracking()
                         .Where(g => g.OwnerId == account.Id)
                         .Where(g => !g.Archived)
                         .OrderBy(g => g.Name)
                         .Skip(request.offset)
                         .Take(request.limit)
                         .Select(g => new GroupDto(g.Id.ToGuid(), g.Name))
                         .ToListAsync(cancellationToken);

            return(groups.AsReadOnly());
        }