コード例 #1
0
        private void AddServerListToTree(ServerList serverList, TreeNode parentNode)
        {
            var self = new TreeNode(serverList.Name);

            self.ContextMenuStrip = ctxmenu_DBTree_RightClick;
            if (serverList.Servers != null)
            {
                foreach (var s in serverList.Servers)
                {
                    if (txtSearchServer.Text.Trim().Length == 0 ||
                        s.servername.ToUpper().Contains(txtSearchServer.Text.Trim().ToUpper()))
                    {
                        var serverNode = new TreeNode(s.servername, 1, 1);
                        serverNode.ToolTipText      = s.svr;
                        serverNode.Tag              = s;
                        serverNode.Checked          = (txtSearchServer.Text.Trim().Length > 0);
                        serverNode.ContextMenuStrip = ctxmenu_DBTree_RightClick;
                        self.Nodes.Add(serverNode);
                    }
                }
            }
            if (serverList.ServerLists != null)
            {
                foreach (var s in serverList.ServerLists)
                {
                    AddServerListToTree(s, self);
                }
            }
            self.Tag = serverList;
            //if (self.Nodes.Count > 0)
            //{
            if (parentNode == null)
            {
                dbTree.Nodes.Clear();
                dbTree.Nodes.Add(self);
                if (txtSearchServer.Text.Trim().Length > 0)
                {
                    self.ExpandAll();
                }
                else
                {
                    self.Expand();
                }
            }
            else
            {
                parentNode.Nodes.Add(self);
            }
            if (serverList.Expanded)
            {
                self.Expand();
            }
            //}
        }
コード例 #2
0
 private void EnsureDBDefsExist(string configFile)
 {
     if (!File.Exists(configFile))
     {
         var s   = new XmlSerializer(typeof(ServerList));
         var obj = new ServerList();
         obj.Expanded = true;
         using (TextWriter w = new StreamWriter(configFile))
         {
             s.Serialize(w, obj);
         }
     }
 }
コード例 #3
0
        private void LoadDatabaseDefinitions()
        {
            var configFile = Path.Combine(FormUtility.getServersFileLocation());

            EnsureDBDefsExist(configFile);
            var s = new XmlSerializer(typeof(ServerList));

            using (TextReader r = new StreamReader(configFile))
            {
                _ServerList = (ServerList)s.Deserialize(r);
            }

            AddServerListToTree(_ServerList, null);
        }
コード例 #4
0
        private ServerList ExtractData(TreeNode tn, bool expanded)
        {
            var retval = new ServerList();

            retval.Name     = tn.Text;
            retval.Expanded = expanded;
            foreach (TreeNode node in tn.Nodes)
            {
                if (node.Tag.GetType() == typeof(ServerList))
                {
                    if (retval.ServerLists == null)
                    {
                        retval.ServerLists = new List <ServerList>();
                    }
                    retval.ServerLists.Add(ExtractData(node, node.IsExpanded));
                }
                else if (node.Tag.GetType() == typeof(Server))
                {
                    retval.AddServer((Server)node.Tag);
                }
            }
            return(retval);
        }
コード例 #5
0
 private void UpdateServerList()
 {
     _ServerList = ExtractData(dbTree.Nodes[0], dbTree.Nodes[0].IsExpanded);
 }
コード例 #6
0
ファイル: ServerEdit.cs プロジェクト: pfarrell/DBMulticast
        private void btn_Save_Click(object sender, EventArgs e)
        {
            if (rdoFolder.Checked)
            {
                var svrList = new ServerList();
                svrList.Name = tb_Name.Text;

                if (IsEdit)
                {
                    tn.Text = tb_Name.Text;
                    tn.Tag  = svrList;
                }
                else
                {
                    TreeNode node = new TreeNode();
                    node.Text = svrList.Name;
                    node.Tag  = svrList;
                    if (tn.Tag.GetType() == typeof(Server))
                    {
                        tn.Parent.Nodes.Add(node);
                    }
                    else if (tn.Tag.GetType() == typeof(ServerList))
                    {
                        tn.Nodes.Add(node);
                        tn.Expand();
                    }
                }
            }
            else if (rdoServer.Checked)
            {
                var svr = new Server();
                svr.servername = tb_Name.Text;
                svr.database   = tb_Database.Text;
                svr.svr        = tb_Location.Text;
                svr.password   = cb_UseSqlCredentials.Checked ? tb_Password.Text : null;
                svr.username   = cb_UseSqlCredentials.Checked ? tb_Username.Text : null;
                svr.usesspi    = !cb_UseSqlCredentials.Checked;

                if (IsEdit)
                {
                    if (tn.Tag.GetType() == typeof(Server))
                    {
                        tn.Text = svr.servername;
                        tn.Tag  = svr;
                    }
                }
                else
                {
                    TreeNode node = new TreeNode();
                    node.Text = tb_Name.Text;
                    node.Tag  = svr;
                    if (tn.Tag.GetType() == typeof(Server))
                    {
                        tn.Parent.Nodes.Add(node);
                    }
                    else if (tn.Tag.GetType() == typeof(ServerList))
                    {
                        tn.Nodes.Add(node);
                        tn.Expand();
                    }
                }
            }
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
コード例 #7
0
ファイル: ServerEdit.cs プロジェクト: jamisonr/DBMulticast
        private void btn_Save_Click(object sender, EventArgs e)
        {
            if (rdoFolder.Checked)
            {
                var svrList = new ServerList();
                svrList.Name = tb_Name.Text;

                if (IsEdit)
                {
                    tn.Text = tb_Name.Text;
                    tn.Tag = svrList;
                }
                else
                {
                    TreeNode node = new TreeNode();
                    node.Text = svrList.Name;
                    node.Tag = svrList;
                    if (tn.Tag.GetType() == typeof(Server))
                    {
                        tn.Parent.Nodes.Add(node);
                    }
                    else if (tn.Tag.GetType() == typeof(ServerList))
                    {
                        tn.Nodes.Add(node);
                        tn.Expand();
                    }
                }
            }
            else if (rdoServer.Checked)
            {
                var svr = new Server();
                svr.servername = tb_Name.Text;
                svr.database = tb_Database.Text;
                svr.svr = tb_Location.Text;
                svr.password = cb_UseSqlCredentials.Checked ? tb_Password.Text : null;
                svr.username = cb_UseSqlCredentials.Checked ? tb_Username.Text : null;
                svr.usesspi = !cb_UseSqlCredentials.Checked;

                if (IsEdit)
                {
                    if (tn.Tag.GetType() == typeof(Server))
                    {
                        tn.Text = svr.servername;
                        tn.Tag = svr;
                    }
                }
                else
                {
                    TreeNode node = new TreeNode();
                    node.Text = tb_Name.Text;
                    node.Tag = svr;
                    if (tn.Tag.GetType() == typeof(Server))
                    {
                        tn.Parent.Nodes.Add(node);
                    }
                    else if (tn.Tag.GetType() == typeof(ServerList))
                    {
                        tn.Nodes.Add(node);
                        tn.Expand();
                    }
                }
            }
            this.DialogResult = DialogResult.OK;
            this.Close();
        }