diff --git a/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor b/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor
index 6497aad3..9f46153a 100644
--- a/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor
+++ b/EnvelopeGenerator.ReceiverUI/Pages/ReportViewer.razor
@@ -29,7 +29,7 @@
@if(Report is not null) {
-
+
}
@code {
@@ -37,11 +37,10 @@
XtraReport? Report;
bool SignatureApplied;
string? SignatureValidationMessage;
+ int ViewerKey;
protected override async Task OnInitializedAsync() {
- Report = ReportStorage.TryGetReport("LargeDatasetReport", out var savedReport)
- ? savedReport
- : PredefinedReports.ReportsFactory.GetReport("LargeDatasetReport");
+ Report = CreateReportInstance();
await Task.CompletedTask;
}
@@ -55,12 +54,8 @@
await JSRuntime.InvokeVoidAsync("receiverSignature.clear", "receiver-signature-pad");
SignatureApplied = false;
SignatureValidationMessage = null;
- Report = ReportStorage.TryGetReport("LargeDatasetReport", out var savedReport)
- ? savedReport
- : PredefinedReports.ReportsFactory.GetReport("LargeDatasetReport");
-
- if(reportViewer is not null)
- await reportViewer.OpenReportAsync(Report);
+ Report = CreateReportInstance();
+ ViewerKey++;
}
async Task ApplySignatureAsync() {
@@ -73,11 +68,9 @@
}
SignatureValidationMessage = null;
- ApplySignatureToReport(signatureDataUrl);
+ Report = CreateSignedReportInstance(signatureDataUrl);
SignatureApplied = true;
-
- if(reportViewer is not null)
- await reportViewer.OpenReportAsync(Report);
+ ViewerKey++;
}
async Task ExportSignedPdfAsync() {
@@ -89,6 +82,18 @@
await reportViewer.ExportToAsync(ExportFormat.Pdf);
}
+ XtraReport CreateReportInstance() {
+ return ReportStorage.TryGetReport("LargeDatasetReport", out var savedReport)
+ ? savedReport
+ : PredefinedReports.ReportsFactory.GetReport("LargeDatasetReport");
+ }
+
+ XtraReport CreateSignedReportInstance(string signatureDataUrl) {
+ var report = CreateReportInstance();
+ AddSignature(report, signatureDataUrl);
+ return report;
+ }
+
void ApplySignatureToReport(string signatureDataUrl) {
Report ??= ReportStorage.TryGetReport("LargeDatasetReport", out var savedReport)
? savedReport