20 lines
718 B
C#
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));
|
|
}
|
|
} |