From 9f57baf2e56301ad5a2e75260846fdb1603318ec Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 17 Jun 2026 14:05:01 +0200 Subject: [PATCH] refactor(ReceiverUI/Models): update to use Application layer's DTO --- .../EnvelopeGenerator.ReceiverUI.csproj | 3 ++ .../Models/AnnotationDto.cs | 32 ------------------- .../Pages/Example/ReportViewer.razor | 6 +++- .../Services/AnnotationService.cs | 1 + 4 files changed, 9 insertions(+), 33 deletions(-) delete mode 100644 EnvelopeGenerator.ReceiverUI/Models/AnnotationDto.cs diff --git a/EnvelopeGenerator.ReceiverUI/EnvelopeGenerator.ReceiverUI.csproj b/EnvelopeGenerator.ReceiverUI/EnvelopeGenerator.ReceiverUI.csproj index fbdaa2e6..9f4ee25e 100644 --- a/EnvelopeGenerator.ReceiverUI/EnvelopeGenerator.ReceiverUI.csproj +++ b/EnvelopeGenerator.ReceiverUI/EnvelopeGenerator.ReceiverUI.csproj @@ -41,6 +41,9 @@ + + + Always diff --git a/EnvelopeGenerator.ReceiverUI/Models/AnnotationDto.cs b/EnvelopeGenerator.ReceiverUI/Models/AnnotationDto.cs deleted file mode 100644 index ced9c039..00000000 --- a/EnvelopeGenerator.ReceiverUI/Models/AnnotationDto.cs +++ /dev/null @@ -1,32 +0,0 @@ -namespace EnvelopeGenerator.ReceiverUI.Models; - -/// -/// Represents a pre-assigned signature annotation position on a specific page. -///

-/// Coordinate unit (X, Y): Inches (GdPicture14 native unit), -/// origin at the top-left corner of the page, both axes increase downward/rightward. -///

-/// Conversion to DevExpress: Multiply by 100 (DX uses 1/100 inch). -/// Convert: xDX = xInches * 100.0 -///
-/// Conversion to PDF Points: Multiply by 72 (1 inch = 72 points). -/// Convert: xPt = xInches * 72.0 -///
-/// Y-axis for PDF (bottom-left origin): Flip required for iText7. -/// Convert: yPt = (pageHeightInches - yInches - elemHeightInches) * 72.0 -///
-[Obsolete("Use SignatureDto with SignatureService.")] -public record AnnotationDto -{ - /// Unique identifier of the annotation. - public long Id { get; init; } - - /// 1-based page number within the document. - public int Page { get; init; } - - /// Horizontal position in INCHES from the left edge of the page. - public double X { get; init; } - - /// Vertical position in INCHES from the top edge of the page. - public double Y { get; init; } -} diff --git a/EnvelopeGenerator.ReceiverUI/Pages/Example/ReportViewer.razor b/EnvelopeGenerator.ReceiverUI/Pages/Example/ReportViewer.razor index 6e5f275e..42bfc0d7 100644 --- a/EnvelopeGenerator.ReceiverUI/Pages/Example/ReportViewer.razor +++ b/EnvelopeGenerator.ReceiverUI/Pages/Example/ReportViewer.razor @@ -6,6 +6,7 @@ @using DevExpress.Utils @using DevExpress.XtraPrinting @using DevExpress.XtraPrinting.Drawing +@using EnvelopeGenerator.Application.Common.Dto @using Microsoft.JSInterop @using XtraReport = DevExpress.XtraReports.UI.XtraReport @using BottomMarginBand = DevExpress.XtraReports.UI.BottomMarginBand @@ -301,7 +302,10 @@ Shown="OnPopupShownAsync"> bool IsLoggingOut; IReadOnlyList _annotations = []; - IEnumerable AnnotationPages => _annotations.Select(a => a.Page).Distinct().OrderBy(p => p); + IEnumerable AnnotationPages => _annotations + .Select(a => a.Page ?? throw new InvalidOperationException($"Annotation page is missing for annotation ID {a.Id}. Annotation details: X={a.X}, Y={a.Y}")) + .Distinct() + .OrderBy(p => p); EnvelopeReceiverDto? _envelopeReceiver; record SignatureCapture(string DataUrl, string FullName, string Position, string Place); SignatureCapture? _capturedSignature; diff --git a/EnvelopeGenerator.ReceiverUI/Services/AnnotationService.cs b/EnvelopeGenerator.ReceiverUI/Services/AnnotationService.cs index ead7437c..74bb3960 100644 --- a/EnvelopeGenerator.ReceiverUI/Services/AnnotationService.cs +++ b/EnvelopeGenerator.ReceiverUI/Services/AnnotationService.cs @@ -1,5 +1,6 @@ using System.Net.Http.Json; using System.Text.Json; +using EnvelopeGenerator.Application.Common.Dto; using EnvelopeGenerator.ReceiverUI.Models; using EnvelopeGenerator.ReceiverUI.Options; using Microsoft.Extensions.Options;