Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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 }
            });
        }