using EnvelopeGenerator.Application.Common.Dto; using EnvelopeGenerator.Application.Common.Dto.EnvelopeReceiver; using EnvelopeGenerator.Application.Common.Extensions; using EnvelopeGenerator.Application.Common.Notifications.RemoveSignature; using EnvelopeGenerator.Domain.Constants; using MediatR; using System.Dynamic; namespace EnvelopeGenerator.Application.Common.Notifications.DocSigned; /// /// /// /// /// public record PsPdfKitAnnotation(ExpandoObject Instant, IEnumerable Structured); /// /// /// /// public record DocSignedNotification(EnvelopeReceiverDto Original) : EnvelopeReceiverDto(Original), INotification, ISendMailNotification { /// /// /// public PsPdfKitAnnotation? PsPdfKitAnnotation { get; init; } /// /// /// public EmailTemplateType TemplateType => EmailTemplateType.DocumentSigned; /// /// /// public string EmailAddress => Receiver?.EmailAddress ?? throw new InvalidOperationException($"Receiver is null." + $"DocSignedNotification:\n{this.ToJson(Format.Json.ForDiagnostics)}"); }