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