Files
BackOffice.BFF/src/BackOffice.BFF.Application/CommissionCQ/Queries/GetUserWeeklyBalances/GetUserWeeklyBalancesQueryHandler.cs
T
masoodafar-web f234af49e0
Build and Deploy / build (push) Successful in 1m41s
feat: update protobuf versions and enhance club membership and commission queries
2025-12-20 03:16:36 +03:30

40 lines
1.4 KiB
C#

using CMSMicroservice.Protobuf.Protos.Commission;
namespace BackOffice.BFF.Application.CommissionCQ.Queries.GetUserWeeklyBalances;
public class GetUserWeeklyBalancesQueryHandler : IRequestHandler<GetUserWeeklyBalancesQuery, GetUserWeeklyBalancesResponseDto>
{
private readonly IApplicationContractContext _context;
public GetUserWeeklyBalancesQueryHandler(IApplicationContractContext context)
{
_context = context;
}
public async Task<GetUserWeeklyBalancesResponseDto> Handle(GetUserWeeklyBalancesQuery request, CancellationToken cancellationToken)
{
var grpcRequest = new GetUserWeeklyBalancesRequest
{
OnlyActive = request.Filter?.OnlyActive ?? false,
PageIndex = request.PaginationState?.PageNumber ?? 1,
PageSize = request.PaginationState?.PageSize ?? 10
};
if (request.Filter?.UserId.HasValue == true && request.Filter.UserId.Value > 0)
{
grpcRequest.UserId = request.Filter.UserId.Value;
}
if (request.Filter?.WeekDefinitionId.HasValue == true && request.Filter.WeekDefinitionId.Value > 0)
{
grpcRequest.WeekDefinitionId = request.Filter.WeekDefinitionId.Value;
}
var response = await _context.Commissions.GetUserWeeklyBalancesAsync(grpcRequest, cancellationToken: cancellationToken);
return response.Adapt<GetUserWeeklyBalancesResponseDto>();
}
}