public override RuleCondition <T> GetCondition <T>(Type type, AdaptiveConditionBase <T> adaptiveCondition, T ruleContext)
        {
            var condition = new StringCompareCondition <T>();
            var left      = adaptiveCondition.GetLeftValue(ruleContext);

            if (left != null)
            {
                condition.LeftValue = left.ToString();
            }
            var right = adaptiveCondition.GetRightValue(ruleContext);

            if (right != null)
            {
                condition.RightValue = right.ToString();
            }
            if (adaptiveCondition.Operator == Sitecore.Strategy.Adaptive.Items.ItemIDs.BooleanOperatorTrue)
            {
                adaptiveCondition.Operator = Sitecore.Strategy.Adaptive.Items.ItemIDs.StringOperatorTrue;
            }
            else if (adaptiveCondition.Operator == Sitecore.Strategy.Adaptive.Items.ItemIDs.BooleanOperatorFalse)
            {
                adaptiveCondition.Operator = Sitecore.Strategy.Adaptive.Items.ItemIDs.StringOperatorFalse;
            }
            condition.OperatorId = adaptiveCondition.Operator.ToString();
            return(condition);
        }
Ejemplo n.º 2
0
        public override RuleCondition <T> GetRuleCondition <T>(Type type, AdaptiveConditionBase <T> adaptiveCondition, T ruleContext)
        {
            Assert.ArgumentNotNull(type, "type");
            var selectorConfig = this.MacroConfiguration.GetMacroSelectorConfig(type);

            Assert.IsNotNull(selectorConfig, "selectorConfig");
            var selector = selectorConfig.GetConditionSelector(type);

            if (selector == null)
            {
                return(null);
            }
            var condition = selector.GetCondition <T>(type, adaptiveCondition, ruleContext);

            return(condition);
        }
Ejemplo n.º 3
0
        public override RuleCondition <T> GetCondition <T>(Type type, AdaptiveConditionBase <T> adaptiveCondition, T ruleContext)
        {
            var condition = new NumberCompareCondition <T>();
            var left      = adaptiveCondition.GetLeftValue(ruleContext);

            if (left != null)
            {
                condition.LeftValue = double.Parse(left.ToString());
            }
            var right = adaptiveCondition.GetRightValue(ruleContext);

            if (right != null)
            {
                condition.RightValue = double.Parse(right.ToString());
            }
            condition.OperatorId = adaptiveCondition.Operator.ToString();
            return(condition);
        }
        public override RuleCondition <T> GetCondition <T>(Type type, AdaptiveConditionBase <T> adaptiveCondition, T ruleContext)
        {
            var condition = new DateTimeCompareCondition <T>();
            var left      = adaptiveCondition.GetLeftValue(ruleContext);

            if (left != null)
            {
                condition.LeftValue = DateUtil.ParseDateTime(left.ToString(), DateTime.MinValue);
            }
            var right = adaptiveCondition.GetRightValue(ruleContext);

            if (right != null)
            {
                condition.RightValue = DateUtil.ParseDateTime(right.ToString(), DateTime.MinValue);
            }
            condition.OperatorId = adaptiveCondition.Operator.ToString();
            return(condition);
        }
 public abstract RuleCondition <T> GetCondition <T>(Type type, AdaptiveConditionBase <T> adaptiveCondition,
                                                    T ruleContext) where T : RuleContext;