Beispiel #1
0
        public async Task <IActionResult> GetReservationsByClassId([FromRoute] int classId)
        {
            var command = new GetReservationsByClassIdCommand(classId);
            var result  = await _mediator.Send(command);

            return(Ok(result));
        }
        public async Task <List <ReservationDtoGetter> > Handle(GetReservationsByClassIdCommand request, CancellationToken cancellationToken)
        {
            var reservationsList = await _dbContext
                                   .Reservations
                                   .Where(x => x.ClassId == request.ClassId)
                                   .ToListAsync(cancellationToken);

            var reservationsDtoList = new List <ReservationDtoGetter>();

            foreach (var reservation in reservationsList)
            {
                var reservationDto = reservation.Adapt <ReservationDtoGetter>();
                var member         = await _dbContext
                                     .Members
                                     .FirstAsync(x => x.MemberId == reservation.MemberId, cancellationToken);

                reservationDto.Member = member.Adapt <MemberDto>();
                reservationsDtoList.Add(reservationDto);
            }

            reservationsDtoList = reservationsDtoList.OrderBy(x => x.Member.SurName).ToList();
            return(reservationsDtoList);
        }