diff --git a/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeReceiverPage_DxReportViewer.razor b/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeReceiverPage_DxReportViewer.razor
index 3a84ea71..7c2de031 100644
--- a/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeReceiverPage_DxReportViewer.razor
+++ b/EnvelopeGenerator.ReceiverUI/Pages/EnvelopeReceiverPage_DxReportViewer.razor
@@ -12,47 +12,37 @@
-@if (Report is not null) {
-
+@if (_report is not null) {
+
}
@code {
- [Parameter] public string EnvelopeKey { get; set; } = string.Empty;
+ [Parameter] public string EnvelopeKey { get; init; } = null!;
- XtraReport Report { get; set; } = null!;
+ XtraReport? _report = null;
- byte[] BasePdfBytes { get; set; } = null!;
-
- protected override async Task OnInitializedAsync() {
- if (!AppOptions.Value.UsePredefinedReports) {
- try {
- var pdfBytes = await DocumentService.GetDocumentAsync(EnvelopeKey);
- if (pdfBytes is { Length: > 0 })
- BasePdfBytes = pdfBytes;
- else
- throw new InvalidOperationException($"No PDF bytes found for EnvelopeKey: {EnvelopeKey}");
- } catch (HttpRequestException ex) {
- throw new InvalidOperationException($"Failed to load document for EnvelopeKey: {EnvelopeKey}", ex);
- }
- }
-
- Report = CreateReport();
+ protected override async Task OnInitializedAsync()
+ {
+ _report = await CreateReport();
}
- XtraReport CreateReport()
+ async Task CreateReport()
{
if (AppOptions.Value.UsePredefinedReports)
{
- return ReportStorage.TryGetReport("LargeDatasetReport", out var savedReport)
- ? savedReport
- : PredefinedReports.ReportsFactory.GetReport("LargeDatasetReport");
+ return PredefinedReports.ReportsFactory.GetReport("LargeDatasetReport");
}
else
{
+
+ var pdfBytes = await DocumentService.GetDocumentAsync(EnvelopeKey);
+ if (pdfBytes is null || pdfBytes.Length == 0)
+ throw new InvalidOperationException($"No PDF bytes found for EnvelopeKey: {EnvelopeKey}");
+
var report = new XtraReport();
var detail = new DevExpress.XtraReports.UI.DetailBand();
report.Bands.Add(detail);
- detail.Controls.Add(new DevExpress.XtraReports.UI.XRPdfContent { Source = BasePdfBytes, GenerateOwnPages = true });
+ detail.Controls.Add(new DevExpress.XtraReports.UI.XRPdfContent { Source = pdfBytes, GenerateOwnPages = true });
return report;
}
}