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:
@@ -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>
|
||||||
|
{
|
||||||
|
public async Task<int> Handle(UpdateResultProcedure request, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
return new UpdateObjectProcedure
|
return await sender.Send(new UpdateObjectProcedure
|
||||||
{
|
{
|
||||||
Entity = "RESULT",
|
Entity = "RESULT",
|
||||||
Id = id,
|
Id = request.Id,
|
||||||
Result = this
|
Result = request
|
||||||
}.ChangedBy(changedWho);
|
}, cancel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user