Exemplo n.º 1
0
        private void RefreshTreeViewMenu()
        {
            var dbs  = MDB.GetDatabases();
            var root = new RootNode("MongoDB", ctxMenuStripRoot);

            foreach (var db in dbs)
            {
                var dbName = db["name"].ToString();
                var dbNode = new DbNode(dbName, ctxMenuStripDb);
                root.Nodes.Add(dbNode);
                var collections = MDB.GetCollections(dbName);
                dbNode.Nodes.AddRange(collections.Where(x => !x["name"].ToString().Contains("$"))
                                      .Select(x => new CollectionNode(x["name"].ToString(), ctxMenuStripCol)).ToArray());

                foreach (CollectionNode node in dbNode.Nodes)
                {
                    //var indexNodes = collections.Where(x => x["name"].ToString().Contains("$") && x["name"].ToString().StartsWith(node.CollectionNamespace));
                    //node.Nodes.AddRange( indexNodes.Select(x => new IndexNode(x["name"].ToString(),ctxMenuStripIndex)).ToArray() );
                    node.Nodes.AddRange(MDB.GetIndexsByNS(dbName, node.CollectionNamespace).Select(x => new IndexNode(x, ctxMenuStripIndex)).ToArray());
                }
            }

            treeViewMenu.BeginUpdate();
            treeViewMenu.Nodes.Clear();
            treeViewMenu.Nodes.Add(root);
            root.Expand();
            treeViewMenu.EndUpdate();
        }