Refactor UpdateResultProcedure to use MediatR handler

Refactored UpdateResultProcedure to implement IUpdateProcedure directly and removed the ToObjectProcedure method. Introduced UpdateResultProcedureHandler using MediatR's IRequestHandler pattern, delegating update logic via ISender. This improves code structure and maintainability.
This commit is contained in:
2026-03-19 23:18:17 +01:00
parent 16155da033
commit cbe4f1ba3c

View File

@@ -1,21 +1,26 @@
using MediatR;
using ReC.Application.Common.Procedures.UpdateProcedure; using ReC.Application.Common.Procedures.UpdateProcedure;
namespace ReC.Application.Results.Commands; namespace ReC.Application.Results.Commands;
public record UpdateResultProcedure : IUpdateProcedure public record UpdateResultProcedure : IUpdateProcedure
{ {
public long Id { get; set; }
public long? ActionId { get; set; } public long? ActionId { get; set; }
public short? StatusId { get; set; } public short? StatusId { get; set; }
public string? Header { get; set; } public string? Header { get; set; }
public string? Body { get; set; } public string? Body { get; set; }
}
public UpdateObjectProcedure ToObjectProcedure(long id, string? changedWho = null) public class UpdateResultProcedureHandler(ISender sender) : IRequestHandler<UpdateResultProcedure, int>
{ {
return new UpdateObjectProcedure public async Task<int> Handle(UpdateResultProcedure request, CancellationToken cancel)
{
return await sender.Send(new UpdateObjectProcedure
{ {
Entity = "RESULT", Entity = "RESULT",
Id = id, Id = request.Id,
Result = this Result = request
}.ChangedBy(changedWho); }, cancel);
} }
} }