From fc4187bb9e2a5b1c6fa16eb8ca9535258dee0ef8 Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 1 Sep 2025 10:41:36 +0200 Subject: [PATCH] Refactor constants and update CreateHistoryCommand Updated `CreateHistoryCommand.cs` to use the `EnvelopeStatus` enum directly from the `EnvelopeGenerator.Domain.Constants` namespace. Refactored `Constants.cs` to consolidate multiple enums related to statuses, types, and roles. Modified `Fake.cs` to align with the new enum structure and introduced `Value.cs` for better organization of constant string values. Overall, these changes enhance code clarity and maintainability. --- .../Commands/CreateHistoryCommand.cs | 4 +- EnvelopeGenerator.Domain/Constants.cs | 171 ------------------ .../Constants/CertificationType.cs | 9 + .../Constants/ColorType.cs | 16 ++ .../Constants/DocumentStatus.cs | 8 + .../Constants/ElementStatus.cs | 7 + .../Constants/ElementType.cs | 7 + .../Constants/EmailTemplateType.cs | 16 ++ .../Constants/EncodeType.cs | 11 ++ .../Constants/EnvelopeStatus.cs | 53 ++++++ .../Constants/FinalEmailType.cs | 9 + .../Constants/ReceiverRole.cs | 8 + .../Constants/ReceiverStatus.cs | 8 + .../Constants/ReferenceType.cs | 11 ++ EnvelopeGenerator.Domain/Constants/Value.cs | 14 ++ EnvelopeGenerator.Tests.Application/Fake.cs | 5 +- 16 files changed, 182 insertions(+), 175 deletions(-) delete mode 100644 EnvelopeGenerator.Domain/Constants.cs create mode 100644 EnvelopeGenerator.Domain/Constants/CertificationType.cs create mode 100644 EnvelopeGenerator.Domain/Constants/ColorType.cs create mode 100644 EnvelopeGenerator.Domain/Constants/DocumentStatus.cs create mode 100644 EnvelopeGenerator.Domain/Constants/ElementStatus.cs create mode 100644 EnvelopeGenerator.Domain/Constants/ElementType.cs create mode 100644 EnvelopeGenerator.Domain/Constants/EmailTemplateType.cs create mode 100644 EnvelopeGenerator.Domain/Constants/EncodeType.cs create mode 100644 EnvelopeGenerator.Domain/Constants/EnvelopeStatus.cs create mode 100644 EnvelopeGenerator.Domain/Constants/FinalEmailType.cs create mode 100644 EnvelopeGenerator.Domain/Constants/ReceiverRole.cs create mode 100644 EnvelopeGenerator.Domain/Constants/ReceiverStatus.cs create mode 100644 EnvelopeGenerator.Domain/Constants/ReferenceType.cs create mode 100644 EnvelopeGenerator.Domain/Constants/Value.cs diff --git a/EnvelopeGenerator.Application/Histories/Commands/CreateHistoryCommand.cs b/EnvelopeGenerator.Application/Histories/Commands/CreateHistoryCommand.cs index 66417154..6b0169a7 100644 --- a/EnvelopeGenerator.Application/Histories/Commands/CreateHistoryCommand.cs +++ b/EnvelopeGenerator.Application/Histories/Commands/CreateHistoryCommand.cs @@ -1,10 +1,10 @@ using DigitalData.Core.Abstraction.Application.Repository; using EnvelopeGenerator.Application.Model; -using EnvelopeGenerator.Domain; using EnvelopeGenerator.Domain.Entities; using MediatR; using Microsoft.EntityFrameworkCore; using EnvelopeGenerator.Application.Extensions; +using EnvelopeGenerator.Domain.Constants; namespace EnvelopeGenerator.Application.Histories.Commands; @@ -26,7 +26,7 @@ public record CreateHistoryCommand : EnvelopeReceiverQueryBase, IRequest /// /// /// - public Constants.EnvelopeStatus Status { get; set; } + public EnvelopeStatus Status { get; set; } /// /// diff --git a/EnvelopeGenerator.Domain/Constants.cs b/EnvelopeGenerator.Domain/Constants.cs deleted file mode 100644 index 3e225663..00000000 --- a/EnvelopeGenerator.Domain/Constants.cs +++ /dev/null @@ -1,171 +0,0 @@ -#if NETFRAMEWORK -using System.Collections.Generic; -#endif - -namespace EnvelopeGenerator.Domain -{ - public static class Constants - { - #region Status Fields - - // http://wiki.dd/xwiki13/bin/view/Anwendungen/Produkt-Handbuch/Sonstiges/SignFlow/Envelope%20Status/ - public enum EnvelopeStatus - { - Invalid = 0, - EnvelopeCreated = 1001, - EnvelopeSaved = 1002, - EnvelopeQueued = 1003, - EnvelopeSent = 1004, // Nicht verwendet - EnvelopePartlySigned = 1005, - EnvelopeCompletelySigned = 1006, - EnvelopeReportCreated = 1007, - EnvelopeArchived = 1008, - EnvelopeDeleted = 1009, - EnvelopeRejected = 10007, - EnvelopeWithdrawn = 10009, - AccessCodeRequested = 2001, - AccessCodeCorrect = 2002, - AccessCodeIncorrect = 2003, - DocumentOpened = 2004, - DocumentSigned = 2005, - DocumentForwarded = 2006, - DocumentRejected = 2007, - EnvelopeShared = 2008, - EnvelopeViewed = 2009, - MessageInvitationSent = 3001, // Wird von Trigger verwendet - MessageAccessCodeSent = 3002, - MessageConfirmationSent = 3003, - MessageDeletionSent = 3004, - MessageCompletionSent = 3005, - DocumentMod_Rotation = 4001 - } - - public static class Status - { - public static readonly IReadOnlyList NonHist = new List - { - EnvelopeStatus.Invalid, - EnvelopeStatus.EnvelopeSaved, - EnvelopeStatus.EnvelopeSent, - EnvelopeStatus.EnvelopePartlySigned - }; - - public static readonly IReadOnlyList RelatedToFormApp = new List - { - EnvelopeStatus.EnvelopeCreated, - EnvelopeStatus.DocumentMod_Rotation - }; - } - - // TODO: standardize in xwiki - public enum ReferenceType - { - Sender = 1, - Receiver, - System, - Unknown - } - - public enum ElementStatus - { - Created = 0 - } - - public enum DocumentStatus - { - Created = 0, - Signed = 1 - } - - public enum ReceiverStatus - { - Unsigned = 0, - Signed = 1 - } - - #endregion - - #region Type Fields - - public enum ElementType - { - Signature = 1 - } - - public enum ColorType - { - ReceiverColor1 = 1, - ReceiverColor2 = 2, - ReceiverColor3 = 3, - ReceiverColor4 = 4, - ReceiverColor5 = 5, - ReceiverColor6 = 6, - ReceiverColor7 = 7, - ReceiverColor8 = 8, - ReceiverColor9 = 9, - ReceiverColor10 = 10 - } - - public enum CertificationType - { - AdvancedElectronicSignature = 1 - // ElectronicSignature = 1 - // QualifiedSignature = 2 - } - - public enum FinalEmailType - { - No = 0, - Yes = 1, - YesWithAttachment = 2 - } - - public enum EmailTemplateType - { - DocumentReceived = 0, - DocumentSigned, - DocumentDeleted, - DocumentCompleted, - DocumentAccessCodeReceived, - DocumentShared, - TotpSecret, - DocumentRejected_ADM, - DocumentRejected_REC, - DocumentRejected_REC_2 - } - - public enum EncodeType - { - EnvelopeReceiver, - EnvelopeReceiverReadOnly, - Undefined, - DocumentForwarded, - DocumentShared - } - - #endregion - - #region Role - - public static class ReceiverRole - { - public const string PreAuth = "PreAuth"; - public const string FullyAuth = "FullyAuth"; - } - - #endregion - - #region Constants - - public const string DATABASE = "DATABASE"; - public const string LOGCONFIG = "LOGCONFIG"; - public const string GDPICTURE = "GDPICTURE"; - public const string PDF_BURNER_PARAMS = "PDFBurnerParams"; - - public const string GREEN_300 = "#bbf7d0"; - public const string RED_300 = "#fecaca"; - public const string ORANGE_300 = "#fed7aa"; - - #endregion - } -} diff --git a/EnvelopeGenerator.Domain/Constants/CertificationType.cs b/EnvelopeGenerator.Domain/Constants/CertificationType.cs new file mode 100644 index 00000000..85dabf16 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/CertificationType.cs @@ -0,0 +1,9 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum CertificationType + { + AdvancedElectronicSignature = 1 + // ElectronicSignature = 1 + // QualifiedSignature = 2 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/ColorType.cs b/EnvelopeGenerator.Domain/Constants/ColorType.cs new file mode 100644 index 00000000..5d24e674 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/ColorType.cs @@ -0,0 +1,16 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum ColorType + { + ReceiverColor1 = 1, + ReceiverColor2 = 2, + ReceiverColor3 = 3, + ReceiverColor4 = 4, + ReceiverColor5 = 5, + ReceiverColor6 = 6, + ReceiverColor7 = 7, + ReceiverColor8 = 8, + ReceiverColor9 = 9, + ReceiverColor10 = 10 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/DocumentStatus.cs b/EnvelopeGenerator.Domain/Constants/DocumentStatus.cs new file mode 100644 index 00000000..e4396e4d --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/DocumentStatus.cs @@ -0,0 +1,8 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum DocumentStatus + { + Created = 0, + Signed = 1 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/ElementStatus.cs b/EnvelopeGenerator.Domain/Constants/ElementStatus.cs new file mode 100644 index 00000000..4d65b2db --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/ElementStatus.cs @@ -0,0 +1,7 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum ElementStatus + { + Created = 0 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/ElementType.cs b/EnvelopeGenerator.Domain/Constants/ElementType.cs new file mode 100644 index 00000000..3266282b --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/ElementType.cs @@ -0,0 +1,7 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum ElementType + { + Signature = 1 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/EmailTemplateType.cs b/EnvelopeGenerator.Domain/Constants/EmailTemplateType.cs new file mode 100644 index 00000000..dc21b589 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/EmailTemplateType.cs @@ -0,0 +1,16 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum EmailTemplateType + { + DocumentReceived = 0, + DocumentSigned, + DocumentDeleted, + DocumentCompleted, + DocumentAccessCodeReceived, + DocumentShared, + TotpSecret, + DocumentRejected_ADM, + DocumentRejected_REC, + DocumentRejected_REC_2 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/EncodeType.cs b/EnvelopeGenerator.Domain/Constants/EncodeType.cs new file mode 100644 index 00000000..3a0abfd9 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/EncodeType.cs @@ -0,0 +1,11 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum EncodeType + { + EnvelopeReceiver, + EnvelopeReceiverReadOnly, + Undefined, + DocumentForwarded, + DocumentShared + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/EnvelopeStatus.cs b/EnvelopeGenerator.Domain/Constants/EnvelopeStatus.cs new file mode 100644 index 00000000..5242a5f8 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/EnvelopeStatus.cs @@ -0,0 +1,53 @@ +using System.Collections.Generic; + +namespace EnvelopeGenerator.Domain.Constants +{ + // http://wiki.dd/xwiki13/bin/view/Anwendungen/Produkt-Handbuch/Sonstiges/SignFlow/Envelope%20Status/ + public enum EnvelopeStatus + { + Invalid = 0, + EnvelopeCreated = 1001, + EnvelopeSaved = 1002, + EnvelopeQueued = 1003, + EnvelopeSent = 1004, // Nicht verwendet + EnvelopePartlySigned = 1005, + EnvelopeCompletelySigned = 1006, + EnvelopeReportCreated = 1007, + EnvelopeArchived = 1008, + EnvelopeDeleted = 1009, + EnvelopeRejected = 10007, + EnvelopeWithdrawn = 10009, + AccessCodeRequested = 2001, + AccessCodeCorrect = 2002, + AccessCodeIncorrect = 2003, + DocumentOpened = 2004, + DocumentSigned = 2005, + DocumentForwarded = 2006, + DocumentRejected = 2007, + EnvelopeShared = 2008, + EnvelopeViewed = 2009, + MessageInvitationSent = 3001, // Wird von Trigger verwendet + MessageAccessCodeSent = 3002, + MessageConfirmationSent = 3003, + MessageDeletionSent = 3004, + MessageCompletionSent = 3005, + DocumentMod_Rotation = 4001 + } + + public static class Status + { + public static readonly IReadOnlyList NonHist = new List + { + EnvelopeStatus.Invalid, + EnvelopeStatus.EnvelopeSaved, + EnvelopeStatus.EnvelopeSent, + EnvelopeStatus.EnvelopePartlySigned + }; + + public static readonly IReadOnlyList RelatedToFormApp = new List + { + EnvelopeStatus.EnvelopeCreated, + EnvelopeStatus.DocumentMod_Rotation + }; + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/FinalEmailType.cs b/EnvelopeGenerator.Domain/Constants/FinalEmailType.cs new file mode 100644 index 00000000..f7f25a24 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/FinalEmailType.cs @@ -0,0 +1,9 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum FinalEmailType + { + No = 0, + Yes = 1, + YesWithAttachment = 2 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/ReceiverRole.cs b/EnvelopeGenerator.Domain/Constants/ReceiverRole.cs new file mode 100644 index 00000000..e6da139d --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/ReceiverRole.cs @@ -0,0 +1,8 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public static class ReceiverRole + { + public const string PreAuth = "PreAuth"; + public const string FullyAuth = "FullyAuth"; + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/ReceiverStatus.cs b/EnvelopeGenerator.Domain/Constants/ReceiverStatus.cs new file mode 100644 index 00000000..422daf7c --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/ReceiverStatus.cs @@ -0,0 +1,8 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public enum ReceiverStatus + { + Unsigned = 0, + Signed = 1 + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/ReferenceType.cs b/EnvelopeGenerator.Domain/Constants/ReferenceType.cs new file mode 100644 index 00000000..2d5f0bb7 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/ReferenceType.cs @@ -0,0 +1,11 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + // TODO: standardize in xwiki + public enum ReferenceType + { + Sender = 1, + Receiver, + System, + Unknown + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Domain/Constants/Value.cs b/EnvelopeGenerator.Domain/Constants/Value.cs new file mode 100644 index 00000000..392bbdb5 --- /dev/null +++ b/EnvelopeGenerator.Domain/Constants/Value.cs @@ -0,0 +1,14 @@ +namespace EnvelopeGenerator.Domain.Constants +{ + public static class Value + { + public const string DATABASE = "DATABASE"; + public const string LOGCONFIG = "LOGCONFIG"; + public const string GDPICTURE = "GDPICTURE"; + public const string PDF_BURNER_PARAMS = "PDFBurnerParams"; + + public const string GREEN_300 = "#bbf7d0"; + public const string RED_300 = "#fecaca"; + public const string ORANGE_300 = "#fed7aa"; + } +} \ No newline at end of file diff --git a/EnvelopeGenerator.Tests.Application/Fake.cs b/EnvelopeGenerator.Tests.Application/Fake.cs index c7a9d080..23c473f3 100644 --- a/EnvelopeGenerator.Tests.Application/Fake.cs +++ b/EnvelopeGenerator.Tests.Application/Fake.cs @@ -17,6 +17,7 @@ using Microsoft.Extensions.Hosting; using QuestPDF.Fluent; using QuestPDF.Infrastructure; using EnvelopeGenerator.Domain; +using EnvelopeGenerator.Domain.Constants; namespace EnvelopeGenerator.Tests.Application; @@ -204,13 +205,13 @@ public static class Extensions #endregion #region History - public static CreateHistoryCommand CreateHistoryCommand(this Faker fake, string key, Constants.EnvelopeStatus? status = null) + public static CreateHistoryCommand CreateHistoryCommand(this Faker fake, string key, EnvelopeStatus? status = null) where TEnvelopeQuery : EnvelopeQueryBase where TReceiverQuery : ReceiverQueryBase { return new() { - Status = status ?? fake.PickEnum(), + Status = status ?? fake.PickEnum(), Comment = fake.Lorem.Sentence(), Key = key, };