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); }
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))); }