Ejemplo n.º 1
0
        public static MongoImportExportInfo GetImportExportInfo()
        {
            var mongoImportExport = new MongoImportExportInfo();
            var mongosrv          = RuntimeMongoDbContext.GetCurrentServer().Instance;

            mongoImportExport.HostAddr       = mongosrv.Address.Host;
            mongoImportExport.Port           = mongosrv.Address.Port;
            mongoImportExport.DbName         = RuntimeMongoDbContext.GetCurrentDataBaseName();
            mongoImportExport.CollectionName = RuntimeMongoDbContext.GetCurrentCollectionName();
            return(mongoImportExport);
        }
Ejemplo n.º 2
0
        public static MongoDumpInfo GetMongoDump(bool isDb)
        {
            var mongoDump = new MongoDumpInfo();
            var mongosrv  = RuntimeMongoDbContext.GetCurrentServer().Instance;

            mongoDump.HostAddr = mongosrv.Address.Host;
            mongoDump.Port     = mongosrv.Address.Port;
            mongoDump.DbName   = RuntimeMongoDbContext.GetCurrentDataBaseName();
            if (!isDb)
            {
                mongoDump.CollectionName = RuntimeMongoDbContext.GetCurrentCollectionName();
            }
            return(mongoDump);
        }
Ejemplo n.º 3
0
        /// <summary>
        ///     Create a DataView Tab
        /// </summary>
        private void ViewDataRecord()
        {
            //由于Collection 和 Document 都可以触发这个事件,所以,先把Tag以前的标题头去掉
            //Collectiong:XXXX 和 Document:XXXX 都统一成 XXXX
            var dataKey = RuntimeMongoDbContext.SelectTagData;

            if (MultiTabManger.IsExist(dataKey))
            {
                MultiTabManger.SelectTab(dataKey);
                return;
            }

            var mDataViewInfo = new DataViewInfo
            {
                strCollectionPath = RuntimeMongoDbContext.SelectObjectTag,
                IsReadOnly        = RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly,
            };

            CtlDataView dataViewctl;

            switch (RuntimeMongoDbContext.SelectTagType)
            {
            case ConstMgr.GridFileSystemTag:
                dataViewctl = new CtlGfsView(mDataViewInfo)
                {
                    AllowDrop = true
                };
                break;

            case ConstMgr.UserListTag:
                dataViewctl = new CtlUserView(mDataViewInfo);
                break;

            case ConstMgr.ViewTag:
                mDataViewInfo.IsView = true;
                dataViewctl          = new CtlDocumentView(mDataViewInfo);
                break;

            default:
                dataViewctl = new CtlDocumentView(mDataViewInfo);
                break;
            }

            dataViewctl.mDataViewInfo   = mDataViewInfo;
            dataViewctl.SelectObjectTag = RuntimeMongoDbContext.SelectObjectTag;
            dataViewctl.ParentMenu      = CollectionToolStripMenuItem;
            var TabTitle = UiHelper.GetShowName(RuntimeMongoDbContext.GetCurrentDataBaseName(), RuntimeMongoDbContext.GetCurrentCollectionName());

            MultiTabManger.AddView(dataViewctl, TabTitle, RuntimeMongoDbContext.SelectTagType);
        }
