From 05de44bc133b8a9f1f097d4aaad89bd2c1a718b5 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Tue, 6 May 2025 19:23:01 +0200 Subject: [PATCH] Implement MediatR support for envelope template reset - Modified `ResetEnvelopeTemplateCommand` to implement `IRequest`. - Introduced `ResetEnvelopeTemplateCommandHandler` to handle requests. - Added a collection of default email templates for notifications. --- .../Reset/ResetEnvelopeTemplateCommand.cs | 3 +- .../ResetEnvelopeTemplateCommandHandler.cs | 89 +++++++++++++++++++ 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommandHandler.cs diff --git a/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommand.cs b/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommand.cs index 79ce1295..38926dd6 100644 --- a/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommand.cs +++ b/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommand.cs @@ -1,4 +1,5 @@ using EnvelopeGenerator.Common; +using MediatR; namespace EnvelopeGenerator.Application.EmailTemplates.Commands.Reset; @@ -19,4 +20,4 @@ namespace EnvelopeGenerator.Application.EmailTemplates.Commands.Reset; /// 8 - DocumentRejected_REC (Für den ablehnenden Empfänger): Mail an den ablehnenden Empfänger, wenn das Dokument abgelehnt wird. /// 9 - DocumentRejected_REC_2 (Für sonstige Empfänger): Mail an andere Empfänger (Brief), wenn das Dokument abgelehnt wird. /// -public record ResetEnvelopeTemplateCommand(int? Id, Constants.EmailTemplateType? Type) : EmailTemplateQuery(Id, Type); +public record ResetEnvelopeTemplateCommand(int? Id, Constants.EmailTemplateType? Type) : EmailTemplateQuery(Id, Type), IRequest; diff --git a/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommandHandler.cs b/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommandHandler.cs new file mode 100644 index 00000000..7e5b36e3 --- /dev/null +++ b/EnvelopeGenerator.Application/EmailTemplates/Commands/Reset/ResetEnvelopeTemplateCommandHandler.cs @@ -0,0 +1,89 @@ +using EnvelopeGenerator.Domain.Entities; +using MediatR; + +namespace EnvelopeGenerator.Application.EmailTemplates.Commands.Reset; + +/// +/// +/// +public class ResetEnvelopeTemplateCommandHandler : IRequestHandler +{ + /// + /// + /// + /// + /// + /// + /// + public Task Handle(ResetEnvelopeTemplateCommand request, CancellationToken cancellationToken) + { + throw new NotImplementedException(); + } + + /// + /// + /// + public static readonly IEnumerable Default = new List() + { + new(){ + Id = 1, + Name = "DocumentReceived", + Body = "Guten Tag [NAME_RECEIVER],
\r\n
\r\n[NAME_SENDER] hat Ihnen ein Dokument zum [SIGNATURE_TYPE] gesendet.
\r\n
\r\nÜber den folgenden Link können Sie das Dokument einsehen und elektronisch unterschreiben: [LINK_TO_DOCUMENT_TEXT]
\r\n
\r\n[MESSAGE]
\r\n
\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "Dokument erhalten: '[DOCUMENT_TITLE]'" + }, + new(){ + Id = 2, + Name = "DocumentDeleted", + Body = "Guten Tag [NAME_RECEIVER],
\r\n
\r\n[NAME_SENDER] hat den Umschlag '[DOCUMENT_TITLE]' gelöscht/zurückgezogen.

\rBegründung:
[REASON]

\r\n
\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "Umschlag zurückgezogen: '[DOCUMENT_TITLE]'" + }, + new(){ + Id = 3, + Name = "DocumentSigned", + Body = "Guten Tag [NAME_RECEIVER],
\r\n
\r\nhiermit bestätigen wir Ihnen die erfolgreiche Signatur für den Vorgang '[DOCUMENT_TITLE]'.
\r\nWenn alle Vertragspartner unterzeichnet haben, erhalten Sie ebenfalls per email ein unterschriebenes Exemplar mit dem Signierungszertifikat!\r\n
\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "Dokument unterschrieben: '[DOCUMENT_TITLE]'" + }, + new(){ + Id = 4, + Name = "DocumentCompleted", + Body = "Guten Tag [NAME_RECEIVER],
\r\n
\r\nDer Signaturvorgang '[DOCUMENT_TITLE]' wurde erfolgreich abgeschlossen.
\r\n
\r\nSie erhalten das Dokument mit einem detaillierten Ergebnisbericht als Anhang zu dieser Email.
\r\n
\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "Umschlag abgeschlossen: '[DOCUMENT_TITLE]'" + }, + new(){ + Id = 5, + Name = "DocumentAccessCodeReceived", + Body = "Guten Tag [NAME_RECEIVER],
\r\n
\r\n[NAME_SENDER] hat Ihnen ein Dokument zum [SIGNATURE_TYPE] gesendet.
\r\n
\r\nVerwenden Sie den folgenden Zugriffscode, um das Dokument einzusehen:
\r\n
\r\n[DOCUMENT_ACCESS_CODE]
\r\n
\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "Zugriffscode für Dokument erhalten: '[DOCUMENT_TITLE]'" + }, + new(){ + Id = 6, + Name = "DocumentRejected_ADM", + Body = "Guten Tag [NAME_SENDER],

[NAME_RECEIVER] hat den Umschlag '[DOCUMENT_TITLE]' mit folgendem Grund abgelehnt:

\r\n[REASON] \r\n

Der Umschlag wurde auf den Status Rejected gesetzt.

\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "'[DOCUMENT_TITLE]' - Unterzeichnungsvorgang zurückgezogen" + }, + new(){ + Id = 9, + Name = "DocumentRejected_REC", + Body = "Guten Tag [NAME_RECEIVER],\r\n

Hiermit bestätigen wir Ihnen die Ablehnung des Unterzeichnungsvorganges '[DOCUMENT_TITLE]'!

Der Vertragsinhaber [NAME_SENDER] wurde über die Ablehnung informiert.

\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "'[DOCUMENT_TITLE]' - Bestätigung Ablehnung" + }, + new(){ + Id = 10, + Name = "DocumentRejected_REC_2", + Body = "Guten Tag [NAME_RECEIVER],\r\n

Der Unterzeichnungsvorganges '[DOCUMENT_TITLE]' wurde durch einen anderen Vertragspartner abgelehnt! Ihre notwendige Unterzeichnung wurde verworfen.

Der Vertragsinhaber [NAME_SENDER] wird sich bei Bedarf mit Ihnen in Verbindung setzen.

\r\nMit freundlichen Grüßen
\r\n
\r\n[NAME_PORTAL]", + Subject = "'[DOCUMENT_TITLE]' - Unterzeichnungsvorgang abgelehnt." + }, + new(){ + Id = 11, + Name = "DocumentShared", + Body = "Guten Tag,

[NAME_RECEIVER] hat Ihnen ein Dokument zum Ansehen gesendet.

Über den folgenden Link können Sie das Dokument einsehen: [LINK_TO_DOCUMENT_TEXT]


Mit freundlichen Grüßen

[NAME_PORTAL]", + Subject = "Dokument geteilt: '[DOCUMENT_TITLE]'" + }, + new(){ + Id = 12, + Name = "TotpSecret", + Body = "Guten Tag,

Sie können auf Ihren Zwei-Faktor-Authentifizierungscode zugreifen, indem Sie den unten stehenden QR-Code mit einer beliebigen Authentifizierungs-App auf Ihrem Telefon scannen (Google Authenticator, Microsoft Authenticator usw.). Dieser Code ist bis zum [TFA_EXPIRATION] gültig.



\r\n
Mit freundlichen Grüßen

[NAME_PORTAL]", + Subject = "2-Faktor-Verifizierung QR-Code" + } + }; +}