Refactor BatchRecActionViewResponse to a record type
Refactored `BatchRecActionViewResponse` from a mutable class to an immutable record type with a constructor for `TotalActionCount` and a new `ActionExceptionCount` property. Moved the record to its own file under the `ReC.Application.Common.Dto` namespace. Updated `InvokeBatchRecActionViewsCommand` and `InvokeRecActionViewsCommandHandler` to use the new record type. Removed `SuccessCount` and `FailureCount` properties, replacing them with `ActionExceptionCount`. Performed minor cleanup, including removing the old class definition and updating namespaces.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
namespace ReC.Application.Common.Dto;
|
||||
|
||||
public record BatchRecActionViewResponse(int TotalActionCount)
|
||||
{
|
||||
public int ActionExceptionCount { get; internal set; } = 0;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
using MediatR;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using ReC.Application.Common.Dto;
|
||||
using ReC.Application.Common.Exceptions;
|
||||
using ReC.Application.RecActions.Queries;
|
||||
using ReC.Domain.Constants;
|
||||
@@ -12,22 +13,14 @@ public record InvokeBatchRecActionViewsCommand : IRequest<BatchRecActionViewResp
|
||||
public required InvokeReferences References { get; init; }
|
||||
}
|
||||
|
||||
public record BatchRecActionViewResponse
|
||||
{
|
||||
public int TotalActionCount => SuccessCount + FailureCount;
|
||||
|
||||
public int SuccessCount { get; internal set; } = 0;
|
||||
|
||||
public int FailureCount { get; internal set; } = 0;
|
||||
}
|
||||
|
||||
public class InvokeRecActionViewsCommandHandler(ISender sender, ILogger<InvokeRecActionViewsCommandHandler>? logger = null) : IRequestHandler<InvokeBatchRecActionViewsCommand, BatchRecActionViewResponse>
|
||||
{
|
||||
public async Task<BatchRecActionViewResponse> Handle(InvokeBatchRecActionViewsCommand request, CancellationToken cancel)
|
||||
{
|
||||
var res = new BatchRecActionViewResponse();
|
||||
var actions = await sender.Send(new ReadRecActionViewQuery() { ProfileId = request.ProfileId }, cancel);
|
||||
|
||||
var res = new BatchRecActionViewResponse(TotalActionCount: actions.Count());
|
||||
|
||||
foreach (var action in actions)
|
||||
{
|
||||
try
|
||||
@@ -37,8 +30,6 @@ public class InvokeRecActionViewsCommandHandler(ISender sender, ILogger<InvokeRe
|
||||
Action = action,
|
||||
References = request.References
|
||||
}, cancel);
|
||||
|
||||
res.SuccessCount += 1;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -56,7 +47,7 @@ public class InvokeRecActionViewsCommandHandler(ISender sender, ILogger<InvokeRe
|
||||
throw;
|
||||
}
|
||||
|
||||
res.FailureCount += 1;
|
||||
res.ActionExceptionCount += 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user