コード例 #1
0
        public async Task <ActionResult <RegistrationDto> > GetRegistrationById(int id,
                                                                                [FromQuery] RegistrationsQueryDto query, CancellationToken cancellationToken)
        {
            var registration =
                await _registrationRetrievalService.GetRegistrationByIdAsync(id, RetrievalOptions(query),
                                                                             cancellationToken);

            return(Ok(new RegistrationDto(registration)));
        }
コード例 #2
0
 private static RegistrationRetrievalOptions RetrievalOptions(RegistrationsQueryDto query)
 {
     return(new()
     {
         LoadUser = query.IncludeUserInfo,
         LoadEventInfo = query.IncludeEventInfo,
         LoadProducts = query.IncludeProducts,
         LoadOrders = query.IncludeOrders
     });
 }
コード例 #3
0
        public async Task <PageResponseDto <RegistrationDto> > GetRegistrations(
            [FromQuery] RegistrationsQueryDto query,
            CancellationToken cancellationToken)
        {
            var paging = await _registrationRetrievalService
                         .ListRegistrationsAsync(
                new RegistrationListRequest
            {
                Limit  = query.Limit,
                Offset = query.Offset,
                Filter = new RegistrationFilter
                {
                    AccessibleOnly = true,
                    EventInfoId    = query.EventId ?? null
                },
                OrderBy    = RegistrationListOrder.RegistrationTime,
                Descending = true
            },
                RetrievalOptions(query),
                cancellationToken);

            return(PageResponseDto <RegistrationDto> .FromPaging(
                       query, paging, r => new RegistrationDto(r)));
        }