From bf0bd8e9e7a559a1ec9df05e76fa3b11e505b668 Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 25 Sep 2025 16:14:59 +0200 Subject: [PATCH] refactor(ISignature): create to handle common properties of a signature - implement to entity and dto --- .../Common/Dto/SignatureDto.cs | 5 +++-- EnvelopeGenerator.Domain/Entities/Signature.cs | 5 +++-- EnvelopeGenerator.Domain/Interfaces/ISignature.cs | 11 +++++++++++ .../Controllers/EnvelopeController.cs | 14 ++++++++++---- 4 files changed, 27 insertions(+), 8 deletions(-) create mode 100644 EnvelopeGenerator.Domain/Interfaces/ISignature.cs diff --git a/EnvelopeGenerator.Application/Common/Dto/SignatureDto.cs b/EnvelopeGenerator.Application/Common/Dto/SignatureDto.cs index 187936fb..f78d4896 100644 --- a/EnvelopeGenerator.Application/Common/Dto/SignatureDto.cs +++ b/EnvelopeGenerator.Application/Common/Dto/SignatureDto.cs @@ -1,4 +1,5 @@ -using Microsoft.AspNetCore.Mvc; +using EnvelopeGenerator.Domain.Interfaces; +using Microsoft.AspNetCore.Mvc; namespace EnvelopeGenerator.Application.Common.Dto; @@ -6,7 +7,7 @@ namespace EnvelopeGenerator.Application.Common.Dto; /// Data Transfer Object representing a positioned element assigned to a document receiver. /// [ApiExplorerSettings(IgnoreApi = true)] -public class SignatureDto +public class SignatureDto : ISignature { /// /// Gets or sets the unique identifier of the element. diff --git a/EnvelopeGenerator.Domain/Entities/Signature.cs b/EnvelopeGenerator.Domain/Entities/Signature.cs index fc95b2c8..e24e0cc4 100644 --- a/EnvelopeGenerator.Domain/Entities/Signature.cs +++ b/EnvelopeGenerator.Domain/Entities/Signature.cs @@ -1,4 +1,5 @@ -using System.ComponentModel; +using EnvelopeGenerator.Domain.Interfaces; +using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; #if NETFRAMEWORK @@ -13,7 +14,7 @@ namespace EnvelopeGenerator.Domain.Entities #endif [Table("TBSIG_DOCUMENT_RECEIVER_ELEMENT", Schema = "dbo")] -public class Signature +public class Signature : ISignature { public Signature() { diff --git a/EnvelopeGenerator.Domain/Interfaces/ISignature.cs b/EnvelopeGenerator.Domain/Interfaces/ISignature.cs new file mode 100644 index 00000000..6e7ca530 --- /dev/null +++ b/EnvelopeGenerator.Domain/Interfaces/ISignature.cs @@ -0,0 +1,11 @@ +namespace EnvelopeGenerator.Domain.Interfaces +{ + public interface ISignature + { + int Page { get; set; } + + double X { get; set; } + + double Y { get; set; } + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs index a1c4ab54..1cf42060 100644 --- a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs +++ b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs @@ -226,12 +226,18 @@ public class EnvelopeController : ViewControllerBase { using var pdf = Pdf.FromMemory(doc.ByteData).Design(1, canvas => { - canvas.SetStrokeColor(ColorConstants.RED); - canvas.SetFillColor(ColorConstants.CYAN); - canvas.SetFillColorRgb(222, 220, 215); - canvas.SetLineWidth(2); + canvas.SetFillColor(new DeviceRgb(135, 62, 35)); + canvas.Rectangle(100, 500, 200, 100); + + canvas.Fill(); + + canvas.SetFillColor(new DeviceRgb(222, 220, 215)); + + canvas.SetStrokeColor(new DeviceRgb(135, 62, 35)); + canvas.Circle(300, 500, 100); canvas.FillStroke(); + canvas.Fill(); }); doc.ByteData = pdf.ExportAsBytes();