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