public async Task <Stream> GeneratePdfPreview(PdfReportModel pdfReport, CancellationToken cancellationToken = default)
        {
            var request = new RestRequest("reports/preview", Method.POST, DataFormat.Json);

            request.AddJsonBody(pdfReport);

            var response = await ExecutePostAsync(request, cancellationToken);

            if (!response.IsSuccessful)
            {
                var error = JsonConvert.DeserializeObject <ErrorModel>(response.Content, PdfGeneratorContentSerialization.SerializerSettings);
                throw new PdfGeneratorException(error);
            }

            return(new MemoryStream(response.RawBytes));
        }
        public async Task <List <Uri> > GenerateSvgs(PdfReportModel pdfReport, CancellationToken cancellationToken = default)
        {
            var report = await GeneratePdf(pdfReport);

            var request = new RestRequest("svg?fileName=" + report.Id, Method.GET);

            var response = await ExecuteGetAsync <SuccessModel <List <string> > >(request, cancellationToken);

            if (!response.IsSuccessful)
            {
                var error = JsonConvert.DeserializeObject <ErrorModel>(response.Content, PdfGeneratorContentSerialization.SerializerSettings);
                throw new PdfGeneratorException(error);
            }

            return(response.Data.Resource.Select(x => new Uri(x)).ToList());
        }
Пример #3
0
 public void Clear()
 {
     this.report = new PdfReportModel();
 }
Пример #4
0
 public ReportBuilder()
 {
     this.report = new PdfReportModel();
 }
Пример #5
0
 public static string ToFileName(this PdfReportModel report)
 {
     return($"{report.Name} {report.Author} {DateTime.Now.ToShortDateString()}".GenerateSlug() + ".pdf");
 }
Пример #6
0
 public RequestBuilder AddPdfData(PdfReportModel pdfReportModel)
 {
     this.pdfReportModel = pdfReportModel;
     return(this);
 }