Esempio n. 1
0
        public async Task <List <Meeting> > Handle(GetMeetingsQuery request, CancellationToken cancellationToken)
        {
            var userOidc = auth.GetUserIdentifier();
            var user     = await db.Users
                           .AsNoTracking()
                           .SingleOrDefaultAsync(u => u.OidcIdentifier == userOidc, cancellationToken);

            if (user == null)
            {
                throw new NotFoundException($"Unable to find user with {userOidc}");
            }

            return(await db.Meetings
                   .AsNoTracking()
                   .Include(m => m.Creator)
                   .Include(m => m.Proposals)
                   .Include(m => m.Invitations)
                   .ThenInclude(i => i.User)
                   .Include(m => m.Invitations)
                   .ThenInclude(i => i.Votes)
                   .Where(m => m.Creator == user || m.Invitations.Any(i => i.User == user))
                   .ToListAsync(cancellationToken));
        }
Esempio n. 2
0
 public async Task <IActionResult> GetMeetingsAsync([FromQuery] GetMeetingsQuery getMeetingsQuery)
 {
     return(Ok(await _mediator.Send(getMeetingsQuery)));
 }