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))); }
private static RegistrationRetrievalOptions RetrievalOptions(RegistrationsQueryDto query) { return(new() { LoadUser = query.IncludeUserInfo, LoadEventInfo = query.IncludeEventInfo, LoadProducts = query.IncludeProducts, LoadOrders = query.IncludeOrders }); }
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))); }