//public override RuleParameterSet GetEmptyParameterSet() {
        //  return new RuleParameterSet(new RuleParameter[] {
        //    new RuleStringParameter("FieldName"),
        //    new RuleStringParameter("RegExp")});
        //}

        public override bool IsCompatibleParameterSet(RuleParameterSet parameterSet)
        {
            RuleStringParameter param1 = parameterSet["FieldName"] as RuleStringParameter;
            RuleStringParameter param2 = parameterSet["RegExp"] as RuleStringParameter;

            return(param1 != null && param2 != null && param1.Value.Length > 0 && param2.Value.Length > 0);
        }
Beispiel #2
0
        //public override RuleParameterSet GetEmptyParameterSet() {
        //  return new RuleParameterSet(new RuleParameter[] {
        //    new RuleStringParameter("LeftValueFieldName"),
        //    new RuleComparisonOperatorParameter("ComparisonOperator", RuleComparisonOperatorParameter.Operator.Equal),
        //    new RuleDecimalParameter("RightValueNumerical", 0),
        //    new RuleInvariantDateTimeParameter("RightValueDateTime", DateTime.Now),
        //    new RuleStringParameter("RightValueFieldName"),
        //    new RuleBoolParameter("RightValueUseDateTime", false),
        //    new RuleBoolParameter("RightValueUseFieldName", false)
        //    });
        //}

        public override bool IsCompatibleParameterSet(RuleParameterSet parameterSet)
        {
            RuleStringParameter             leftValueFieldName = parameterSet["LeftValueFieldName"] as RuleStringParameter;
            RuleComparisonOperatorParameter comparisonOperator = parameterSet["ComparisonOperator"] as RuleComparisonOperatorParameter;

            if (leftValueFieldName == null || String.IsNullOrEmpty(leftValueFieldName.Value))
            {
                return(false);
            }

            if (comparisonOperator == null || comparisonOperator.Value == RuleComparisonOperatorParameter.Operator.Unknown)
            {
                return(false);
            }

            var rightValueParameter         = parameterSet["RightValue"];
            var rightValueFieldParameter    = parameterSet["RightValueFieldName"] as RuleStringParameter;
            var extractionClassParameter    = parameterSet["ExtractionFunctionClass"] as RuleStringParameter;
            var extractionFunctionParameter = parameterSet["ExtractionFunctionName"] as RuleStringParameter;

            // everything's fine if we have either a right value OR a right value field name,
            // we can't have both.
            // plus, if we have an extraction function class, we also need a function name
            return(((rightValueParameter != null) ^
                    (rightValueFieldParameter != null && (!String.IsNullOrEmpty(rightValueFieldParameter.Value)))) &&
                   ((extractionClassParameter == null && extractionFunctionParameter == null) ||
                    (extractionClassParameter != null && extractionFunctionParameter != null &&
                     !String.IsNullOrEmpty(extractionClassParameter.Value) &&
                     !String.IsNullOrEmpty(extractionFunctionParameter.Value))));
        }
        public override bool IsCompatibleParameterSet(pct.BizRulez.Rules.Parameters.RuleParameterSet parameterSet)
        {
            RuleStringParameter leftValueFieldName = parameterSet["CollectionFieldName"] as RuleStringParameter;

            if (leftValueFieldName == null || String.IsNullOrEmpty(leftValueFieldName.Value))
            {
                return(false);
            }
            var keyFunctionClass = parameterSet["GetKeyFunctionClass"] as RuleStringParameter;
            var keyFunctionName  = parameterSet["GetKeyFunctionName"] as RuleStringParameter;

            return(!((keyFunctionClass != null && (!String.IsNullOrEmpty(keyFunctionClass.Value))) ^
                     (keyFunctionName != null && (!String.IsNullOrEmpty(keyFunctionName.Value)))));
        }
        public override bool IsCompatibleParameterSet(pct.BizRulez.Rules.Parameters.RuleParameterSet parameterSet)
        {
            RuleStringParameter leftValueFieldName = parameterSet["CollectionFieldName"] as RuleStringParameter;

            if (leftValueFieldName == null || String.IsNullOrEmpty(leftValueFieldName.Value))
            {
                return(false);
            }
            var elementValueParameter = parameterSet["ElementValue"];
            var elementFieldParameter = parameterSet["ElementFieldName"] as RuleStringParameter;

            return((elementValueParameter != null) ^
                   (elementFieldParameter != null && (!String.IsNullOrEmpty(elementFieldParameter.Value))));
        }