public async Task <List <AudioDto> > Handle(GetAudiosQuery request, CancellationToken cancellationToken) { DataBlock dataBlock = await _context.DataBlocks .SingleOrDefaultAsync(db => db.CreatedBy.Equals(request.UserId) && db.Id == request.DataBlockId, cancellationToken); if (dataBlock == null) { throw new NotFoundException(nameof(DataBlock), request.DataBlockId); } var audios = await _context.DataBlockAudios .Include(dba => dba.Audio) .Where(dba => dba.DataBlockId == dataBlock.Id) .Select(dba => new AudioDto() { Id = dba.AudioId, Title = dba.Audio.Title, Description = dba.Audio.Description, Privacy = new PrivacyEntityDto() { Id = dba.Audio.Privacy.Id, BeginDate = dba.Audio.Privacy.BeginDate, EndDate = dba.Audio.Privacy.EndDate, IsAlways = dba.Audio.Privacy.IsAlways.Value, PrivacyLevel = dba.Audio.Privacy.PrivacyLevel } }) .ToListAsync(cancellationToken); return(audios); }
public async Task <ActionResult <CursorPagedListDto <AudioDto, long> > > Get([FromQuery] GetAudiosQuery query, CancellationToken cancellationToken) { return(new JsonResult(await _mediator.Send(query, cancellationToken))); }