Esempio n. 1
0
        public IValidationRule <TProperty> ForEach <TProperty>(
            Expression <Func <TModel, IEnumerable <TProperty> > > propertyExpression)
        {
            var builder = new ValidationRuleBuilder <TProperty>();
            var rule    = new ValidationRule <TProperty>(builder);

            _validators.Add(
                new ValidationRuleForEachValidator <TModel, TProperty>(propertyExpression, builder)
                );

            return(rule);
        }
Esempio n. 2
0
        static IValidator <TModel> CreateValidator(
            Action <IValidationRule <TModel> > action)
        {
            var predicateGroups =
                new ValidationRulePredicateGroupsValidator <TModel>();
            var builder = new ValidationRuleBuilder <TModel>();
            var rule    = new ValidationRulePredicated <TModel>(builder, predicateGroups);

            action(rule);

            return(new ValidationRuleValidator <TModel>(builder));
        }
Esempio n. 3
0
        public IValidationRulePredicated <TModel> When(
            IValidator <TModel> validator)
        {
            var predicateGroups
                = new ValidationRulePredicateGroupsValidator <TModel>(validator);

            var builder = new ValidationRuleBuilder <TModel>();
            var rule    = new ValidationRulePredicated <TModel>(
                builder, predicateGroups);

            _validators.Add(
                new ValidationRuleConditionalValidator <TModel>(
                    predicateGroups,
                    true, false,
                    builder)
                );

            return(rule);
        }
Esempio n. 4
0
        public IValidationRulePredicated <TModel> Assert(
            IEnumerable <IValidationPredicate <TModel> > predicates)
        {
            var predicateGroups
                = new ValidationRulePredicateGroupsValidator <TModel>();

            predicateGroups.Add(predicates.ToArray());

            var builder = new ValidationRuleBuilder <TModel>();
            var rule    = new ValidationRulePredicated <TModel>(builder, predicateGroups);

            _validators.Add(
                new ValidationRuleConditionalValidator <TModel>(
                    predicateGroups,
                    true, true,
                    builder)
                );

            return(rule);
        }