Example #1
0
        protected override async Task <LevelBestVideoReadModel> ProcessAsync(LevelBestVideoGetCommand <Guid> message,
                                                                             CancellationToken cancellationToken)
        {
            var search = Query <LevelVideoPic> .Create(x => x.Stream_id == message.Id);

            var query   = new SingleQuery <LevelVideoPic>(search);
            var command = new EntitySingleQuery <LevelVideoPic, LevelBestVideoReadModel>(query);
            var result  = await Mediator.Send(command, cancellationToken).ConfigureAwait(false);

            return(result.Data);
        }
Example #2
0
        public async Task <IActionResult> GetTrainingVideosById(CancellationToken cancellationToken, Guid fileId)
        {
            var memory  = new MemoryStream();
            var command = new LevelBestVideoGetCommand <Guid>(fileId);
            var result  = await Mediator.Send(command, cancellationToken).ConfigureAwait(false);

            using (var stream = new FileStream(result.Path, FileMode.Open))
            {
                await stream.CopyToAsync(memory);
            }
            memory.Position = 0;
            return(File(memory, GetContentType(result.Path), Path.GetFileName(result.Path)));
        }