private void EvaluateRule(Rule rule, ref MSRuleSetEvaluationResult ruleSetEvaluationResult, ref RuleValidation rv) { rv.Errors.Clear(); IRuleExpression ruleExpression = (IRuleExpression)((RuleExpressionCondition)rule.Condition).Expression; RuleExecution re = new RuleExecution(rv, _instanceOfObject); RuleExpressionInfo info = RuleExpressionWalker.Validate(rv, (CodeExpression)ruleExpression, true); if (rv.Errors.Count > 0) { //string validationErrorMessages = Helper.GetErrorMessageFromValidationErrorsCollection(errors); ruleSetEvaluationResult.AddValidationError(rule.Name, rule.Description, rv.Errors); } else { RuleExpressionResult result = RuleExpressionWalker.Evaluate(re, (CodeExpression)ruleExpression); ruleSetEvaluationResult.AddEvaluationResult(rule.Name, rule.Description, result); } }