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 SignCommand : 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(SignCommand request, CancellationToken cancellationToken = default)
{
return Task.CompletedTask;
}
}