Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
 public void Tree()
 {
     Header = node.GetNodeName();
     Name   = node.GetNodeName();
     Tag    = node.CloneWithoutChildren();
     foreach (NodeEntity item in node.GetChildren())
     {
         Tree(this, item);
     }
 }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }