private DevExpressReportMetadata GetTemplateMetadata(UserConnection userConnection, Guid reportTemplateId) { var entity = new DevExpressReportMetadata(userConnection); if (entity.FetchFromDB(reportTemplateId)) { return(entity); } throw new ItemNotFoundException(userConnection, reportTemplateId.ToString(), nameof(DevExpressReportMetadata)); }
/// <summary> /// Generates DevExpress report. /// </summary> /// <param name="userConnection">User connection.</param> /// <param name="configuration">Provides configuration for report generator.</param> /// <returns>Returns prepared report.</returns> public ReportData Generate(UserConnection userConnection, ReportGeneratorConfiguration configuration) { CheckReportGeneratorConfiguration(configuration); DevExpressReportMetadata templateMetadata = GetTemplateMetadata(userConnection, configuration.ReportTemplateId); string templateSourceCode = DecodeTemplateSourceCode(templateMetadata); var reportProvider = GetReportProvider(userConnection); DevExpressReportTemplate report = reportProvider.CreateReport(templateSourceCode, templateMetadata.Name); report.UserConnection = userConnection; var reportParametersConfigurator = GetReportParametersConfigurator(); reportParametersConfigurator.ConfigureParameters(userConnection, report, configuration); using (var reportStream = new MemoryStream()) { report.ExportToPdf(reportStream); return(new ReportData { Caption = templateMetadata.Caption, Data = reportStream.ToArray(), Format = "pdf" }); } }
public DevExpressReport(DevExpressReport source) : base(source) { }
private string DecodeTemplateSourceCode(DevExpressReportMetadata templateMetadata) { ReportMessage reportMessage = ReportMessage.FromStream(templateMetadata.GetStreamValue("Data")); return(reportMessage.Body); }