Files
EnvelopeGenerator/EnvelopeGenerator.WebUI/EnvelopeGenerator.WebUI.Client/Services/CustomReportProvider.cs

20 lines
718 B
C#

using DevExpress.XtraReports.UI;
using DevExpress.XtraReports.Services;
using EnvelopeGenerator.WebUI.Client.PredefinedReports;
namespace EnvelopeGenerator.WebUI.Client.Services;
public class CustomReportProvider : IReportProviderAsync {
private readonly InMemoryReportStorageWebExtension reportStorage;
public CustomReportProvider(InMemoryReportStorageWebExtension reportStorage) {
this.reportStorage = reportStorage;
}
public Task<XtraReport> GetReportAsync(string id, ReportProviderContext context) {
if(reportStorage.TryGetReport(id, out var savedReport))
return Task.FromResult(savedReport);
return Task.FromResult(ReportsFactory.GetReport(id));
}
}