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); }
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)); }
public QueryNegationNode(QueryNegationNode copyNode) { SingleNodeList = new QueryNode[] { copyNode.Nodes[0] }; Name = copyNode.Name; }