From d90c2fab96cdbe162a51a65daeec7c4e713544ea Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 14 Jan 2026 09:26:27 +0100 Subject: [PATCH] Refactor: split insert procedures into separate files Refactored insert procedure-related classes by moving each record type (Action, Endpoint, EndpointAuth, Profile, Result, EndpointParams) and the IInsertProcedure interface into their own files under the new InsertProcedure namespace. Updated InsertObjectProcedureValidator to use the new namespace. This improves code organization, readability, and maintainability. --- .../InsertProcedure/IInsertProcedure.cs | 6 + .../InsertProcedure/InsertActionProcedure.cs | 27 ++++ .../InsertEndpointAuthProcedure.cs | 25 ++++ .../InsertEndpointParamsProcedure.cs | 20 +++ .../InsertEndpointProcedure.cs | 17 +++ .../InsertObjectProcedure.cs | 129 +----------------- .../InsertProcedure/InsertProfileProcedure.cs | 21 +++ .../InsertProcedure/InsertResultProcedure.cs | 18 +++ .../InsertObjectProcedureValidator.cs | 2 +- 9 files changed, 136 insertions(+), 129 deletions(-) create mode 100644 src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs create mode 100644 src/ReC.Application/Common/Procedures/InsertProcedure/InsertActionProcedure.cs create mode 100644 src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointAuthProcedure.cs create mode 100644 src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointParamsProcedure.cs create mode 100644 src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointProcedure.cs rename src/ReC.Application/Common/Procedures/{ => InsertProcedure}/InsertObjectProcedure.cs (70%) create mode 100644 src/ReC.Application/Common/Procedures/InsertProcedure/InsertProfileProcedure.cs create mode 100644 src/ReC.Application/Common/Procedures/InsertProcedure/InsertResultProcedure.cs diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs new file mode 100644 index 0000000..84e0287 --- /dev/null +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs @@ -0,0 +1,6 @@ +namespace ReC.Application.Common.Procedures.InsertProcedure; + +public interface IInsertProcedure +{ + public InsertObjectProcedure ToObjectProcedure(); +} \ No newline at end of file diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertActionProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertActionProcedure.cs new file mode 100644 index 0000000..bd0196a --- /dev/null +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertActionProcedure.cs @@ -0,0 +1,27 @@ +namespace ReC.Application.Common.Procedures.InsertProcedure; + +public record InsertActionProcedure : IInsertProcedure +{ + public long? ProfileId { get; set; } + public bool? Active { get; set; } + public byte? Sequence { get; set; } + public long? EndpointId { get; set; } + public long? EndpointAuthId { get; set; } + public short? EndpointParamsId { get; set; } + public short? SqlConnectionId { get; set; } + public byte? TypeId { get; set; } + public string? PreSql { get; set; } + public string? HeaderSql { get; set; } + public string? BodySql { get; set; } + public string? PostSql { get; set; } + public byte? ErrorActionId { get; set; } + + public InsertObjectProcedure ToObjectProcedure() + { + return new InsertObjectProcedure + { + Entity = "ACTION", + Action = this + }; + } +} \ No newline at end of file diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointAuthProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointAuthProcedure.cs new file mode 100644 index 0000000..cedd6a9 --- /dev/null +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointAuthProcedure.cs @@ -0,0 +1,25 @@ +namespace ReC.Application.Common.Procedures.InsertProcedure; + +public record InsertEndpointAuthProcedure : IInsertProcedure +{ + public bool? Active { get; set; } + public string? Description { get; set; } + public byte? TypeId { get; set; } + public string? ApiKey { get; set; } + public string? ApiValue { get; set; } + public bool? ApiKeyAddToId { get; set; } + public string? Token { get; set; } + public string? Username { get; set; } + public string? Password { get; set; } + public string? Domain { get; set; } + public string? Workstation { get; set; } + + public InsertObjectProcedure ToObjectProcedure() + { + return new InsertObjectProcedure + { + Entity = "ENDPOINT_AUTH", + EndpointAuth = this + }; + } +} \ No newline at end of file diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointParamsProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointParamsProcedure.cs new file mode 100644 index 0000000..08bb215 --- /dev/null +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointParamsProcedure.cs @@ -0,0 +1,20 @@ +namespace ReC.Application.Common.Procedures.InsertProcedure; + +public record InsertEndpointParamsProcedure : IInsertProcedure +{ + public bool? Active { get; set; } + public string? Description { get; set; } + public short? GroupId { get; set; } + public byte? Sequence { get; set; } + public string? Key { get; set; } + public string? Value { get; set; } + + public InsertObjectProcedure ToObjectProcedure() + { + return new InsertObjectProcedure + { + Entity = "ENDPOINT_PARAMS", + EndpointParams = this + }; + } +} \ No newline at end of file diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointProcedure.cs new file mode 100644 index 0000000..9be94d3 --- /dev/null +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertEndpointProcedure.cs @@ -0,0 +1,17 @@ +namespace ReC.Application.Common.Procedures.InsertProcedure; + +public record InsertEndpointProcedure : IInsertProcedure +{ + public bool? Active { get; set; } + public string? Description { get; set; } + public string? Uri { get; set; } + + public InsertObjectProcedure ToObjectProcedure() + { + return new InsertObjectProcedure + { + Entity = "ENDPOINT", + Endpoint = this + }; + } +} \ No newline at end of file diff --git a/src/ReC.Application/Common/Procedures/InsertObjectProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs similarity index 70% rename from src/ReC.Application/Common/Procedures/InsertObjectProcedure.cs rename to src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs index 3b1c58b..77ccac5 100644 --- a/src/ReC.Application/Common/Procedures/InsertObjectProcedure.cs +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs @@ -4,134 +4,7 @@ using Microsoft.Data.SqlClient; using ReC.Application.Common.Exceptions; using System.Text.Json; -namespace ReC.Application.Common.Procedures; - -public interface IInsertProcedure -{ - public InsertObjectProcedure ToObjectProcedure(); -} - -public record InsertActionProcedure : IInsertProcedure -{ - public long? ProfileId { get; set; } - public bool? Active { get; set; } - public byte? Sequence { get; set; } - public long? EndpointId { get; set; } - public long? EndpointAuthId { get; set; } - public short? EndpointParamsId { get; set; } - public short? SqlConnectionId { get; set; } - public byte? TypeId { get; set; } - public string? PreSql { get; set; } - public string? HeaderSql { get; set; } - public string? BodySql { get; set; } - public string? PostSql { get; set; } - public byte? ErrorActionId { get; set; } - - public InsertObjectProcedure ToObjectProcedure() - { - return new InsertObjectProcedure - { - Entity = "ACTION", - Action = this - }; - } -} - -public record InsertEndpointProcedure : IInsertProcedure -{ - public bool? Active { get; set; } - public string? Description { get; set; } - public string? Uri { get; set; } - - public InsertObjectProcedure ToObjectProcedure() - { - return new InsertObjectProcedure - { - Entity = "ENDPOINT", - Endpoint = this - }; - } -} - -public record InsertEndpointAuthProcedure : IInsertProcedure -{ - public bool? Active { get; set; } - public string? Description { get; set; } - public byte? TypeId { get; set; } - public string? ApiKey { get; set; } - public string? ApiValue { get; set; } - public bool? ApiKeyAddToId { get; set; } - public string? Token { get; set; } - public string? Username { get; set; } - public string? Password { get; set; } - public string? Domain { get; set; } - public string? Workstation { get; set; } - - public InsertObjectProcedure ToObjectProcedure() - { - return new InsertObjectProcedure - { - Entity = "ENDPOINT_AUTH", - EndpointAuth = this - }; - } -} - -public record InsertProfileProcedure : IInsertProcedure -{ - public bool? Active { get; set; } - public byte? TypeId { get; set; } - public string? Mandantor { get; set; } - public string? Name { get; set; } - public string? Description { get; set; } - public byte? LogLevelId { get; set; } - public short? LanguageId { get; set; } - - public InsertObjectProcedure ToObjectProcedure() - { - return new InsertObjectProcedure - { - Entity = "PROFILE", - Profile = this - }; - } -} - -public record InsertResultProcedure : IInsertProcedure -{ - public long? ActionId { get; set; } - public short? StatusId { get; set; } - public string? Header { get; set; } - public string? Body { get; set; } - - public InsertObjectProcedure ToObjectProcedure() - { - return new InsertObjectProcedure - { - Entity = "RESULT", - Result = this - }; - } -} - -public record InsertEndpointParamsProcedure : IInsertProcedure -{ - public bool? Active { get; set; } - public string? Description { get; set; } - public short? GroupId { get; set; } - public byte? Sequence { get; set; } - public string? Key { get; set; } - public string? Value { get; set; } - - public InsertObjectProcedure ToObjectProcedure() - { - return new InsertObjectProcedure - { - Entity = "ENDPOINT_PARAMS", - EndpointParams = this - }; - } -} +namespace ReC.Application.Common.Procedures.InsertProcedure; public record InsertObjectProcedure : IRequest { diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertProfileProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertProfileProcedure.cs new file mode 100644 index 0000000..acab968 --- /dev/null +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertProfileProcedure.cs @@ -0,0 +1,21 @@ +namespace ReC.Application.Common.Procedures.InsertProcedure; + +public record InsertProfileProcedure : IInsertProcedure +{ + public bool? Active { get; set; } + public byte? TypeId { get; set; } + public string? Mandantor { get; set; } + public string? Name { get; set; } + public string? Description { get; set; } + public byte? LogLevelId { get; set; } + public short? LanguageId { get; set; } + + public InsertObjectProcedure ToObjectProcedure() + { + return new InsertObjectProcedure + { + Entity = "PROFILE", + Profile = this + }; + } +} \ No newline at end of file diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertResultProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertResultProcedure.cs new file mode 100644 index 0000000..d70bcd8 --- /dev/null +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertResultProcedure.cs @@ -0,0 +1,18 @@ +namespace ReC.Application.Common.Procedures.InsertProcedure; + +public record InsertResultProcedure : IInsertProcedure +{ + public long? ActionId { get; set; } + public short? StatusId { get; set; } + public string? Header { get; set; } + public string? Body { get; set; } + + public InsertObjectProcedure ToObjectProcedure() + { + return new InsertObjectProcedure + { + Entity = "RESULT", + Result = this + }; + } +} \ No newline at end of file diff --git a/src/ReC.Application/Common/Validations/InsertObjectProcedureValidator.cs b/src/ReC.Application/Common/Validations/InsertObjectProcedureValidator.cs index 6593e04..f84d915 100644 --- a/src/ReC.Application/Common/Validations/InsertObjectProcedureValidator.cs +++ b/src/ReC.Application/Common/Validations/InsertObjectProcedureValidator.cs @@ -1,5 +1,5 @@ using FluentValidation; -using ReC.Application.Common.Procedures; +using ReC.Application.Common.Procedures.InsertProcedure; namespace ReC.Application.Common.Validations;