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)));
        }