namespace CMSMicroservice.Application.CommissionCQ.Queries.GetUserWeeklyBalances; public class GetUserWeeklyBalancesQueryValidator : AbstractValidator { public GetUserWeeklyBalancesQueryValidator() { RuleFor(x => x.UserId) .GreaterThan(0) .WithMessage("شناسه کاربر معتبر نیست") .When(x => x.UserId.HasValue); RuleFor(x => x.WeekDefinitionId) .GreaterThan(0) .WithMessage("شماره هفته نمی‌تواند صفر باشد") .When(x => x.WeekDefinitionId.HasValue); } public Func>> ValidateValue => async (model, propertyName) => { var result = await ValidateAsync( ValidationContext.CreateWithOptions( (GetUserWeeklyBalancesQuery)model, x => x.IncludeProperties(propertyName))); if (result.IsValid) return Array.Empty(); return result.Errors.Select(e => e.ErrorMessage); }; }