public NestedObjectCollectionValitRule(
     Func <TObject, IEnumerable <TProperty> > collectionSelector,
     IValitRulesProvider <TProperty> valitRulesProvider,
     IValitStrategy strategy)
 {
     Tags = Enumerable.Empty <string>();
     _collectionSelector = collectionSelector;
     _valitRulesProvider = valitRulesProvider;
     _strategy           = strategy;
 }
Пример #2
0
 public NestedObjectValitRule(
     Func <TObject, TProperty> selector,
     IValitRulesProvider <TProperty> valitRulesProvider,
     IValitStrategy strategy)
 {
     Tags = Enumerable.Empty <string>();
     _propertySelector = selector;
     _valitator        = valitRulesProvider.CreateValitator();
     _strategy         = strategy;
 }
Пример #3
0
        IValitRules <TObject> IValitRules <TObject> .EnsureFor <TProperty>(Func <TObject, IEnumerable <TProperty> > selector, IValitRulesProvider <TProperty> valitRulesProvider)
        {
            selector.ThrowIfNull();
            valitRulesProvider.ThrowIfNull();

            var collectionValitRule = new NestedObjectCollectionValitRule <TObject, TProperty>(selector, valitRulesProvider, _strategy);

            _rules.Add(collectionValitRule);
            return(this);
        }
Пример #4
0
        IValitRules <TObject> IValitRules <TObject> .Ensure <TProperty>(Func <TObject, TProperty> selector, IValitRulesProvider <TProperty> valitRulesProvider)
        {
            selector.ThrowIfNull();
            valitRulesProvider.ThrowIfNull();

            var nestedValitRule = new NestedObjectValitRule <TObject, TProperty>(selector, valitRulesProvider, _strategy);

            _rules.Add(nestedValitRule);
            return(this);
        }
Пример #5
0
 public static IValitator <TObject> CreateValitator <TObject>(this IValitRulesProvider <TObject> valitRulesProvider) where TObject : class
 {
     valitRulesProvider.ThrowIfNull();
     return(new Valitator <TObject>(valitRulesProvider));
 }
Пример #6
0
        internal Valitator(IValitRulesProvider <TObject> valitRulesProvider)
        {
            var rules = valitRulesProvider.GetRules();

            _strategyPicker = ValitRules <TObject> .Create(rules);
        }