Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="EntityValidationRuleBuilder{TEntity, TProperty}"/> class.
        /// </summary>
        /// <param name="entityValidatorBase">The entity validator base.</param>
        /// <param name="propertyDisplayNameResolver">The property display name resolver.</param>
        /// <param name="propertyExpression">The property expression.</param>
        /// <param name="ruleSetName">The rule set name.</param>
        /// <exception cref="System.ArgumentNullException">propertyExpression</exception>
        public EntityValidationRuleBuilder(EntityValidatorBase <TEntity> entityValidatorBase, IPropertyDisplayNameResolver propertyDisplayNameResolver, Expression <Func <TEntity, TProperty> > propertyExpression, string ruleSetName = "")
        {
            if (entityValidatorBase == null)
            {
                throw new ArgumentNullException("entityValidatorBase");
            }

            if (propertyExpression == null)
            {
                throw new ArgumentNullException("propertyExpression");
            }

            if (propertyDisplayNameResolver == null)
            {
                throw new ArgumentNullException("propertyDisplayNameResolver");
            }

            if (ruleSetName == null)
            {
                throw new ArgumentNullException("ruleSetName");
            }

            m_EntityValidatorBase         = entityValidatorBase;
            m_PropertyDisplayNameResolver = propertyDisplayNameResolver;
            m_PropertyExpression          = propertyExpression;
            m_RuleSetName = ruleSetName;
            m_Validators  = new List <IEntityPropertyValidator>();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="EntityPropertyValidationRule{TEntity, TProperty}"/> class.
        /// </summary>
        /// <param name="validator">The validator.</param>
        /// <param name="propertyDisplayNameResolver">The property display name resolver.</param>
        /// <param name="propertyExpression">The property expression.</param>
        /// <param name="specification">The specification.</param>
        /// <param name="message">The message.</param>
        public EntityPropertyValidationRule(IEntityPropertyValidator validator, IPropertyDisplayNameResolver propertyDisplayNameResolver, Expression <Func <TEntity, TProperty> > propertyExpression, ISpecification <TEntity> specification = null, string message = null)
        {
            if (validator == null)
            {
                throw new ArgumentNullException("validator");
            }

            if (propertyDisplayNameResolver == null)
            {
                throw new ArgumentNullException("propertyDisplayNameResolver");
            }

            if (propertyExpression == null)
            {
                throw new ArgumentNullException("propertyExpression");
            }

            m_Validator = validator;
            m_PropertyDisplayNameResolver = propertyDisplayNameResolver;
            m_Specification = specification;
            m_Message       = message;

            m_PropertyFunc = propertyExpression.Compile();
            m_MemberInfo   = LinqUtils.GetMemberInfo(propertyExpression);
        }
Exemple #3
0
        public void PropertyDisplayNameResolver()
        {
            IPropertyDisplayNameResolver propertyDisplayNameResolver = Substitute.For <IPropertyDisplayNameResolver>();

            ValidatorSettings.PropertyDisplayNameResolver = propertyDisplayNameResolver;

            Assert.AreSame(propertyDisplayNameResolver, ValidatorSettings.PropertyDisplayNameResolver);
        }
Exemple #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="EntityValidationRuleSetBuilder{TEntity}"/> class.
        /// </summary>
        /// <param name="propertyDisplayNameResolver">The property display name resolver.</param>
        /// <param name="entityValidator">The entity validator.</param>
        /// <param name="ruleSetName">The rule set name.</param>
        public EntityValidationRuleSetBuilder(IPropertyDisplayNameResolver propertyDisplayNameResolver, EntityValidatorBase <TEntity> entityValidator, string ruleSetName)
        {
            if (propertyDisplayNameResolver == null)
            {
                throw new ArgumentNullException("propertyDisplayNameResolver");
            }

            if (entityValidator == null)
            {
                throw new ArgumentNullException("entityValidator");
            }

            if (ruleSetName == null)
            {
                throw new ArgumentNullException("ruleSetName");
            }

            m_EntityValidator             = entityValidator;
            m_RuleSetName                 = ruleSetName;
            m_PropertyDisplayNameResolver = propertyDisplayNameResolver;
        }
Exemple #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="EntityValidatorBase{TEntity}"/> class.
 /// </summary>
 /// <param name="propertyDisplayNameResolver">The property display name resolver.</param>
 protected EntityValidatorBase(IPropertyDisplayNameResolver propertyDisplayNameResolver)
 {
     m_EntityValidationRules       = new SortedList <string, IList <IEntityValidationRule <TEntity> > >();
     m_PropertyDisplayNameResolver = propertyDisplayNameResolver ?? ValidatorSettings.PropertyDisplayNameResolver;
 }