From 5c06f287abc6de6da851f7ab9ec394b6d3d99c23 Mon Sep 17 00:00:00 2001 From: TekH Date: Wed, 14 Jan 2026 14:56:10 +0100 Subject: [PATCH] Refactor insert procedure API and add extension method Changed IInsertProcedure.ToObjectProcedure to accept an optional addedWho parameter. Introduced InsertObjectProcedureExtensions with an ExecuteInsertProcedure extension for ISender, defaulting addedWho to "Rec.API" if not specified. --- .../Common/Procedures/InsertProcedure/IInsertProcedure.cs | 2 +- .../Procedures/InsertProcedure/InsertObjectProcedure.cs | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs index ddda32b..59f330a 100644 --- a/src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/IInsertProcedure.cs @@ -2,5 +2,5 @@ public interface IInsertProcedure { - public InsertObjectProcedure ToObjectProcedure(string addedWho = "Rec.API"); + public InsertObjectProcedure ToObjectProcedure(string? addedWho = null); } \ No newline at end of file diff --git a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs index 97c14d5..e0b9c00 100644 --- a/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs +++ b/src/ReC.Application/Common/Procedures/InsertProcedure/InsertObjectProcedure.cs @@ -28,6 +28,14 @@ public record InsertObjectProcedure : IRequest public InsertEndpointParamsProcedure EndpointParams { get; set; } = new(); } +public static class InsertObjectProcedureExtensions +{ + public static Task ExecuteInsertProcedure(this ISender sender, IInsertProcedure procedure, string? addedWho = null, CancellationToken cancel = default) + { + return sender.Send(procedure.ToObjectProcedure(addedWho ?? "Rec.API"), cancel); + } +} + public class InsertObjectProcedureHandler(IRepository repo) : IRequestHandler { public async Task Handle(InsertObjectProcedure request, CancellationToken cancel)