//------------------------------------------------------------------------------------------

        public async Task <ActualResult <FileDTO> > CreateReport(ReportPdfDTO dto)
        {
            try
            {
                var model = await FillModelReport(dto);

                var pdf = _reportGeneratorService.Generate(model);

                var reportBucketModel = _mapper.Map <ReportPdfBucketModel>(dto);
                reportBucketModel.Pdf = _mapper.Map <FileModel>(pdf);
                await _pdfBucketService.PutPdfObject(reportBucketModel);

                return(new ActualResult <FileDTO> {
                    Result = _mapper.Map <FileDTO>(pdf)
                });
            }
            catch (Exception exception)
            {
                return(new ActualResult <FileDTO>(DescriptionExceptionHelper.GetDescriptionError(exception)));
            }
        }
Ejemplo n.º 2
0
        //------------------------------------------------------------------------------------------

        public async Task <ActualResult <byte[]> > CreateReport(ReportPdfDTO dto)
        {
            try
            {
                var model = await FillModelReport(dto);

                var validationModel = ValidatePdfModel(model);
                if (validationModel)
                {
                    var pdf = _reportGeneratorService.Generate(model);
                    if (pdf.Length > 0)
                    {
                        await _pdfBucketService.PutPdfObject(new ReportPdfBucketModel
                        {
                            IdEmployee = _hashIdUtilities.DecryptLong(dto.HashEmployeeId),
                            EmailUser  = dto.EmailUser,
                            IpUser     = dto.IpUser,
                            TypeReport = (int)model.Type,
                            DateFrom   = model.StartDate,
                            DateTo     = model.EndDate,
                            Data       = pdf
                        });

                        return(new ActualResult <byte[]> {
                            Result = pdf
                        });
                    }
                    return(new ActualResult <byte[]>(Errors.ApplicationError));
                }
                return(new ActualResult <byte[]>(Errors.NotFound));
            }
            catch (Exception exception)
            {
                return(new ActualResult <byte[]>(DescriptionExceptionHelper.GetDescriptionError(exception)));
            }
        }