feat: update protobuf versions and enhance club membership and commission queries
Build and Deploy / build (push) Successful in 1m41s

This commit is contained in:
masoodafar-web
2025-12-20 03:16:36 +03:30
parent 6b72e88780
commit f234af49e0
55 changed files with 352 additions and 150 deletions
@@ -26,9 +26,9 @@ public class GetUserWeeklyBalancesFilter
public long? UserId { get; set; }
/// <summary>
/// شماره هفته (فیلتر اختیاری)
/// شناسه هفته (فیلتر اختیاری)
/// </summary>
public string? WeekNumber { get; set; }
public long? WeekDefinitionId { get; set; }
/// <summary>
/// فقط تعادل‌های فعال (منقضی نشده)
@@ -27,9 +27,9 @@ public class GetUserWeeklyBalancesQueryHandler : IRequestHandler<GetUserWeeklyBa
grpcRequest.UserId = request.Filter.UserId.Value;
}
if (!string.IsNullOrWhiteSpace(request.Filter?.WeekNumber))
if (request.Filter?.WeekDefinitionId.HasValue == true && request.Filter.WeekDefinitionId.Value > 0)
{
grpcRequest.WeekNumber = request.Filter.WeekNumber;
grpcRequest.WeekDefinitionId = request.Filter.WeekDefinitionId.Value;
}
var response = await _context.Commissions.GetUserWeeklyBalancesAsync(grpcRequest, cancellationToken: cancellationToken);
@@ -15,10 +15,10 @@ public class GetUserWeeklyBalancesQueryValidator : AbstractValidator<GetUserWeek
.When(x => x.Filter!.UserId.HasValue)
.WithMessage("شناسه کاربر معتبر نیست");
RuleFor(x => x.Filter!.WeekNumber)
.Matches(@"^\d{4}-W\d{2}$")
.When(x => !string.IsNullOrWhiteSpace(x.Filter!.WeekNumber))
.WithMessage("فرمت شماره هفته باید به صورت YYYY-Www باشد (مثال: 2025-W48)");
RuleFor(x => x.Filter!.WeekDefinitionId)
.GreaterThan(0)
.When(x => x.Filter!.WeekDefinitionId.HasValue)
.WithMessage("شناسه هفته معتبر نیست");
});
}
}
@@ -10,7 +10,8 @@ public record UserWeeklyBalanceDto
{
public long Id { get; init; }
public long UserId { get; init; }
public string WeekNumber { get; init; } = string.Empty;
public long WeekDefinitionId { get; init; }
public string WeekDisplayName { get; init; } = string.Empty;
public int LeftLegBalances { get; init; }
public int RightLegBalances { get; init; }
public int TotalBalances { get; init; }