Files
BackOffice.BFF/src/BackOffice.BFF.Application/CommissionCQ/Queries/GetWorkerExecutionLogs/GetWorkerExecutionLogsQueryHandler.cs
masoodafar-web fe56b8f139
All checks were successful
Build and Deploy / build (push) Successful in 2m18s
feat: add GetAvailableWeeks query and update protobuf imports
2025-12-12 05:57:32 +03:30

49 lines
1.5 KiB
C#

using CMSMicroservice.Protobuf.Protos.Commission;
namespace BackOffice.BFF.Application.CommissionCQ.Queries.GetWorkerExecutionLogs;
public class GetWorkerExecutionLogsQueryHandler : IRequestHandler<GetWorkerExecutionLogsQuery, GetWorkerExecutionLogsResponseDto>
{
private readonly IApplicationContractContext _context;
public GetWorkerExecutionLogsQueryHandler(IApplicationContractContext context)
{
_context = context;
}
public async Task<GetWorkerExecutionLogsResponseDto> Handle(GetWorkerExecutionLogsQuery request, CancellationToken cancellationToken)
{
var grpcRequest = new GetWorkerExecutionLogsRequest
{
PageIndex = request.PageIndex,
PageSize = request.PageSize
};
if (!string.IsNullOrWhiteSpace(request.WeekNumber))
{
grpcRequest.WeekNumber = request.WeekNumber;
}
if (!string.IsNullOrWhiteSpace(request.ExecutionId))
{
grpcRequest.ExecutionId = request.ExecutionId;
}
if (request.SuccessOnly.HasValue)
{
grpcRequest.SuccessOnly = request.SuccessOnly.Value;
}
if (request.FailedOnly.HasValue)
{
grpcRequest.FailedOnly = request.FailedOnly.Value;
}
var response = await _context.Commissions.GetWorkerExecutionLogsAsync(grpcRequest, cancellationToken: cancellationToken);
return response.Adapt<GetWorkerExecutionLogsResponseDto>();
}
}