public RuleValidationService(VehicleModelProxy vehicle) { if (vehicle == null) { throw new ArgumentNullException("vehicle", "The are no constructors that do not take an parameter"); } _vehicle = vehicle; }
/// ----------------------------------------------------------------------- /// <summary> /// /// </summary> /// <param name="vehicle"></param> /// <param name="ruleSet"></param> /// <returns></returns> /// ----------------------------------------------------------------------- private bool UnaryOperation(VehicleModelProxy vehicle, RuleSet ruleSet) { var rules = ruleSet.tblRules; var compiledRules = rules.Select(CompileRule <VehicleModelProxy>).ToList(); return(ruleSet.Operation == BoolOperator.AND ? compiledRules.All(rule => rule(vehicle)) : compiledRules.Any(rule => rule(vehicle))); }