using DigitalData.Core.Abstraction.Application.Repository; using DigitalData.EmailProfilerDispatcher.Abstraction.Entities; using EnvelopeGenerator.Application.Common.Configurations; using EnvelopeGenerator.Domain.Entities; using Microsoft.Extensions.Options; using EnvelopeGenerator.Domain.Interfaces; namespace EnvelopeGenerator.Application.Common.Notifications.DocSigned.Handlers; /// /// /// public class SendSignedMailHandler : SendMailHandler { /// /// /// /// /// /// /// public SendSignedMailHandler(IRepository tempRepo, IRepository emailOutRepo, IOptions mailParamsOptions, IOptions dispatcherParamsOptions) : base(tempRepo, emailOutRepo, mailParamsOptions, dispatcherParamsOptions) { } /// /// /// /// /// protected override void ConfigureEmailOut(DocSignedNotification notification, EmailOut emailOut) { emailOut.ReferenceString = notification.EmailAddress; emailOut.ReferenceId = notification.ReceiverId; } /// /// /// /// protected override Dictionary CreatePlaceHolders(DocSignedNotification notification) { var placeHolders = new Dictionary() { { "[NAME_RECEIVER]", notification.Name ?? string.Empty }, { "[DOCUMENT_TITLE]", notification.Envelope?.Title ?? string.Empty }, }; if (notification.Envelope.IsReadAndConfirm()) { placeHolders["[SIGNATURE_TYPE]"] = "Lesen und bestätigen"; placeHolders["[DOCUMENT_PROCESS]"] = string.Empty; placeHolders["[FINAL_STATUS]"] = "Lesebestätigung"; placeHolders["[FINAL_ACTION]"] = "Empfänger bestätigt"; placeHolders["[REJECTED_BY_OTHERS]"] = "anderen Empfänger abgelehnt!"; placeHolders["[RECEIVER_ACTION]"] = "bestätigt"; } else { placeHolders["[SIGNATURE_TYPE]"] = "Signieren"; placeHolders["[DOCUMENT_PROCESS]"] = " und elektronisch unterschreiben"; placeHolders["[FINAL_STATUS]"] = "Signatur"; placeHolders["[FINAL_ACTION]"] = "Vertragspartner unterzeichnet"; placeHolders["[REJECTED_BY_OTHERS]"] = "anderen Vertragspartner abgelehnt! Ihre notwendige Unterzeichnung wurde verworfen."; placeHolders["[RECEIVER_ACTION]"] = "unterschrieben"; } return placeHolders; } }