Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 public async Task <ActionResult <CursorPagedListDto <AudioDto, long> > > Get([FromQuery] GetAudiosQuery query, CancellationToken cancellationToken)
 {
     return(new JsonResult(await _mediator.Send(query, cancellationToken)));
 }