using MediatR; using EnvelopeGenerator.Application.Common.Dto; using EnvelopeGenerator.Application.Common.Dto.EnvelopeReceiver; using EnvelopeGenerator.Application.Common.Query; namespace EnvelopeGenerator.Application.Signatures.Commands; /// /// Command to sign a document by a receiver. /// public record SigningCommand : EnvelopeReceiverQueryBase, IRequest { private EnvelopeReceiverDto? _envelopeReceiver; internal void SetEnvelopeReceiver(EnvelopeReceiverDto envelopeReceiver) { _envelopeReceiver = envelopeReceiver; } /// /// The envelope receiver information. /// public EnvelopeReceiverDto EnvelopeReceiver { get => _envelopeReceiver!; init => _envelopeReceiver = value; } /// /// The PSPDFKit annotation data. /// [Obsolete("This notification is deprecated. Use Signature.Commands.SignCommand instead.")] public PsPdfKitAnnotation? PsPdfKitAnnotation { get; init; } } /// /// Handles the sign command. All work is done by pipeline behaviors. /// This handler is intentionally empty - behaviors handle all the processing. /// public class SignCommandHandler : IRequestHandler { /// /// Executes the signing command. Pipeline behaviors handle all processing. /// /// /// /// public Task Handle(SigningCommand request, CancellationToken cancellationToken = default) { return Task.CompletedTask; } }