Ejemplo n.º 1
0
        /// <summary>
        /// Validates the specified entity.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <param name="ruleSetName">The rule set name.</param>
        /// <returns>The validation result.</returns>
        public ValidationResult Validate(TEntity entity, string ruleSetName = "")
        {
            if (ruleSetName == null)
            {
                throw new ArgumentNullException("ruleSetName");
            }

            ValidationResult result = new ValidationResult();

            IList <IEntityValidationRule <TEntity> > validationRules = GetValidationRulesByRuleSetName(ruleSetName);

            for (int i = 0; i < validationRules.Count; i++)
            {
                IEntityValidationRule <TEntity> entityValidationRule = validationRules[i];
                ValidationResult validationResult = entityValidationRule.Validate(entity);
                result.Errors.AddRange(validationResult.Errors);
            }

            return(result);
        }