Ejemplo n.º 4
0
 /// <summary>
 ///     设置DataFilter
 /// </summary>
 private void SetCurrentDataFilter()
 {
     //清除以前的结果和内部变量,重要!
     //FieldList 和 FieldPicker 是引用关系,所以这里Clear掉之后FieldPicker也会被清除掉。GetQueryFieldList就会始终为空!
     _currentDataViewInfo.MDataFilter.QueryConditionList.Clear();
     _currentDataViewInfo.MDataFilter.DbName         = RuntimeMongoDbContext.GetCurrentDataBaseName();
     _currentDataViewInfo.MDataFilter.CollectionName = RuntimeMongoDbContext.GetCurrentCollectionName();
     _currentDataViewInfo.MDataFilter.QueryFieldList = QueryFieldPicker.GetQueryFieldList();
     ConditionPan.SetCurrDataFilter(_currentDataViewInfo);
     if (RuntimeMongoDbContext.CollectionFilter.ContainsKey(RuntimeMongoDbContext.GetCurrentCollectionName()))
     {
         RuntimeMongoDbContext.CollectionFilter[RuntimeMongoDbContext.GetCurrentCollectionName()] = _currentDataViewInfo.MDataFilter;
     }
     else
     {
         RuntimeMongoDbContext.CollectionFilter.Add(RuntimeMongoDbContext.GetCurrentCollectionName(), _currentDataViewInfo.MDataFilter);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// ViewList右键事件
 /// </summary>
 /// <param name="e"></param>
 private void ViewListHandler(TreeNodeMouseClickEventArgs e)
 {
     if (e.Button == MouseButtons.Right)
     {
         if (!Operater.IsSystemDataBase(RuntimeMongoDbContext.GetCurrentDataBaseName()))
         {
             CreateViewtoolStripMenuItem.Enabled = true;
         }
         contextMenuStripMain = new ContextMenuStrip();
         if (SystemManager.MonoMode)
         {
             var createMongoCollection = CreateViewtoolStripMenuItem.Clone();
             createMongoCollection.Click += CreateMongoCollectionToolStripMenuItem_Click;
             contextMenuStripMain.Items.Add(createMongoCollection);
         }
         else
         {
             contextMenuStripMain.Items.Add(CreateViewtoolStripMenuItem.Clone());
         }
         e.Node.ContextMenuStrip = contextMenuStripMain;
         contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        ///     Datas the base handler.
        /// </summary>
        /// <param name="strNodeType">String node type.</param>
        /// <param name="e">E.</param>
        private void DataBaseHandler(string strNodeType, TreeNodeMouseClickEventArgs e)
        {
            RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
            var roles = MongoUserEx.GetCurrentDbRoles(RuntimeMongoDbContext.CurrentMongoConnectionconfig.ConnectionName,
                                                      RuntimeMongoDbContext.GetCurrentDataBaseName());

            if (GuiConfig.IsUseDefaultLanguage)
            {
                statusStripMain.Items[0].Text = "Selected DataBase:" + RuntimeMongoDbContext.SelectTagData;
            }
            else
            {
                statusStripMain.Items[0].Text =
                    GuiConfig.GetText(TextType.SelectedDataBase) + ":" +
                    RuntimeMongoDbContext.SelectTagData;
            }
            //系统库不允许修改
            if (!Operater.IsSystemDataBase(RuntimeMongoDbContext.GetCurrentDataBaseName()))
            {
                if (RuntimeMongoDbContext.CurrentMongoConnectionconfig.AuthMode)
                {
                    //根据Roles确定删除数据库/创建数据集等的权限
                    DelMongoDBToolStripMenuItem.Enabled = MongoAction.JudgeRightByBuildInRole(roles,
                                                                                              MongoAction.ActionType.ServerAdministrationActionsDropDatabase);
                    CreateMongoCollectionToolStripMenuItem.Enabled = MongoAction.JudgeRightByBuildInRole(roles,
                                                                                                         MongoAction.ActionType.DatabaseManagementActionsCreateCollection);
                    CopyDatabasetoolStripMenuItem.Enabled = true;
                    InitGFSToolStripMenuItem.Enabled      = MongoAction.JudgeRightByBuildInRole(roles,
                                                                                                MongoAction.ActionType.MiscActionsInitGfs);
                    AddUserToolStripMenuItem.Enabled = MongoAction.JudgeRightByBuildInRole(roles,
                                                                                           MongoAction.ActionType.DatabaseManagementActionsCreateUser);
                    //If a Slave server can repair database @ Master-Slave is not sure ??
                    RepairDBToolStripMenuItem.Enabled = MongoAction.JudgeRightByBuildInRole(roles,
                                                                                            MongoAction.ActionType.ServerAdministrationActionsRepairDatabase);
                }
                else
                {
                    DelMongoDBToolStripMenuItem.Enabled            = true;
                    CreateMongoCollectionToolStripMenuItem.Enabled = true;
                    CreateViewtoolStripMenuItem.Enabled            = true;
                    CopyDatabasetoolStripMenuItem.Enabled          = true;
                    InitGFSToolStripMenuItem.Enabled  = true;
                    AddUserToolStripMenuItem.Enabled  = true;
                    RepairDBToolStripMenuItem.Enabled = true;
                }
            }

            AddDBCustomeRoleStripMenuItem.Enabled = true;

            //使用Shell:从实际情况来看,有一些Shell指令是不依赖与Admin数据库或者和数据库无关的
            //所以这里暂时开放所有的Shell指令。
            EvalJSToolStripMenuItem.Enabled = true;
            //备份数据库
            DumpDatabaseToolStripMenuItem.Enabled = true;
            //Profilling
            ProfillingLevelToolStripMenuItem.Enabled = true;
            if (strNodeType == ConstMgr.SingleDatabaseTag)
            {
                DelMongoDBToolStripMenuItem.Enabled = false;
            }
            DBStatusToolStripMenuItem.Enabled = true;
            if (e.Button == MouseButtons.Right)
            {
                contextMenuStripMain = new ContextMenuStrip();
                if (SystemManager.MonoMode)
                {
                    //悲催MONO不支持
                    var delMongoDb = DelMongoDBToolStripMenuItem.Clone();
                    delMongoDb.Click += DelMongoDBToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(delMongoDb);

                    var createMongoCollection = CreateMongoCollectionToolStripMenuItem.Clone();
                    createMongoCollection.Click += CreateMongoCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(createMongoCollection);

                    var createView = CreateViewtoolStripMenuItem.Clone();
                    createView.Click += CreateViewtoolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(createView);

                    var addUser = AddUserToolStripMenuItem.Clone();
                    addUser.Click += AddUserToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(addUser);

                    var evalJs = EvalJSToolStripMenuItem.Clone();
                    evalJs.Click += evalJSToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(evalJs);

                    var repairDb = RepairDBToolStripMenuItem.Clone();
                    repairDb.Click += RepairDBToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(repairDb);


                    var initGfs = InitGFSToolStripMenuItem.Clone();
                    initGfs.Click += InitGFSToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(initGfs);

                    var dumpDatabase = DumpDatabaseToolStripMenuItem.Clone();
                    dumpDatabase.Click += DumpDatabaseToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(dumpDatabase);

                    var restoreMongo = RestoreMongoToolStripMenuItem.Clone();
                    restoreMongo.Click += RestoreMongoToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(restoreMongo);


                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var profillingLevel = ProfillingLevelToolStripMenuItem.Clone();
                    profillingLevel.Click += profillingLevelToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(profillingLevel);

                    var dbStatus = DBStatusToolStripMenuItem.Clone();
                    dbStatus.Click += DBStatusToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(dbStatus);
                }
                else
                {
                    contextMenuStripMain.Items.Add(DelMongoDBToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(CreateMongoCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(CreateViewtoolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(CopyDatabasetoolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(AddUserToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(AddDBCustomeRoleStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(EvalJSToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RepairDBToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(InitGFSToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(DumpDatabaseToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RestoreMongoToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(ProfillingLevelToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(DBStatusToolStripMenuItem.Clone());
                }
                e.Node.ContextMenuStrip = contextMenuStripMain;
                contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
            }
        }
Ejemplo n.º 7
0
        private void DataBaseHandler(string strNodeType, TreeNodeMouseClickEventArgs e)
        {
            RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
            var roles = User.GetCurrentDbRoles(RuntimeMongoDbContext.CurrentMongoConnectionconfig.ConnectionName,
                                               RuntimeMongoDbContext.GetCurrentDataBaseName());

            if (GuiConfig.IsUseDefaultLanguage)
            {
                statusStripMain.Items[0].Text = "Selected DataBase:" + RuntimeMongoDbContext.SelectTagData;
            }
            else
            {
                statusStripMain.Items[0].Text =
                    GuiConfig.GetText(TextType.SelectedDataBase) + ":" +
                    RuntimeMongoDbContext.SelectTagData;
            }
            //系统库不允许修改
            if (!Operater.IsSystemDataBase(RuntimeMongoDbContext.GetCurrentDataBaseName()))
            {
                if (RuntimeMongoDbContext.CurrentMongoConnectionconfig.AuthMode)
                {
                    //根据Roles确定删除数据库/创建数据集等的权限
                    DelMongoDBToolStripMenuItem.Enabled = MongoDbAction.JudgeRightByBuildInRole(roles,
                                                                                                MongoDbAction.ActionType.ServerAdministrationActionsDropDatabase);
                    CreateMongoCollectionToolStripMenuItem.Enabled = MongoDbAction.JudgeRightByBuildInRole(roles,
                                                                                                           MongoDbAction.ActionType.DatabaseManagementActionsCreateCollection);
                    InitGFSToolStripMenuItem.Enabled = MongoDbAction.JudgeRightByBuildInRole(roles,
                                                                                             MongoDbAction.ActionType.MiscInitGfs);
                    AddUserToolStripMenuItem.Enabled = MongoDbAction.JudgeRightByBuildInRole(roles,
                                                                                             MongoDbAction.ActionType.DatabaseManagementActionsCreateUser);
                    //If a Slave server can repair database @ Master-Slave is not sure ??
                    RepairDBToolStripMenuItem.Enabled = MongoDbAction.JudgeRightByBuildInRole(roles,
                                                                                              MongoDbAction.ActionType.ServerAdministrationActionsRepairDatabase);
                }
                else
                {
                    DelMongoDBToolStripMenuItem.Enabled            = true;
                    CreateMongoCollectionToolStripMenuItem.Enabled = true;
                    InitGFSToolStripMenuItem.Enabled  = true;
                    AddUserToolStripMenuItem.Enabled  = true;
                    RepairDBToolStripMenuItem.Enabled = true;
                }
                EvalJSToolStripMenuItem.Enabled = MongoDbAction.JudgeRightByBuildInRole(roles,
                                                                                        MongoDbAction.ActionType.MiscEvalJs);
            }
            //备份数据库
            DumpDatabaseToolStripMenuItem.Enabled    = true;
            ProfillingLevelToolStripMenuItem.Enabled = true;
            if (strNodeType == ConstMgr.SingleDatabaseTag)
            {
                DelMongoDBToolStripMenuItem.Enabled = false;
            }
            DBStatusToolStripMenuItem.Enabled = true;
            if (e.Button == MouseButtons.Right)
            {
                contextMenuStripMain = new ContextMenuStrip();
                if (SystemManager.MonoMode)
                {
                    //悲催MONO不支持
                    var t1 = DelMongoDBToolStripMenuItem.Clone();
                    t1.Click += DelMongoDBToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t1);

                    var t2 = CreateMongoCollectionToolStripMenuItem.Clone();
                    t2.Click += CreateMongoCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t2);

                    var t3 = AddUserToolStripMenuItem.Clone();
                    t3.Click += AddUserToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t3);

                    var t4 = EvalJSToolStripMenuItem.Clone();
                    t4.Click += evalJSToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t4);

                    var t5 = RepairDBToolStripMenuItem.Clone();
                    t5.Click += RepairDBToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t5);


                    var t6 = InitGFSToolStripMenuItem.Clone();
                    t6.Click += InitGFSToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t6);

                    var t7 = DumpDatabaseToolStripMenuItem.Clone();
                    t7.Click += DumpDatabaseToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t7);

                    var t8 = RestoreMongoToolStripMenuItem.Clone();
                    t8.Click += RestoreMongoToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t8);


                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var t10 = ProfillingLevelToolStripMenuItem.Clone();
                    t10.Click += profillingLevelToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t10);

                    var t11 = DBStatusToolStripMenuItem.Clone();
                    t11.Click += DBStatusToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t11);
                }
                else
                {
                    contextMenuStripMain.Items.Add(DelMongoDBToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(CreateMongoCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(AddUserToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(AddDBCustomeRoleStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(EvalJSToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RepairDBToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(InitGFSToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(DumpDatabaseToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RestoreMongoToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(ProfillingLevelToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(DBStatusToolStripMenuItem.Clone());
                }
                e.Node.ContextMenuStrip = contextMenuStripMain;
                contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
            }
        }