using CMSMicroservice.Application.CommissionCQ.Commands.ProcessWithdrawal; namespace CMSMicroservice.Application.CommissionCQ.Commands.TriggerWeeklyCalculation; public class TriggerWeeklyCalculationCommandValidator : AbstractValidator { public TriggerWeeklyCalculationCommandValidator() { RuleFor(x => x.WeekDefinitionId) .NotNull() .GreaterThan(0) .WithMessage("شماره هفته نمی‌تواند خالی باشد"); } public Func>> ValidateValue => async (model, propertyName) => { var result = await ValidateAsync( ValidationContext.CreateWithOptions( (TriggerWeeklyCalculationCommand)model, x => x.IncludeProperties(propertyName))); if (result.IsValid) return Array.Empty(); return result.Errors.Select(e => e.ErrorMessage); }; }