protected override async Task <TrainingVideoReadModel> ProcessAsync(TrainingVideoGetCommand <Guid> message, CancellationToken cancellationToken) { var search = Query <TrainingVideoPic> .Create(x => x.Stream_id == message.Id); var query = new SingleQuery <TrainingVideoPic>(search); var command = new EntitySingleQuery <TrainingVideoPic, TrainingVideoReadModel>(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 TrainingVideoGetCommand <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))); }