protected override ValidationResult IsValid(object value, ValidationContext validationContext) { Console.WriteLine("executing ExecuteIfAttribute"); var values = new Dictionary <string, object>(); Utils.ObjectJsonDumper.Dump(m_expression.Parameters, 1); Console.WriteLine("parameters:"); Utils.ObjectJsonDumper.Dump(m_expression.Parameters, 2); if (m_expression.Parameters.Count() > 0) { values["this"] = validationContext.ObjectInstance; } if ((bool)m_expression.Evaluate(values)) { Console.WriteLine("executing ExecuteIfAttribute: true"); return(m_rule.GetValidationResult(value, validationContext)); } return(ValidationResult.Success); }
public bool Evaluate(Dictionary <string, object> values = null) { foreach (var parameter in m_compiledExpression.Parameters) { switch (parameter.Name) { case "Array": if (values == null) { values = new Dictionary <string, object>(); } values.Add("Array", new ArrayHelper()); break; } } return((bool)m_compiledExpression.Evaluate(values)); }
protected override ValidationResult IsValid(object value, ValidationContext validationContext) { Console.WriteLine("executing ExecuteIfElseAttribute"); var values = new Dictionary <string, object>(); if (m_expression.Parameters.Count() > 0) { values["this"] = validationContext.ObjectInstance; } if ((bool)m_expression.Evaluate(values)) { Console.WriteLine("executing ExecuteIfElseAttribute: true case"); return(m_trueRule.GetValidationResult(value, validationContext)); } else { Console.WriteLine("executing ExecuteIfElseAttribute: false case"); return(m_falseRule.GetValidationResult(value, validationContext)); } }