Exemplo n.º 1
0
        public RelationalCondition(Condition left, RelationalComparison comparison, Condition right)
        {
            left  = ConditionLogic.GetCondition(left);
            right = ConditionLogic.GetCondition(right);

            _leftCondition  = left;
            _rightCondition = right;
            _comparison     = comparison;

            Suffix = left.Suffix;
            Prefix = left.Prefix;

            left.Prefix  = "";
            left.Suffix  = "";
            right.Prefix = "";
            right.Suffix = "";

            RelationalCondition rLeft = left as RelationalCondition;

            if (rLeft != null)
            {
                RelationalComparison comp = rLeft._comparison;

                if ((comp == RelationalComparison.And || comp == RelationalComparison.Or) &&
                    (comparison == RelationalComparison.And || comparison == RelationalComparison.Or) &&
                    rLeft._comparison != comparison)
                {
                    _leftCondition = new ParenthesisCondition(rLeft);
                }
            }

            RelationalCondition rRight = right as RelationalCondition;

            if (rRight != null)
            {
                RelationalComparison comp = rRight._comparison;

                if ((comp == RelationalComparison.And || comp == RelationalComparison.Or) &&
                    (comparison == RelationalComparison.And || comparison == RelationalComparison.Or) &&
                    rRight._comparison != comparison)
                {
                    _rightCondition = new ParenthesisCondition(rRight);
                }
            }
        }
Exemplo n.º 2
0
 public NotCondition(string value)
 {
     Condition = ConditionLogic.GetCondition(value);
 }
Exemplo n.º 3
0
 public ParenthesisCondition(string value)
 {
     Condition = ConditionLogic.GetCondition(value);
 }
Exemplo n.º 4
0
 private void _init(string left, string comparison, string right)
 {
     _leftCondition = ConditionLogic.GetCondition(left);
     _readComparison(comparison);
     _rightCondition = ConditionLogic.GetCondition(right);
 }