Exemplo n.º 1
0
        /// <summary>
        /// Constructs the condition with a left value only
        /// </summary>
        /// <param name="leftValue">The left value</param>
        public BooleanCondition
        (
            BooleanConditionValue leftValue
        )
        {
            Validate.IsNotNull(leftValue);

            this.LeftValue = leftValue;
        }
Exemplo n.º 2
0
        /// <summary>
        /// Constructs the condition with left value
        /// </summary>
        /// <param name="joinOperator">The join operator</param>
        /// <param name="leftValue">The left value</param>
        public BooleanCondition
        (
            BooleanConditionOperator joinOperator,
            BooleanConditionValue leftValue
        )

            : this(leftValue)
        {
            this.JoinOperator = joinOperator;
        }
Exemplo n.º 3
0
        /// <summary>
        /// Constructs the condition with left and right values
        /// </summary>
        /// <param name="joinOperator">The join operator</param>
        /// <param name="leftValue">The left value</param>
        /// <param name="compareOperator">The compare operator</param>
        /// <param name="rightValue">The right value</param>
        public BooleanCondition
        (
            BooleanConditionOperator joinOperator,
            BooleanConditionValue leftValue,
            BooleanConditionOperator compareOperator,
            BooleanConditionValue rightValue
        )

            : this(leftValue, compareOperator, rightValue)
        {
            this.JoinOperator = joinOperator;
        }
Exemplo n.º 4
0
        /// <summary>
        /// Constructs the condition with left and right values
        /// </summary>
        /// <param name="leftValue">The left value</param>
        /// <param name="compareOperator">The compare operator</param>
        /// <param name="rightValue">The right value</param>
        public BooleanCondition
        (
            BooleanConditionValue leftValue,
            BooleanConditionOperator compareOperator,
            BooleanConditionValue rightValue
        )
        {
            Validate.IsNotNull(leftValue);
            Validate.IsNotNull(rightValue);

            this.LeftValue       = leftValue;
            this.CompareOperator = compareOperator;
            this.RightValue      = rightValue;
        }
        /// <summary>
        /// Evaluates a boolean condition value against a template context
        /// </summary>
        /// <param name="context">The template context</param>
        /// <param name="conditionValue">The condition value</param>
        /// <returns>The evaluation result</returns>
        private bool Evaluate
        (
            ref TemplateContext context,
            BooleanConditionValue conditionValue
        )
        {
            Validate.IsNotNull(conditionValue);

            var resolvedValue = ResolveValue
                                (
                ref context,
                conditionValue.Value,
                conditionValue.ValueType
                                );

            return(ToBool
                   (
                       ref context,
                       resolvedValue
                   ));
        }