namespace EnvelopeGenerator.API.Models; /// /// Lightweight payload used by the Blazor receiver UI to submit signatures. /// Each entry corresponds to one signature placeholder rendered as an /// overlay on top of the DevExpress PDF viewer. /// /// The legacy MVC flow ships a full PSPDFKit InstantJSON payload via /// . /// That format is browser-library specific. The Blazor client uses a /// transport-neutral DTO instead: only what the server actually needs /// to persist the signed document (image + metadata per placeholder). /// /// Conversion to the internal PsPdfKitAnnotation happens inside /// . /// public class BlazorSignaturePayload { /// The receiver-specific signed placeholders for this envelope. public List Signatures { get; set; } = new(); } /// /// A single signed placeholder. /// public class BlazorSignatureEntry { /// The receiver's DocumentReceiverElement.Id being signed. public int ElementId { get; set; } /// Signature image as a data URL (e.g. "data:image/png;base64,..."). public string SignatureDataUrl { get; set; } = string.Empty; /// Optional position / job title entered by the receiver. public string? Position { get; set; } /// Optional city / location entered by the receiver. public string? City { get; set; } /// Capture timestamp (client local time). public DateTime SignedAt { get; set; } }