private List <JoinKeyword> JoinsFromNode(NodeEntity arg) { List <JoinKeyword> ret = new List <JoinKeyword>(); string tableName = arg.Find(@"Select").Find(@"Columns", @"attr", @"Main").Find(@"Table").GetNodeValue(); string tableAlias = arg.Find(@"Select").Find(@"Columns", @"attr", @"Main").Find(@"Alias").GetNodeValue(); NodeEntity joins = arg.Find(@"Join"); joins.GetChildren().ForEach(item => { JoinKeyword add = new JoinKeyword(); add.SetTable(tableName); add.SetTableAlias(tableAlias); add.SetJoinTable(item.Find(@"Name").GetNodeValue()); add.SetJoinTableAlias(item.Find(@"Alias").GetNodeValue()); add.SetInnerJoin(item.Find(@"Inner").GetNodeValue() == @"True" ? true : false); add.SetLeftOuterJoin(item.Find(@"Left").GetNodeValue() == @"True" ? true : false); add.SetRightOuterJoin(item.Find(@"Right").GetNodeValue() == @"True" ? true : false); add.SetCrossJoin(item.Find(@"Cross").GetNodeValue() == @"True" ? true : false); item.Find(@"Conditions").GetChildren().ForEach(c => { add.AddCondition( c.Find(@"Equal").GetNodeValue() == @"True" ? true : false , c.Find(@"GreaterThanEqual").GetNodeValue() == @"True" ? true : false , c.Find(@"JoinTableAsLarger").GetNodeValue() == @"True" ? true : false , c.Find(@"JoinTableColumn").GetNodeValue() , c.Find(@"TableColumn").GetNodeValue()); }); ret.Add(add); }); return(ret); }
private SelectStatement SelectFromNode(NodeEntity arg) { SelectStatement ret = new SelectStatement(); NodeEntity columns = arg.Find(@"Select"); for (int i = 0; i < columns.GetChildren().Count; i++) { NodeEntity child = columns.GetChildren()[i]; if (i == 0) { ret.SetTable(child.Find(@"Table").GetNodeValue()); ret.SetTableAlias(child.Find(@"Alias").GetNodeValue()); } child.Find(@"Column").GetChildren().ForEach(item => { ret.AddColumn(item.GetNodeValue(), child.Find(@"Alias").GetNodeValue()); }); } return(ret); }
public void Tree() { Header = node.GetNodeName(); Name = node.GetNodeName(); Tag = node.CloneWithoutChildren(); foreach (NodeEntity item in node.GetChildren()) { Tree(this, item); } }
private void Tree(XMLNode arg1, NodeEntity arg2) { XMLNode add = new XMLNode(); add.Header = arg2.GetNodeName(); add.Name = arg2.GetNodeName(); add.Tag = arg2.CloneWithoutChildren(); foreach (NodeEntity item in arg2.GetChildren()) { Tree(add, item); } arg1.Items.Add(add); }
private WhereKeyword WhereFromNode(NodeEntity arg) { WhereKeyword ret = new WhereKeyword(); NodeEntity where = arg.Find(@"Where"); where.GetChildren().ForEach(item => { ret.AddCondition( item.Find(@"Equal").GetNodeValue() == @"True" ? true : false , item.Find(@"GreaterThanEqual").GetNodeValue() == @"True" ? true : false , item.Find(@"RightSideAsLarger").GetNodeValue() == @"True" ? true : false , item.Find(@"Alias").GetNodeValue() , item.Find(@"Name").GetNodeValue() , item.Find(@"Value").GetNodeValue()); }); return(ret); }