public NestedObjectCollectionValitRule( Func <TObject, IEnumerable <TProperty> > collectionSelector, IValitRulesProvider <TProperty> valitRulesProvider, IValitStrategy strategy) { Tags = Enumerable.Empty <string>(); _collectionSelector = collectionSelector; _valitRulesProvider = valitRulesProvider; _strategy = strategy; }
public NestedObjectValitRule( Func <TObject, TProperty> selector, IValitRulesProvider <TProperty> valitRulesProvider, IValitStrategy strategy) { Tags = Enumerable.Empty <string>(); _propertySelector = selector; _valitator = valitRulesProvider.CreateValitator(); _strategy = strategy; }
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); }
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); }
public static IValitator <TObject> CreateValitator <TObject>(this IValitRulesProvider <TObject> valitRulesProvider) where TObject : class { valitRulesProvider.ThrowIfNull(); return(new Valitator <TObject>(valitRulesProvider)); }
internal Valitator(IValitRulesProvider <TObject> valitRulesProvider) { var rules = valitRulesProvider.GetRules(); _strategyPicker = ValitRules <TObject> .Create(rules); }