Replaces the ToObjectProcedure method with a dedicated DeleteEndpointProcedureHandler implementing IRequestHandler. The handler uses MediatR's ISender to send DeleteObjectProcedure, improving separation of concerns and aligning with MediatR request/response patterns.
37 lines
1002 B
C#
37 lines
1002 B
C#
using MediatR;
|
|
using ReC.Application.Common.Procedures.DeleteProcedure;
|
|
|
|
namespace ReC.Application.Endpoints.Commands;
|
|
|
|
public record DeleteEndpointProcedure : IDeleteProcedure
|
|
{
|
|
/// <summary>
|
|
/// Start GUID/ID (inclusive)
|
|
/// </summary>
|
|
public long Start { get; set; }
|
|
|
|
/// <summary>
|
|
/// End GUID/ID (inclusive). If 0, will be set to Start value.
|
|
/// </summary>
|
|
public long End { get; set; }
|
|
|
|
/// <summary>
|
|
/// If true, delete even if dependent ACTION data exists
|
|
/// </summary>
|
|
public bool Force { get; set; }
|
|
}
|
|
|
|
public class DeleteEndpointProcedureHandler(ISender sender) : IRequestHandler<DeleteEndpointProcedure, int>
|
|
{
|
|
public async Task<int> Handle(DeleteEndpointProcedure request, CancellationToken cancel)
|
|
{
|
|
return await sender.Send(new DeleteObjectProcedure
|
|
{
|
|
Entity = "ENDPOINT",
|
|
Start = request.Start,
|
|
End = request.End,
|
|
Force = request.Force
|
|
}, cancel);
|
|
}
|
|
}
|