public async Task <IActionResult> SinglePdfAsync(Dictionary <string, List <string> > ids, CancellationToken cancellationToken) { InitUserInfo(); if (!AllowPrint) { return(ValidationProblem()); } var id = ids["ids"][0]; var item = await _partService.GetByIdAsync(id, cancellationToken); var result = _partService.GeneratePdf(item, cancellationToken); if (result == null) { AssignToModelState(_partService.Errors); return(BadRequest(ModelState)); } var downloadUrl = _uriComposer.ComposeDownloadUri(System.IO.Path.GetFileName(result)); var pdfResult = new Dictionary <string, string>() { { "download", downloadUrl } }; return(Ok(pdfResult)); }
public async Task <ActionResult <Dictionary <string, string> > > GetStatusAsync(string id, CancellationToken cancellationToken) { var item = await _downloadProcessService.GetByJobIdAsync(id, cancellationToken); if (item == null) { throw new EntityNotFoundException(nameof(UserInfo), id); } var downloadUrl = _uriComposer.ComposeDownloadUri(item.FileName); return(new Dictionary <string, string>() { { "status", item.Status }, { "filename", downloadUrl } }); }