From c2b757971740a62bffae6d0326b44cb671754381 Mon Sep 17 00:00:00 2001 From: TekH Date: Mon, 26 Oct 2026 16:59:49 +0100 Subject: [PATCH] Refactor CertificationType to use enum Changed CertificationType from int? to CertificationType? enum across multiple files, including EnvelopeDto, EnvelopeTypeDto, and CreateEnvelopeCommand, to improve type safety. Removed the NormalizeCertificationType method as it is no longer necessary. Updated components and records to use the enum directly, enhancing code clarity and reducing potential errors. Added necessary using directives for the enum. --- .../Common/Dto/EnvelopeDto.cs | 2 +- .../Common/Dto/EnvelopeTypeDto.cs | 6 ++++-- .../Queries/ReadEnvelopeTypesQuery.cs | 2 +- .../Envelopes/Commands/CreateEnvelopeCommand.cs | 3 ++- .../Commands/CreateEnvelopeCommandHandler.cs | 15 ++++----------- EnvelopeGenerator.Domain/Entities/Envelope.cs | 4 ++-- .../Sender/CreateEnvelopeWizardPopup.razor | 14 +++----------- .../Sender/CreateEnvelopeWizardResult.cs | 4 +++- .../Pages/SenderEditorPage.razor | 16 ++++------------ .../CreateEnvelopeBootstrapStorageService.cs | 3 ++- 10 files changed, 26 insertions(+), 43 deletions(-) diff --git a/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs b/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs index 0a1ce4a4..a1fd893b 100644 --- a/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs +++ b/EnvelopeGenerator.Application/Common/Dto/EnvelopeDto.cs @@ -84,7 +84,7 @@ public record EnvelopeDto : IEnvelope /// /// /// - public int? CertificationType { get; set; } + public CertificationType? CertificationType { get; set; } /// /// diff --git a/EnvelopeGenerator.Application/Common/Dto/EnvelopeTypeDto.cs b/EnvelopeGenerator.Application/Common/Dto/EnvelopeTypeDto.cs index cb2e4578..1246402b 100644 --- a/EnvelopeGenerator.Application/Common/Dto/EnvelopeTypeDto.cs +++ b/EnvelopeGenerator.Application/Common/Dto/EnvelopeTypeDto.cs @@ -1,4 +1,6 @@ -namespace EnvelopeGenerator.Application.Common.Dto; +using EnvelopeGenerator.Domain.Constants; + +namespace EnvelopeGenerator.Application.Common.Dto; /// /// Data Transfer Object representing a type of envelope with its configuration settings. @@ -28,7 +30,7 @@ public class EnvelopeTypeDto /// /// Gets or sets the certification type identifier. /// - public int? CertificationType { get; set; } + public CertificationType? CertificationType { get; set; } /// /// Gets or sets a value indicating whether an access code is required. diff --git a/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs b/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs index 4196dae4..232db96a 100644 --- a/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs +++ b/EnvelopeGenerator.Application/EnvelopeTypes/Queries/ReadEnvelopeTypesQuery.cs @@ -45,7 +45,7 @@ public class ReadEnvelopeTypesQueryHandler : IRequestHandler /// /// Zertifizierungstyp fuer den Signaturprozess. /// - public int? CertificationType { get; set; } + public CertificationType? CertificationType { get; set; } /// /// Finale E-Mail-Einstellung fuer den Ersteller. diff --git a/EnvelopeGenerator.Application/Envelopes/Commands/CreateEnvelopeCommandHandler.cs b/EnvelopeGenerator.Application/Envelopes/Commands/CreateEnvelopeCommandHandler.cs index 6322837c..6e7386a4 100644 --- a/EnvelopeGenerator.Application/Envelopes/Commands/CreateEnvelopeCommandHandler.cs +++ b/EnvelopeGenerator.Application/Envelopes/Commands/CreateEnvelopeCommandHandler.cs @@ -267,10 +267,10 @@ public class CreateEnvelopeCommandHandler : IRequestHandler().ToList(); Histories = Enumerable.Empty().ToList(); @@ -111,7 +111,7 @@ namespace EnvelopeGenerator.Domain.Entities public bool ReadOnly => this.IsReadAndConfirm(); [Column("CERTIFICATION_TYPE")] - public int? CertificationType { get; set; } + public CertificationType? CertificationType { get; set; } [Column("USE_ACCESS_CODE")] public bool? UseAccessCode { get; set; } diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardPopup.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardPopup.razor index 0c512931..1b1242c6 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardPopup.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardPopup.razor @@ -420,7 +420,7 @@ private string _language = "de-DE"; private bool _useAccessCode; private bool _tfaEnabled; - private int _certificationType = (int)CertificationType.AdvancedElectronicSignature; + private CertificationType _certificationType = CertificationType.AdvancedElectronicSignature; private int _finalEmailToCreator = (int)FinalEmailType.No; private int _finalEmailToReceivers = (int)FinalEmailType.No; private bool _sendReminderEmails; @@ -1025,7 +1025,7 @@ _useAccessCode = true; if (envelopeType.CertificationType.HasValue) - _certificationType = NormalizeCertificationType(envelopeType.CertificationType.Value); + _certificationType = envelopeType.CertificationType.Value; if (envelopeType.FinalEmailToCreator.HasValue) _finalEmailToCreator = envelopeType.FinalEmailToCreator.Value; @@ -1054,7 +1054,6 @@ private void NormalizeSettings() { _language = string.IsNullOrWhiteSpace(_language) ? "de-DE" : _language.Trim(); - _certificationType = NormalizeCertificationType(_certificationType); if (_tfaEnabled) _useAccessCode = true; @@ -1068,13 +1067,6 @@ _expiresWarningWhenDays = _expiresWhenDays; } - private static int NormalizeCertificationType(int value) - { - return value == 2 - ? 2 - : (int)CertificationType.AdvancedElectronicSignature; - } - private bool ValidateSettings(out string? message) { NormalizeSettings(); @@ -1123,7 +1115,7 @@ _language = "de-DE"; _useAccessCode = false; _tfaEnabled = false; - _certificationType = (int)CertificationType.AdvancedElectronicSignature; + _certificationType = CertificationType.AdvancedElectronicSignature; _finalEmailToCreator = (int)FinalEmailType.No; _finalEmailToReceivers = (int)FinalEmailType.No; _sendReminderEmails = false; diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardResult.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardResult.cs index c4b63ebb..6a136532 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardResult.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/Sender/CreateEnvelopeWizardResult.cs @@ -1,3 +1,5 @@ +using EnvelopeGenerator.Domain.Constants; + namespace EnvelopeGenerator.Server.Client.Components.Sender; public sealed record CreateEnvelopeWizardResult( @@ -7,7 +9,7 @@ public sealed record CreateEnvelopeWizardResult( string Language, bool UseAccessCode, bool TFAEnabled, - int CertificationType, + CertificationType CertificationType, int FinalEmailToCreator, int FinalEmailToReceivers, bool SendReminderEmails, diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/SenderEditorPage.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/SenderEditorPage.razor index 2384b531..24271fc4 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/SenderEditorPage.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Pages/SenderEditorPage.razor @@ -652,7 +652,7 @@ string _language = "de-DE"; bool _useAccessCode; bool _tfaEnabled; - int _certificationType = (int)CertificationType.AdvancedElectronicSignature; + CertificationType _certificationType = CertificationType.AdvancedElectronicSignature; int _finalEmailToCreator = (int)FinalEmailType.No; int _finalEmailToReceivers = (int)FinalEmailType.No; bool _sendReminderEmails; @@ -745,7 +745,7 @@ _language = string.IsNullOrWhiteSpace(payload.Language) ? "de-DE" : payload.Language; _useAccessCode = payload.UseAccessCode; _tfaEnabled = payload.TFAEnabled; - _certificationType = NormalizeCertificationType(payload.CertificationType); + _certificationType = payload.CertificationType; _finalEmailToCreator = payload.FinalEmailToCreator; _finalEmailToReceivers = payload.FinalEmailToReceivers; _sendReminderEmails = payload.SendReminderEmails; @@ -852,7 +852,7 @@ if (_tfaEnabled) _useAccessCode = true; - _certificationType = NormalizeCertificationType(envelope.CertificationType ?? (int)CertificationType.AdvancedElectronicSignature); + _certificationType = envelope.CertificationType ?? CertificationType.AdvancedElectronicSignature; _finalEmailToCreator = envelope.FinalEmailToCreator ?? (int)FinalEmailType.No; _finalEmailToReceivers = envelope.FinalEmailToReceivers ?? (int)FinalEmailType.No; @@ -1046,7 +1046,7 @@ _useAccessCode = true; if (envelopeType.CertificationType.HasValue) - _certificationType = NormalizeCertificationType(envelopeType.CertificationType.Value); + _certificationType = envelopeType.CertificationType.Value; if (envelopeType.FinalEmailToCreator.HasValue) _finalEmailToCreator = envelopeType.FinalEmailToCreator.Value; @@ -1433,7 +1433,6 @@ void NormalizeSettings() { _language = string.IsNullOrWhiteSpace(_language) ? "de-DE" : _language.Trim(); - _certificationType = NormalizeCertificationType(_certificationType); if (_tfaEnabled) _useAccessCode = true; @@ -1447,13 +1446,6 @@ _expiresWarningWhenDays = _expiresWhenDays; } - static int NormalizeCertificationType(int value) - { - return value == 2 - ? 2 - : (int)CertificationType.AdvancedElectronicSignature; - } - bool ValidateSettings(out string? message) { NormalizeSettings(); diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/CreateEnvelopeBootstrapStorageService.cs b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/CreateEnvelopeBootstrapStorageService.cs index 2d13cc61..b4f92525 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/CreateEnvelopeBootstrapStorageService.cs +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Services/CreateEnvelopeBootstrapStorageService.cs @@ -1,4 +1,5 @@ using System.Text.Json; +using EnvelopeGenerator.Domain.Constants; using Microsoft.JSInterop; namespace EnvelopeGenerator.Server.Client.Services; @@ -49,7 +50,7 @@ public sealed record CreateEnvelopeBootstrapPayload( string Language, bool UseAccessCode, bool TFAEnabled, - int CertificationType, + CertificationType CertificationType, int FinalEmailToCreator, int FinalEmailToReceivers, bool SendReminderEmails,