Example #1
0
 public static QueryNode MapQValue(QueryNode qNode, Func <IQueryValue, IQueryValue> mapFunc)
 {
     if (qNode is QueryGroupNode)
     {
         var group = new QueryGroupNode((QueryGroupNode)qNode);
         for (int i = 0; i < group.Nodes.Count; i++)
         {
             group.Nodes[i] = MapQValue(group.Nodes[i], mapFunc);
         }
         return(group);
     }
     if (qNode is QueryConditionNode)
     {
         var origCndNode = (QueryConditionNode)qNode;
         var cndNode     = new QueryConditionNode(origCndNode.Name,
                                                  mapFunc(origCndNode.LValue),
                                                  origCndNode.Condition,
                                                  mapFunc(origCndNode.RValue));
         return(cndNode);
     }
     if (qNode is QueryNegationNode)
     {
         var negNode = new QueryNegationNode((QueryNegationNode)qNode);
         for (int i = 0; i < negNode.Nodes.Count; i++)
         {
             negNode.Nodes[i] = MapQValue(negNode.Nodes[i], mapFunc);
         }
         return(negNode);
     }
     return(qNode);
 }
Example #2
0
        protected virtual string BuildNegation(QueryNegationNode node)
        {
            if (node.Nodes.Count == 0)
            {
                return(null);
            }
            string expression = BuildExpression(node.Nodes[0]);

            if (expression == null)
            {
                return(null);
            }
            return(String.Format("NOT({0})", expression));
        }
Example #3
0
 public QueryNegationNode(QueryNegationNode copyNode)
 {
     SingleNodeList = new QueryNode[] { copyNode.Nodes[0] };
     Name           = copyNode.Name;
 }