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()); }
public void Clear() { this.report = new PdfReportModel(); }
public ReportBuilder() { this.report = new PdfReportModel(); }
public static string ToFileName(this PdfReportModel report) { return($"{report.Name} {report.Author} {DateTime.Now.ToShortDateString()}".GenerateSlug() + ".pdf"); }
public RequestBuilder AddPdfData(PdfReportModel pdfReportModel) { this.pdfReportModel = pdfReportModel; return(this); }