Ejemplo n.º 1
0
        public override void ReBindItems()
        {
            ProjectNode parentNode  = this.Parent as ProjectNode;
            var         mydatabases = Helper.Client.InvokeSync <EJ.Databases[]>("GetDatabaseList", parentNode.Project.id);

            foreach (var dbitem in mydatabases)
            {
                DatabaseItemNode dbnode = this.Children.Where(m => ((DatabaseItemNode)m).Database.id == dbitem.id).FirstOrDefault() as DatabaseItemNode;
                if (dbnode == null)
                {
                    dbnode = new DatabaseItemNode(this, dbitem);
                    this.Children.Add(dbnode);
                }
                else
                {
                    dbnode.Database = dbitem;
                }
            }

            for (int i = 0; i < Children.Count; i++)
            {
                if (mydatabases.Where(m => m.id == ((DatabaseItemNode)Children[i]).Database.id).Count() == 0)
                {
                    //删除
                    this.Children.RemoveAt(i);
                    i--;
                }
            }
        }
Ejemplo n.º 2
0
        public override async void OnExpandChanged(bool expanded)
        {
            if (_binded)
            {
                return;
            }

            if (this.Parent is DatabaseItemNode)
            {
                DatabaseItemNode databaseItemNode = (DatabaseItemNode)this.Parent;
                var tabenode = (数据表Node)databaseItemNode.Children.FirstOrDefault(m => m is 数据表Node);
                if (tabenode != null && tabenode.Children.Count == 1 && tabenode.Children[0].Name == "Loading...")
                {
                    tabenode.OnExpandChanged(true);
                }
            }
            try
            {
                var modules = await Helper.Client.InvokeAsync <EJ.DBModule[]>("GetDBModuleList", this.Module.DatabaseID.Value, this.Module.id.Value);

                this.Children.Clear();
                _binded = true;
                foreach (var module in modules)
                {
                    DBModuleNode node = new DBModuleNode(this, module);
                    this.Children.Add(node);
                    node.ReBindItems();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 3
0
        public override async void OnExpandChanged(bool expanded)
        {
            if (_binded)
            {
                return;
            }
            try
            {
                ProjectNode parentNode  = this.Parent as ProjectNode;
                var         mydatabases = await Helper.Client.InvokeAsync <EJ.Databases[]>("GetDatabaseList", parentNode.Project.id);

                if (this.Children.Count == 1 && this.Children[0].Name == "Loading...")
                {
                    this.Children.Clear();
                }
                _binded = true;

                foreach (var dbitem in mydatabases)
                {
                    DatabaseItemNode dbnode = this.Children.Where(m => ((DatabaseItemNode)m).Database.id == dbitem.id).FirstOrDefault() as DatabaseItemNode;
                    if (dbnode == null)
                    {
                        dbnode = new DatabaseItemNode(this, dbitem);
                        this.Children.Add(dbnode);
                    }
                    else
                    {
                        dbnode.Database = dbitem;
                    }
                }

                for (int i = 0; i < Children.Count; i++)
                {
                    if (mydatabases.Where(m => m.id == ((DatabaseItemNode)Children[i]).Database.id).Count() == 0)
                    {
                        //删除
                        this.Children.RemoveAt(i);
                        i--;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Ejemplo n.º 4
0
 public 数据表Node(DatabaseItemNode parent)
     : base(parent)
 {
     DatabaseItemNode = parent;
 }