private void JsEditor_Load(object sender, EventArgs e) { if (DesignMode) { return; } GuiConfig.Translateform(Controls); SaveStripButton.Image = Resources.save.ToBitmap(); // if (!string.IsNullOrEmpty(JsName)) // { // txtEditJavaScript.Text = Operater.LoadJavascript(JsName, RuntimeMongoDbContext.GetCurrentCollection()); // txtEditJavaScript.Select(0, 0); // } // txtEditJavaScript.GotFocus += (x, y) => { RuntimeMongoDbContext.SelectObjectTag = StrDBtag; }; if (!string.IsNullOrEmpty(JsName)) { txtEditJavaScript.Text = Operater.LoadJavascript(JsName, RuntimeMongoDbContext.GetCurrentCollection()); } }
/// <summary> /// 重命名数据集 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RenameCollectionToolStripMenuItem_Click(object sender, EventArgs e) { var strOldNodeTag = trvsrvlst.SelectedNode.Tag.ToString(); var strNewCollectionName = Collection.RenameCollection(trvsrvlst.SelectedNode); if (string.IsNullOrEmpty(strNewCollectionName)) { return; } var strNewNodeTag = TagInfo.ChangeName(trvsrvlst.SelectedNode.Tag.ToString(), strNewCollectionName); MultiTabManger.SelectObjectTagChanged(strOldNodeTag, strNewNodeTag, strNewCollectionName); DisableAllOpr(); RuntimeMongoDbContext.SelectObjectTag = strNewNodeTag; trvsrvlst.SelectedNode.Text = strNewCollectionName; trvsrvlst.SelectedNode.Tag = strNewNodeTag; trvsrvlst.SelectedNode.ToolTipText = strNewCollectionName + Environment.NewLine; trvsrvlst.SelectedNode.ToolTipText += "IsCapped:" + RuntimeMongoDbContext.GetCurrentCollectionIsCapped(); statusStripMain.Items[0].Text = GuiConfig.GetText("selected Collection", TextType.SelectedCollection) + ":" + RuntimeMongoDbContext.SelectTagData; }
private static void ExceptionHandle(Exception ex, List <TreeNode> trvMongoDb, TreeNode connectionNode, string mongoConnKey) { if (!GuiConfig.IsUseDefaultLanguage) { connectionNode.Text += "[" + GuiConfig.GetText( TextType.ExceptionNotConnected) + "]"; Utility.ExceptionDeal(ex, GuiConfig.GetText(TextType.ExceptionNotConnected), "Unknown Exception"); } else { connectionNode.Text += "[Exception]"; Utility.ExceptionDeal(ex, "Not Connected", "Unknown Exception"); } connectionNode.Tag = ConstMgr.ConnectionExceptionTag + ":" + mongoConnKey; trvMongoDb.Add(connectionNode); }
/// <summary> /// 加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmProfilling_Load(object sender, EventArgs e) { GuiConfig.Translateform(this); cmbProfillingLv.Items.Add("0-No Logging"); cmbProfillingLv.Items.Add("1-Log Slow Operations"); cmbProfillingLv.Items.Add("2-Log All Operations"); cmbProfillingLv.SelectedIndex = (int)RuntimeMongoDbContext.GetCurrentDataBase().GetProfilingLevel().Level; switch (cmbProfillingLv.SelectedIndex) { case 1: NumTime.Enabled = true; NumTime.Value = (decimal)RuntimeMongoDbContext.GetCurrentDataBase().GetProfilingLevel().Slow.TotalSeconds * 1000; break; default: NumTime.Enabled = false; break; } }
/** * 开启面板 * @param key 面板唯一标识 * @param param 参数 * */ public IBaseView open(int key, params object[] param) { IBaseView view = this.getView(key); if (view == null) { return(null); } if (view.isShow()) { view.open(view, param); view.setViewTop(); return(view); } if (view.isInit()) { view.addToParent(); view.open(view, param); } else { GuiConfig config = GuiConfig.GetConfig(key); if (config == null) { return(null); } else { this.setViewOpen(view, param, key); } } this.openUIPlaySound(key); this._opens.Add(key); this.setOpenDepth(); view.setViewTop(); return(view); }
/// <summary> /// 建立数据库 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CreateMongoDBToolStripMenuItem_Click(object sender, EventArgs e) { //新版本如果数据库没有数据集,则数据库将被回收? string strDbName = MyMessageBox.ShowInput( GuiConfig.GetText("Please Input DataBaseName:", "CreateNewDataBaseInput"), GuiConfig.GetText("Create Database", "CreateNewDataBase")); if (string.IsNullOrEmpty(strDbName)) { return; } string strInitColName = MyMessageBox.ShowInput( GuiConfig.GetText("Please Input Init CollectionName:", "CreateNewDataBaseInitCollection"), GuiConfig.GetText("Create Database", "CreateNewDataBase")); string errMessage; if (Operater.IsDatabaseNameValid(strDbName, out errMessage)) { try { var strRusult = Operater.CreateDataBaseWithInitCollection(strDbName, strInitColName); if (string.IsNullOrEmpty(strRusult)) { RefreshToolStripMenuItem_Click(sender, e); } else { MyMessageBox.ShowMessage("Error", "Create MongoDatabase", strRusult, true); } } catch (ArgumentException ex) { Utility.ExceptionDeal(ex, "Create MongoDatabase", "Argument Exception"); } } else { MyMessageBox.ShowMessage("Create MongoDatabase", "Argument Exception", errMessage, true); } }
public CtlFieldInfo() { InitializeComponent(); if (!GuiConfig.IsUseDefaultLanguage) { lblFieldName.Text = GuiConfig.GetText(TextType.CtlIndexCreateIndex); cmbSort.Items.Clear(); cmbSort.Items.Add(GuiConfig.GetText(TextType.IndexNoSort)); cmbSort.Items.Add(GuiConfig.GetText(TextType.IndexAsce)); cmbSort.Items.Add(GuiConfig.GetText(TextType.IndexDesc)); chkIsShow.Text = GuiConfig.GetText(TextType.CtlFieldInfoShow); } else { cmbSort.Items.Clear(); cmbSort.Items.Add("None Sort"); cmbSort.Items.Add("Asce"); cmbSort.Items.Add("Desc"); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmServerMonitor_Load(object sender, EventArgs e) { //填充分组 GuiConfig.Translateform(this); UIAssistant.FillComberWithArray(cmbCatalog, SystemStatus.GetCatalog().ToArray()); //自定义分组 cmbCatalog.Items.Add("Custom"); cmbCatalog.SelectedIndex = 0; if (!GuiConfig.IsMono) { Icon = GetSystemIcon.ConvertImgToIcon(Resources.KeyInfo); } _mTime = new Timer { Interval = RefreshInterval * 1000 }; NumTimeInterval.Value = RefreshInterval; _mTime.Tick += SetValue; SetValue(null, null); FormClosing += (x, y) => _mTime.Stop(); _mTime.Start(); }
private static string MongoConnectionExceptionHandle(MongoConnectionException ex, List <TreeNode> trvMongoDb, TreeNode connectionNode, string mongoConnKey) { //暂时不处理任何异常,简单跳过 //无法连接的理由: //1.服务器没有启动 //2.认证模式不正确 if (!GuiConfig.IsUseDefaultLanguage) { connectionNode.Text += "[" + GuiConfig.GetText("ExceptionNotConnected") + "]"; Utility.ExceptionDeal(ex, GuiConfig.GetText("ExceptionNotConnected"), GuiConfig.GetText("ExceptionNotConnectedNote")); } else { connectionNode.Text += "[Exception]"; Utility.ExceptionDeal(ex, "Not Connected", "Mongo Server may not Startup or Auth Mode is not correct"); } connectionNode.Tag = ConstMgr.ConnectionExceptionTag + ":" + mongoConnKey; trvMongoDb.Add(connectionNode); return(mongoConnKey); }
private void button5_Click(object sender, EventArgs e) { GuiConfig guiConfig = new GuiConfig(); guiConfig.configs = new List <NodeConfig>(); foreach (ListViewItem item in nodeList.Items) { NodeConfig config = (NodeConfig)item.Tag; var pingItem = item.SubItems[item.SubItems.Count - 1]; try { int ping = int.Parse(pingItem.Text); guiConfig.configs.Add(config); } catch (Exception) { // do nothing } } SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "Config|*.json"; saveFileDialog1.Title = "Save node config"; saveFileDialog1.FileName = "gui-config.json"; saveFileDialog1.ShowDialog(); if (saveFileDialog1.FileName != "") { using (StreamWriter file = File.CreateText(saveFileDialog1.FileName)) { JsonSerializer serializer = new JsonSerializer(); serializer.Formatting = Formatting.Indented; serializer.Serialize(file, guiConfig); } } }
/// <summary> /// 复制菜单项目 /// </summary> /// <param name="orgMenuItem">原始的菜单</param> /// <returns>克隆的菜单</returns> public static ToolStripMenuItem Clone(this ToolStripMenuItem orgMenuItem) { var cloneMenuItem = new ToolStripMenuItem(); //!!!typeof的参数必须是ToolStripMenuItem的基类!!!如果使用Control则不能取到值!!! //感谢CSDN网友beargo在帖子【如何获取事件已定制方法名?】里面的提示,网上的例子没有说明这个问题 //坑爹啊。。。。。。。。 var list = GetObjectEventList(orgMenuItem, "EventClick", typeof(ToolStripItem)); // if (!SystemConfig.MonoMode) // { //悲催MONO不支持 if (list != null && list[0] != null) { try { cloneMenuItem.Click += (x, y) => list[0].DynamicInvoke(x, y); } catch (Exception) { //Utility.ExceptionDeal(ex, cloneMenuItem.Text); } } // } cloneMenuItem.Text = orgMenuItem.Text; if (GuiConfig.IsMono) { cloneMenuItem.Font = GuiConfig.GetMonoFont(cloneMenuItem.Font); } cloneMenuItem.Enabled = orgMenuItem.Enabled; cloneMenuItem.BackgroundImage = orgMenuItem.BackgroundImage; cloneMenuItem.Image = orgMenuItem.Image; //子菜单的复制 foreach (ToolStripMenuItem item in orgMenuItem.DropDownItems) { cloneMenuItem.DropDownItems.Add(item.Clone()); } return(cloneMenuItem); }
/// <summary> /// 切换Tab的时候,必须切换当前对象 /// </summary> public FrmMain() { InitializeComponent(); GetSystemIcon.InitMainTreeImage(); GetSystemIcon.InitTabViewImage(); trvsrvlst.ImageList = GetSystemIcon.MainTreeImage; tabView.ImageList = GetSystemIcon.TabViewImage; SetMenuImage(); GuiConfig.Translateform(this); if (!GuiConfig.IsUseDefaultLanguage) { //其他控件 statusStripMain.Items[0].Text = GuiConfig.GetText(TextType.MainStatusBarTextReady); } //Init ToolBar InitToolBar(); Text += " " + SystemManager.Version; Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath); if (SystemManager.MonoMode) { Text += " MONO"; } }
/// <summary> /// 刷新 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RefreshToolStripMenuItem_Click(object sender, EventArgs e) { DisableAllOpr(); RefreshToolStripMenuItem.Enabled = false; RefreshToolStripButton.Enabled = false; try { var connectionTreeNodes = UiHelper.GetConnectionNodes(); trvsrvlst.Nodes.Clear(); foreach (var element in connectionTreeNodes) { trvsrvlst.Nodes.Add(element); } } catch (Exception) { trvsrvlst.Nodes.Clear(); trvsrvlst.Nodes.Add("丢失与数据库的连接!"); } RefreshToolStripMenuItem.Enabled = true; RefreshToolStripButton.Enabled = true; statusStripMain.Items[0].Text = GuiConfig.GetText("Ready", TextType.MainStatusBarTextReady); }
/// <summary> /// View Hanlder /// </summary> /// <param name="e"></param> private void ViewHandler(TreeNodeMouseClickEventArgs e) { statusStripMain.Items[0].Text = GuiConfig.GetText("Selected View", "SelectedView") + ":" + e.Node.Text; DelMongoCollectionToolStripMenuItem.Enabled = true; if (e.Button == MouseButtons.Right) { contextMenuStripMain = new ContextMenuStrip(); contextMenuStripMain.Items.Add(DelMongoCollectionToolStripMenuItem.Clone()); var ViewInfoToolStripMenuItem = new ToolStripMenuItem("ViewInfo"); ViewInfoToolStripMenuItem.Click += ViewInfoToolStripMenuItem_Click; contextMenuStripMain.Items.Add(ViewInfoToolStripMenuItem); e.Node.ContextMenuStrip = contextMenuStripMain; contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location)); } //PlugIn foreach (ToolStripMenuItem item in plugInToolStripMenuItem.DropDownItems) { if (PlugIn.PlugInList[item.Tag.ToString()].RunLv == PlugInBase.PathLv.CollectionLv) { item.Enabled = true; } } }
/// <summary> /// 加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ctlMongod_Load(object sender, EventArgs e) { ctlFilePickerLogPath.FileFilter = Utility.LogFilter; ctllogLvT.LoglvChanged += ctllogLvT_LoglvChanged; ctlFilePickerLogPath.PathChanged += ctlFilePickerT_PathChanged; ctlFilePickerDBPath.PathChanged += ctlFilePickerDBPath_PathChanged; if (DesignMode) { return; } if (!GuiConfig.IsUseDefaultLanguage) { lblPort.Text = GuiConfig.GetText("Common.Port"); lblSource.Text = GuiConfig.GetText( TextType.DosCommandTabDeploySlaveSource); chkAuth.Text = GuiConfig.GetText( TextType.DosCommandTabDeployAuthentication); chkIsAppend.Text = GuiConfig.GetText( TextType.DosCommandTabDeployAppendMode); ctlFilePickerDBPath.Title = GuiConfig.GetText(TextType.DosCommandTabDeployDbPath); ctlFilePickerLogPath.Title = GuiConfig.GetText( TextType.DosCommandTabDeployLogPath); radMaster.Text = GuiConfig.GetText(TextType.DosCommandTabDeployMaster); radSlave.Text = GuiConfig.GetText(TextType.DosCommandTabDeploySlave); grpLog.Text = GuiConfig.GetText(TextType.DosCommandTabDeployLog); } }
/// <summary> /// 加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmAddSharding_Load(object sender, EventArgs e) { GuiConfig.Translateform(this); _prmSvr = RuntimeMongoDbContext.GetCurrentServer(); var mongoDb = _prmSvr.GetDatabase(ConstMgr.DatabaseNameConfig); MongoCollection mongoCol = mongoDb.GetCollection("databases"); foreach (var item in mongoCol.FindAllAs <BsonDocument>()) { if (item.GetValue(ConstMgr.KeyId) != ConstMgr.DatabaseNameAdmin) { cmbDataBase.Items.Add(item.GetValue(ConstMgr.KeyId)); cmbShardKeyDB.Items.Add(item.GetValue(ConstMgr.KeyId)); } } foreach (var lst in Operater.GetShardInfo(_prmSvr, ConstMgr.KeyId)) { lstSharding.Items.Add(lst.Value); } mongoCol = mongoDb.GetCollection("shards"); cmbTagList.Items.Clear(); foreach (var mShard in mongoCol.FindAllAs <BsonDocument>()) { if (mShard.Contains("tags")) { foreach (var tag in mShard.GetElement("tags").Value.AsBsonArray) { //严格意义上说,不应该在同一个路由里面出现两个同名的标签。 if (!_tagSet.ContainsKey(tag.ToString())) { _tagSet.Add(tag.ToString(), mShard.GetElement(ConstMgr.KeyId).Value.ToString()); cmbTagList.Items.Add(mShard.GetElement(ConstMgr.KeyId).Value + "." + tag); } } } } }
/// <summary> /// 输出配置字典 /// </summary> private void frmQuery_Load(object sender, EventArgs e) { Icon = GetSystemIcon.ConvertImgToIcon(GetResource.GetImage(ImageType.Query)); var fieldList = new List <DataFilter.QueryFieldItem>(); fieldList = _currentDataViewInfo.MDataFilter.QueryFieldList; //增加第一个条件 ConditionPan.AddCondition(); if (_currentDataViewInfo.IsUseFilter) { //使用过滤:字段和条件的设定 QueryFieldPicker.SetQueryFieldList(fieldList); if (_currentDataViewInfo.MDataFilter.QueryConditionList.Count > 0) { ConditionPan.PutQueryToUi(_currentDataViewInfo.MDataFilter); } } else { //不使用过滤:字段初始化 QueryFieldPicker.InitByCurrentCollection(true); } if (GuiConfig.IsUseDefaultLanguage) { return; } Text = GuiConfig.GetText(TextType.QueryTitle); tabFieldInfo.Text = GuiConfig.GetText(TextType.QueryFieldInfo); tabCondition.Text = GuiConfig.GetText(TextType.QueryFilter); tabSql.Text = GuiConfig.GetText(TextType.ConvertSqlTitle); cmdAddCondition.Text = GuiConfig.GetText(TextType.QueryFilterAddCondition); cmdLoad.Text = GuiConfig.GetText(TextType.QueryActionLoad); cmdSave.Text = GuiConfig.GetText(TextType.CommonSave); cmdOK.Text = GuiConfig.GetText(TextType.CommonOk); cmdCancel.Text = GuiConfig.GetText(TextType.CommonCancel); }
/// <summary> /// Drop MongoDB /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DelMongoDBToolStripMenuItem_Click(object sender, EventArgs e) { var strTitle = "Drop Database"; var strMessage = "Are you really want to Drop current Database?"; if (!GuiConfig.IsUseDefaultLanguage) { strTitle = GuiConfig.GetText(TextType.DropDataBase); strMessage = GuiConfig.GetText(TextType.DropDataBaseConfirm); } if (!MyMessageBox.ShowConfirm(strTitle, strMessage)) { return; } var strTagPrefix = TagInfo.GetTagPath(ConstMgr.CollectionTag + ":" + RuntimeMongoDbContext.SelectTagData); var strDbName = strTagPrefix.Split("/".ToCharArray())[(int)EnumMgr.PathLevel.Database]; if (trvsrvlst.SelectedNode == null) { trvsrvlst.SelectedNode = null; } var rtnResult = Operater.DataBaseOpration(RuntimeMongoDbContext.SelectObjectTag, strDbName, Operater.Oprcode.Drop); if (string.IsNullOrEmpty(rtnResult)) { RefreshToolStripMenuItem_Click(sender, e); //关闭所有的相关视图 MultiTabManger.SelectObjectTagPrefixDeleted(strTagPrefix); } else { MyMessageBox.ShowMessage("Error", "Error", rtnResult, true); } }
public void Init() { if (!DesignMode) { foreach (var item in MongoHelper.GetJsNameList()) { cmbJsList.Items.Add(item); } cmbJsList.SelectedIndexChanged += (x, y) => { txtContext.Text = Operater.LoadJavascript(cmbJsList.Text, RuntimeMongoDbContext.GetCurrentJavaScript()); }; if (!GuiConfig.IsUseDefaultLanguage) { cmdSave.Text = GuiConfig.GetText(TextType.CommonSave); cmdSaveLocal.Text = GuiConfig.GetText(TextType.CommonSaveLocal); cmdLoadLocal.Text = GuiConfig.GetText(TextType.QueryActionLoad); } } }
private static string MongoCommandExceptionHandle(MongoCommandException ex, List <TreeNode> trvMongoDb, TreeNode connectionNode, string mongoConnKey) { //listDatabase命令错误,本质是用户名称错误 if (ex.Result["errmsg"] == "unauthorized") { if (!GuiConfig.IsUseDefaultLanguage) { connectionNode.Text += "[" + GuiConfig.GetText("ExceptionAuthenticationException") + "]"; Utility.ExceptionDeal(ex, GuiConfig.GetText("ExceptionAuthenticationException"), GuiConfig.GetText("ExceptionAuthenticationExceptionNote")); } else { connectionNode.Text += "[MongoCommandExceptionHandle]"; Utility.ExceptionDeal(ex, "MongoCommandExceptionHandle:", "Please check UserName and Password"); } } else { if (!GuiConfig.IsUseDefaultLanguage) { connectionNode.Text += "[" + GuiConfig.GetText("ExceptionNotConnected") + "]"; Utility.ExceptionDeal(ex, GuiConfig.GetText("ExceptionNotConnected"), "Unknown Exception"); } else { connectionNode.Text += "[Exception]"; Utility.ExceptionDeal(ex, "Not Connected", "Unknown Exception"); } } connectionNode.Tag = ConstMgr.ConnectionExceptionTag + ":" + mongoConnKey; trvMongoDb.Add(connectionNode); return(mongoConnKey); }
/// <summary> /// 窗体初始化 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmStatus_Load(object sender, EventArgs e) { if (!GuiConfig.IsMono) { Icon = GetSystemIcon.ConvertImgToIcon(Resources.KeyInfo); } GuiConfig.Translateform(this); var strType = RuntimeMongoDbContext.SelectTagType; var docStatus = new BsonDocument(); cmbChartField.Visible = false; chartResult.Visible = false; tempIsDisplayNumberWithKSystem = CtlTreeViewColumns.IsDisplayNumberWithKSystem; CtlTreeViewColumns.IsDisplayNumberWithKSystem = true; switch (strType) { case ConstMgr.ServerTag: case ConstMgr.SingleDbServerTag: if (RuntimeMongoDbContext.GetCurrentServerConfig().LoginAsAdmin) { var StatusList = new List <BsonDocument>(); var Status = CommandExecute.ExecuteMongoSvrCommand(DataBaseCommand.ServerStatusCommand, RuntimeMongoDbContext.GetCurrentServer()).Response; StatusList.Add(Status); try { var ServerDesripter = MongoUtility.ToolKit.MongoHelper.GetCurrentServerDescription(); StatusList.Add(ServerDesripter); } catch (Exception) { //Repl的时候,无法获得 } UiHelper.FillDataToTreeView(strType, trvStatus, StatusList, 0); trvStatus.Height = trvStatus.Height * 2; trvStatus.DatatreeView.Nodes[0].Expand(); trvStatus.DatatreeView.Nodes[1].Expand(); return; } break; case ConstMgr.DatabaseTag: case ConstMgr.SingleDatabaseTag: docStatus = RuntimeMongoDbContext.GetCurrentDataBase().GetStats().Response.ToBsonDocument(); cmbChartField.Visible = true; chartResult.Visible = true; //{{ "db" : "aaaa", // "collections" : 8, // "objects" : 0, // "avgObjSize" : 0.0, // "dataSize" : 0.0, // "storageSize" : 32768.0, // "numExtents" : 0, // "indexes" : 8, // "indexSize" : 32768.0, // "ok" : 1.0 }} var statuspoint = docStatus.AsBsonDocument; //这里其实应该看Collection的Status,不同的引擎所拥有的状态不一样 if (statuspoint.Contains("avgObjSize")) { cmbChartField.Items.Add("AverageObjectSize"); } if (statuspoint.Contains("dataSize")) { cmbChartField.Items.Add("DataSize"); } if (statuspoint.Contains("extentCount")) { cmbChartField.Items.Add("ExtentCount"); } if (statuspoint.Contains("indexes")) { cmbChartField.Items.Add("IndexCount"); } if (statuspoint.Contains("lastExtentSize")) { cmbChartField.Items.Add("LastExtentSize"); } //MaxDocuments仅在CapedCollection时候有效 if (statuspoint.Contains("MaxDocuments")) { cmbChartField.Items.Add("MaxDocuments"); } if (statuspoint.Contains("ObjectCount")) { cmbChartField.Items.Add("ObjectCount"); } if (statuspoint.Contains("PaddingFactor")) { cmbChartField.Items.Add("PaddingFactor"); } if (statuspoint.Contains("storageSize")) { cmbChartField.Items.Add("StorageSize"); } cmbChartField.SelectedIndex = 0; try { RefreshDbStatusChart("StorageSize"); } catch (Exception ex) { Utility.ExceptionDeal(ex); } break; case ConstMgr.CollectionTag: //TODO:这里无法看到Collection的Document Validation信息。 docStatus = RuntimeMongoDbContext.GetCurrentCollection().GetStats().Response.ToBsonDocument(); //图形化初始化 chartResult.Visible = true; chartResult.Series.Clear(); chartResult.Titles.Clear(); var seriesResult = new Series("Usage"); var dpDataSize = new DataPoint(0, RuntimeMongoDbContext.GetCurrentCollection().GetStats().DataSize) { LegendText = "DataSize", LegendToolTip = "DataSize", ToolTip = "DataSize" }; seriesResult.Points.Add(dpDataSize); var dpTotalIndexSize = new DataPoint(0, RuntimeMongoDbContext.GetCurrentCollection().GetStats().TotalIndexSize) { LegendText = "TotalIndexSize", LegendToolTip = "TotalIndexSize", ToolTip = "TotalIndexSize" }; seriesResult.Points.Add(dpTotalIndexSize); var dpFreeSize = new DataPoint(0, RuntimeMongoDbContext.GetCurrentCollection().GetStats().StorageSize - RuntimeMongoDbContext.GetCurrentCollection().GetStats().TotalIndexSize - RuntimeMongoDbContext.GetCurrentCollection().GetStats().DataSize) { LegendText = "FreeSize", LegendToolTip = "FreeSize", ToolTip = "FreeSize" }; seriesResult.Points.Add(dpFreeSize); seriesResult.ChartType = SeriesChartType.Pie; chartResult.Series.Add(seriesResult); chartResult.Titles.Add(new Title("Usage")); break; default: if (RuntimeMongoDbContext.GetCurrentServerConfig().LoginAsAdmin) { docStatus = CommandExecute.ExecuteMongoSvrCommand(DataBaseCommand.ServerStatusCommand, RuntimeMongoDbContext.GetCurrentServer()).Response; trvStatus.Height = trvStatus.Height * 2; } break; } UiHelper.FillDataToTreeView(strType, trvStatus, docStatus); trvStatus.DatatreeView.Nodes[0].Expand(); }
/// <summary> /// ConnectionList TreeView Node is clicked by mouse /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void trvsrvlst_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { if (e.Node.ImageIndex != -1) { statusStripMain.Items[0].Image = GetSystemIcon.MainTreeImage.Images[e.Node.ImageIndex]; } //First , set Every MenuItem to disable DisableAllOpr(); if (e.Node.Tag != null) { //选中节点的设置 trvsrvlst.SelectedNode = e.Node; var strNodeType = TagInfo.GetTagType(e.Node.Tag.ToString()); var mongoSvrKey = TagInfo.GetTagPath(e.Node.Tag.ToString()).Split("/".ToCharArray())[0]; RuntimeMongoDbContext.CurrentMongoConnectionconfig = MongoConnectionConfig.MongoConfig.ConnectionList[mongoSvrKey]; if (string.IsNullOrEmpty(RuntimeMongoDbContext.CurrentMongoConnectionconfig.UserName)) { lblUserInfo.Text = GuiConfig.GetText("UserInfo", "UserInfo") + ":Admin"; } else { lblUserInfo.Text = GuiConfig.GetText("UserInfo", "UserInfo") + ":" + RuntimeMongoDbContext.CurrentMongoConnectionconfig.UserName; } if (RuntimeMongoDbContext.CurrentMongoConnectionconfig.AuthMode) { lblUserInfo.Text += " @AuthMode"; } if (RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly) { lblUserInfo.Text += " [" + GuiConfig.GetText("ReadOnly", "Common_ReadOnly") + "]"; } if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly) { //恢复数据:这个操作可以针对服务器,数据库,数据集,所以可以放在共通 RestoreMongoToolStripMenuItem.Enabled = true; } RuntimeMongoDbContext.SelectObjectTag = string.Empty; if (RuntimeMongoDbContext.SelectObjectTag != null) { RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString(); } switch (strNodeType) { case ConstMgr.ConnectionTag: case ConstMgr.ConnectionReplsetTag: case ConstMgr.ConnectionClusterTag: ConnectionHandler(strNodeType, e); break; case ConstMgr.ConnectionExceptionTag: ExceptionConnectionHandler(e); break; case ConstMgr.ServerTag: ServerHandler(e); break; case ConstMgr.SingleDbServerTag: SingleDBServerHandler(e); break; case ConstMgr.DatabaseTag: case ConstMgr.SingleDatabaseTag: DataBaseHandler(strNodeType, e); break; case ConstMgr.SystemCollectionListTag: RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString(); statusStripMain.Items[0].Text = GuiConfig.GetText("System Collection List ", "SystemCollectionList"); break; case ConstMgr.CollectionListTag: //添加数据集 CollectionListHandler(e); RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString(); statusStripMain.Items[0].Text = GuiConfig.GetText("Collection List ", "CollectionList"); break; case ConstMgr.ViewListTag: ViewListHandler(e); RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString(); statusStripMain.Items[0].Text = GuiConfig.GetText("List View ", "ViewList"); break; case ConstMgr.CollectionTag: CollectionHandler(e); break; case ConstMgr.ViewTag: ViewHandler(e); break; case ConstMgr.IndexTag: statusStripMain.Items[0].Text = GuiConfig.GetText("Selected Index:", "SelectedIndex") + ":" + RuntimeMongoDbContext.SelectTagData; break; case ConstMgr.IndexesTag: statusStripMain.Items[0].Text = GuiConfig.GetText("Selected Index", "SelectedIndexes") + ":" + RuntimeMongoDbContext.SelectTagData; break; case ConstMgr.UserListTag: statusStripMain.Items[0].Text = GuiConfig.GetText("Selected UserList", "SelectedUserList") + ":" + RuntimeMongoDbContext.SelectTagData; ViewDataToolStripMenuItem.Enabled = true; if (e.Button == MouseButtons.Right) { contextMenuStripMain = new ContextMenuStrip(); if (SystemManager.MonoMode) { var viewDataTool = ViewDataToolStripMenuItem.Clone(); viewDataTool.Click += (x, y) => ViewDataObj(); contextMenuStripMain.Items.Add(viewDataTool); } else { contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone()); } e.Node.ContextMenuStrip = contextMenuStripMain; contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location)); } break; case ConstMgr.RoleListTag: statusStripMain.Items[0].Text = GuiConfig.GetText("Selected RoleList", "Selected_RoleList") + ":" + RuntimeMongoDbContext.SelectTagData; break; case ConstMgr.GridFileSystemTag: //GridFileSystem RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString(); statusStripMain.Items[0].Text = GuiConfig.GetText("Selected GFS", "SelectedGfs") + ":" + RuntimeMongoDbContext.SelectTagData; ViewDataToolStripMenuItem.Enabled = true; if (e.Button == MouseButtons.Right) { contextMenuStripMain = new ContextMenuStrip(); if (SystemManager.MonoMode) { var viewData = ViewDataToolStripMenuItem.Clone(); viewData.Click += (x, y) => ViewDataObj(); contextMenuStripMain.Items.Add(viewData); } else { contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone()); } e.Node.ContextMenuStrip = contextMenuStripMain; contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location)); } break; case ConstMgr.JavascriptTag: RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString(); ViewDataToolStripMenuItem.Enabled = true; if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly) { creatJavaScriptToolStripMenuItem.Enabled = true; } if (e.Button == MouseButtons.Right) { contextMenuStripMain = new ContextMenuStrip(); if (SystemManager.MonoMode) { var creatJavaScript = creatJavaScriptToolStripMenuItem.Clone(); creatJavaScript.Click += creatJavaScriptToolStripMenuItem_Click; contextMenuStripMain.Items.Add(creatJavaScript); } else { contextMenuStripMain.Items.Add(creatJavaScriptToolStripMenuItem.Clone()); } e.Node.ContextMenuStrip = contextMenuStripMain; contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location)); } statusStripMain.Items[0].Text = GuiConfig.GetText("Selected collection Javascript ", "JavascriptCollection"); break; case ConstMgr.JavascriptDocTag: statusStripMain.Items[0].Text = GuiConfig.GetText("Selected JavaScript", "Selected_Javascript") + ":" + RuntimeMongoDbContext.SelectTagData; ViewDataToolStripMenuItem.Enabled = true; dropJavascriptToolStripMenuItem.Enabled = true; if (e.Button == MouseButtons.Right) { contextMenuStripMain = new ContextMenuStrip(); if (SystemManager.MonoMode) { var viewData = ViewDataToolStripMenuItem.Clone(); viewData.Click += (x, y) => ViewDataObj(); contextMenuStripMain.Items.Add(viewData); var dropJavascript = dropJavascriptToolStripMenuItem.Clone(); dropJavascript.Click += dropJavascriptToolStripMenuItem_Click; contextMenuStripMain.Items.Add(dropJavascript); } else { contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone()); contextMenuStripMain.Items.Add(dropJavascriptToolStripMenuItem.Clone()); } e.Node.ContextMenuStrip = contextMenuStripMain; contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location)); } break; default: statusStripMain.Items[0].Text = "Selected Object:" + e.Node.Text; break; } } else { statusStripMain.Items[0].Text = "Selected Object:" + e.Node.Text; } //重新Reset工具栏 SetToolBarEnabled(); }
/// <summary> /// 载入 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmNewDocument_Load(object sender, EventArgs e) { txtDocument.Document.HighlightingStrategy = HighlightingStrategyFactory.CreateHighlightingStrategy(ConstMgr.CSharp); GuiConfig.Translateform(this); }
/// <summary> /// 测试连接 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void cmdTest_Click(object sender, EventArgs e) { if (!CreateConnection()) { return; } try { var srv = RuntimeMongoDbContext.CreateMongoServer(ref ModifyConn); srv.Connect(); srv.Disconnect(); MyMessageBox.ShowMessage("Connect Test", "Connected OK."); } catch (MongoAuthenticationException ex) { //需要验证的数据服务器,没有Admin权限无法获得数据库列表 if (!GuiConfig.IsUseDefaultLanguage && !GuiConfig.IsMono) { MyMessageBox.ShowMessage(GuiConfig.GetText("ExceptionAuthenticationException"), GuiConfig.GetText("ExceptionAuthenticationExceptionNote"), ex.ToString(), true); } else { MyMessageBox.ShowMessage("MongoAuthenticationException:", "Please check UserName and Password", ex.ToString(), true); } } catch (Exception ex) { //暂时不处理任何异常,简单跳过 //无法连接的理由: //1.服务器没有启动 //2.认证模式不正确 if (!GuiConfig.IsUseDefaultLanguage && !GuiConfig.IsMono) { MyMessageBox.ShowMessage(GuiConfig.GetText("ExceptionNotConnected"), GuiConfig.GetText("ExceptionNotConnectedNote"), ex.ToString(), true); } else { MyMessageBox.ShowMessage("Exception", "Mongo Server may not Startup or Auth Mode is not correct", ex.ToString(), true); } } }
/// <summary> /// Load Form /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmMain_Load(object sender, EventArgs e) { //加载到菜单 PlugIn.LoadPlugInMenuItem(plugInToolStripMenuItem); //禁用操作 DisableAllOpr(); //Set Tool bar button enable SetToolBarEnabled(); //Open ConnectionManagement Form UIAssistant.OpenModalForm(new frmConnect(), true, true); //多文档管理器的设定 var parentMenuItems = new List <ToolStripMenuItem>(); parentMenuItems.Add(CollectionToolStripMenuItem); parentMenuItems.Add(JavaScriptStripMenuItem); MultiTabManger.Init(tabView, parentMenuItems); //MultiTab固定项目的初始化 var serverStatusCtl = new CtlServerStatus(); serverStatusCtl.IsFixedItem = true; serverStatusCtl.SelectObjectTag = "[ServerStatus]"; serverStatusCtl.BindingMenu = StatusToolStripMenuItem; MultiTabManger.AddView(serverStatusCtl, GuiConfig.IsUseDefaultLanguage ? "Status" : GuiConfig.GetText("MainMenu.MangtStatus"), string.Empty); //刷新 RefreshToolStripMenuItem_Click(sender, e); serverStatusCtl.RefreshGui(); MultiTabManger.SelectTab("[ServerStatus]"); //委托设置 trvsrvlst.NodeMouseClick += trvsrvlst_NodeMouseClick; trvsrvlst.NodeMouseDoubleClick += (x, y) => ViewDataObj(); ViewDataToolStripMenuItem.Click += (x, y) => ViewDataObj(); trvsrvlst.KeyDown += trvsrvlst_KeyDown; tabView.SelectedIndexChanged += tabView_SelectedIndexChanged; //CommandHelper.RunCommandComplete += CommandLog; //长时间操作时候,实时提示进度在状态栏中 lblAction.Text = string.Empty; MongoHelper.ActionDone += (x, y) => { //1.lblAction 没有InvokeRequired //2.DoEvents必须 lblAction.Text = y.Message; Application.DoEvents(); }; if (trvsrvlst.Nodes.Count > 0) { trvsrvlst.SelectedNode = trvsrvlst.Nodes[0]; } }
private static void InitControl(Control ctl) { if (ctl.Tag != null && ctl.Tag is string && ctl.Tag.ToString().Trim().ToLower() == "ignoreinit") { return; } GuiConfig guiConfig = App.Config.guiConfig; Font origFont = ctl.Font; if (ctl.Font.Size < 10) { ctl.Font = guiConfig.font; } if (ctl is Form) { Form form = (Form)ctl; if (form.FormBorderStyle == FormBorderStyle.Sizable) { if (guiConfig.formSize.Width > 100 && guiConfig.formSize.Height > 100) { form.Size = guiConfig.formSize; } form.MinimumSize = form.Size; } form.StartPosition = FormStartPosition.CenterParent; } else if (ctl is UserControl) { UserControl uc = (UserControl)ctl; uc.AutoScroll = true; } else if (ctl is DataGridView) { DataGridView gridView = (DataGridView)ctl; gridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect; gridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; gridView.AllowUserToResizeRows = false; gridView.DefaultCellStyle.Font = guiConfig.gridFont; gridView.AutoGenerateColumns = false; } else if (ctl is TextBox) { TextBox tb = (TextBox)ctl; tb.Font = App.Config.guiConfig.gridFont; } else if (ctl is NumericUpDown) { NumericUpDown nud = (NumericUpDown)ctl; nud.Font = guiConfig.gridFont; } else if (ctl is ComboBox) { ComboBox cb = (ComboBox)ctl; cb.Font = guiConfig.gridFont; } else if (ctl is DateTimePicker) { DateTimePicker dtp = (DateTimePicker)ctl; dtp.Font = guiConfig.gridFont; dtp.ShowUpDown = guiConfig.dateTimePickerShowUpDown; } if (origFont.Bold) { ctl.Font = new Font(ctl.Font, FontStyle.Bold); } }
/// <summary> /// GFS系统 /// </summary> /// <param name="dataList"></param> /// <param name="lstData"></param> private static void SetGridFileToListView(List <BsonDocument> dataList, ListView lstData) { lstData.Clear(); if (!GuiConfig.IsUseDefaultLanguage) { lstData.Columns.Add(GuiConfig.GetText(TextType.GfsFilename)); lstData.Columns.Add(GuiConfig.GetText(TextType.GfsLength)); lstData.Columns.Add( GuiConfig.GetText(TextType.GfsChunkSize)); lstData.Columns.Add( GuiConfig.GetText(TextType.GfsUploadDate)); lstData.Columns.Add(GuiConfig.GetText(TextType.GfsMd5)); //!MONO lstData.Columns.Add("ContentType"); } else { lstData.Columns.Add("filename"); lstData.Columns.Add("length"); lstData.Columns.Add("chunkSize"); lstData.Columns.Add("uploadDate"); lstData.Columns.Add("MD5"); //!MONO lstData.Columns.Add("ContentType"); } lstData.SmallImageList = GetSystemIcon.IconImagelist; lstData.LargeImageList = GetSystemIcon.IconImagelist; lstData.TileSize = new Size(200, 100); foreach (var docFile in dataList) { var filename = docFile.GetValue("filename").ToString(); var lstItem = new ListViewItem(); lstItem.ImageIndex = GetSystemIcon.GetIconIndexByFileName(filename, false); lstItem.Text = filename; lstItem.ToolTipText = filename; lstItem.SubItems.Add(MongoHelper.GetBsonSize(docFile.GetValue("length"))); lstItem.SubItems.Add(MongoHelper.GetBsonSize(docFile.GetValue("chunkSize"))); lstItem.SubItems.Add(ConvertToString(docFile.GetValue("uploadDate"))); lstItem.SubItems.Add(ConvertToString(docFile.GetValue("md5"))); //!MONO lstItem.SubItems.Add(GetSystemIcon.GetContentType(filename)); lstData.Items.Add(lstItem); } //自动调节列宽 UIAssistant.ListViewColumnResize(lstData); // 用新的排序方法对ListView排序 var lvwGfsColumnSorter = new LvwColumnSorter(); lstData.ListViewItemSorter = lvwGfsColumnSorter; lstData.ColumnClick += (sender, e) => { switch (e.Column) { case 1: case 2: lvwGfsColumnSorter.CompareMethod = LvwColumnSorter.SortMethod.SizeCompare; break; default: lvwGfsColumnSorter.CompareMethod = LvwColumnSorter.SortMethod.StringCompare; break; } // 检查点击的列是不是现在的排序列. if (e.Column == lvwGfsColumnSorter.SortColumn) { // 重新设置此列的排序方法. lvwGfsColumnSorter.Order = lvwGfsColumnSorter.Order == SortOrder.Ascending ? SortOrder.Descending : SortOrder.Ascending; } else { // 设置排序列,默认为正向排序 lvwGfsColumnSorter.SortColumn = e.Column; lvwGfsColumnSorter.Order = SortOrder.Ascending; } lstData.Sort(); }; }
/// <summary> /// 将数据库放入Node /// </summary> /// <param name="strDbName"></param> /// <param name="mongoSvrKey"></param> /// <param name="client"></param> /// <returns></returns> public static TreeNode FillDataBaseInfoToTreeNode(string strDbName, string mongoSvrKey, MongoClient client = null) { var strShowDbName = strDbName; switch (strDbName) { case ConstMgr.DatabaseNameAdmin: strShowDbName = GuiConfig.GetText("admin", "databasename.admin") + "(" + strDbName + ")"; break; case "local": strShowDbName = GuiConfig.GetText("local", "databasename.local") + "(" + strDbName + ")"; break; case "config": strShowDbName = GuiConfig.GetText("config", "databasename.config") + "(" + strDbName + ")"; break; } var mongoDbNode = new TreeNode(strShowDbName); mongoDbNode.Tag = TagInfo.CreateTagInfo(mongoSvrKey, strDbName); //User Node var userNode = new TreeNode(GuiConfig.GetText("Users", "collectionName.system.users"), (int)GetSystemIcon.MainTreeImageType.UserIcon, (int)GetSystemIcon.MainTreeImageType.UserIcon); userNode.Tag = ConstMgr.UserListTag + ":" + mongoSvrKey + "/" + strDbName + "/" + ConstMgr.CollectionNameUsers; if (client.GetServer().GetDatabase(strDbName).CollectionExists(ConstMgr.CollectionNameUsers)) { var usercol = ConnectionInfo.GetICollection(client, strDbName, ConstMgr.CollectionNameUsers); long colCount = ConnectionInfo.GetCollectionCnt(usercol); userNode.Text += "(" + colCount + ")"; } mongoDbNode.Nodes.Add(userNode); var roleNode = new TreeNode(GuiConfig.GetText("Roles", "collectionName.system.roles"), (int)GetSystemIcon.MainTreeImageType.UserIcon, (int)GetSystemIcon.MainTreeImageType.UserIcon); roleNode.Tag = ConstMgr.RoleListTag + ":" + mongoSvrKey + "/" + strDbName + "/" + ConstMgr.CollectionNameRoles; if (client.GetServer().GetDatabase(strDbName).CollectionExists(ConstMgr.CollectionNameRoles)) { var rolescol = ConnectionInfo.GetICollection(client, strDbName, ConstMgr.CollectionNameRoles); long colCount = ConnectionInfo.GetCollectionCnt(rolescol); roleNode.Text += "(" + colCount + ")"; } mongoDbNode.Nodes.Add(roleNode); //JsNode var jsNode = new TreeNode(GuiConfig.GetText("Javascript", "collectionName.system.Javascript"), (int)GetSystemIcon.MainTreeImageType.JavaScriptList, (int)GetSystemIcon.MainTreeImageType.JavaScriptList); jsNode.Tag = ConstMgr.JavascriptTag + ":" + mongoSvrKey + "/" + strDbName + "/" + ConstMgr.CollectionNameJavascript; mongoDbNode.Nodes.Add(jsNode); //GFS Node var gfsNode = new TreeNode(GuiConfig.GetText("Grid File System"), (int)GetSystemIcon.MainTreeImageType.Gfs, (int)GetSystemIcon.MainTreeImageType.Gfs); gfsNode.Tag = ConstMgr.GridFileSystemTag + ":" + mongoSvrKey + "/" + strDbName + "/" + ConstMgr.CollectionNameGfsFiles; if (client.GetServer().GetDatabase(strDbName).CollectionExists(ConstMgr.CollectionNameGfsFiles)) { var gfscol = ConnectionInfo.GetICollection(client, strDbName, ConstMgr.CollectionNameGfsFiles); long colCount = ConnectionInfo.GetCollectionCnt(gfscol); gfsNode.Text += "(" + colCount + ")"; } mongoDbNode.Nodes.Add(gfsNode); var mongoSysColListNode = new TreeNode("Collections(System)", (int)GetSystemIcon.MainTreeImageType.SystemCol, (int)GetSystemIcon.MainTreeImageType.SystemCol); mongoSysColListNode.Tag = ConstMgr.SystemCollectionListTag + ":" + mongoSvrKey + "/" + strDbName; mongoDbNode.Nodes.Add(mongoSysColListNode); var mongoColListNode = new TreeNode("Collections(General)", (int)GetSystemIcon.MainTreeImageType.CollectionList, (int)GetSystemIcon.MainTreeImageType.CollectionList); mongoColListNode.Tag = ConstMgr.CollectionListTag + ":" + mongoSvrKey + "/" + strDbName; var colNameList = ConnectionInfo.GetCollectionInfoList(client, strDbName); //Collection按照名称排序 colNameList.Sort((x, y) => { return(x.GetElement("name").Value.ToString().CompareTo(y.GetElement("name").Value.ToString())); }); var viewlist = ConnectionInfo.GetViewInfoList(client, strDbName); foreach (var colDoc in colNameList) { var strColName = colDoc.GetElement("name").Value.ToString(); if (viewlist.Contains(strDbName + "." + strColName)) { continue; } switch (strColName) { case ConstMgr.CollectionNameSystemViews: //视图 TreeNode mongoViewNode; var ViewCol = ConnectionInfo.GetICollection(client, strDbName, strColName); mongoViewNode = FillViewInfoToTreeNode(ViewCol, ConstMgr.ViewTag + ":" + mongoSvrKey + "/" + strDbName + "/"); mongoViewNode.Tag = ConstMgr.ViewListTag + ":" + mongoSvrKey + "/" + strDbName; mongoDbNode.Nodes.Add(mongoViewNode); break; case ConstMgr.CollectionNameUsers: case ConstMgr.CollectionNameRoles: break; case ConstMgr.CollectionNameJavascript: FillJavaScriptInfoToTreeNode(jsNode, ConnectionInfo.GetICollection(client, strDbName, strColName), mongoSvrKey, strDbName); break; case ConstMgr.CollectionNameGfsChunks: case ConstMgr.CollectionNameGfsFiles: var gfscol = ConnectionInfo.GetICollection(client, strDbName, strColName); gfsNode.Nodes.Add(FillCollectionInfoToTreeNode(gfscol, mongoSvrKey)); break; default: TreeNode mongoColNode; try { var col = ConnectionInfo.GetICollection(client, strDbName, strColName); mongoColNode = FillCollectionInfoToTreeNode(col, mongoSvrKey); } catch (Exception ex) { mongoColNode = new TreeNode(strColName + "[exception:]"); mongoColNode.ImageIndex = (int)GetSystemIcon.MainTreeImageType.Err; mongoColNode.SelectedImageIndex = (int)GetSystemIcon.MainTreeImageType.Err; Utility.ExceptionDeal(ex); } if (Operater.IsSystemCollection(strDbName, strColName)) { mongoSysColListNode.Nodes.Add(mongoColNode); } else { mongoColListNode.Nodes.Add(mongoColNode); } break; } } mongoDbNode.Nodes.Add(mongoColListNode); mongoDbNode.ImageIndex = (int)GetSystemIcon.MainTreeImageType.Database; mongoDbNode.SelectedImageIndex = (int)GetSystemIcon.MainTreeImageType.Database; return(mongoDbNode); }
/// <summary> /// Load /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void frmUser_Load(object sender, EventArgs e) { if (_modifyName != string.Empty) { Text = "Change User Config"; txtUserName.Enabled = false; txtUserName.Text = _modifyName; var userInfo = RuntimeMongoDbContext.GetCurrentDataBase().GetCollection(ConstMgr.CollectionNameUsers) .FindOneAs <BsonDocument>(Query.EQ("user", _modifyName)); BsonElement role; if (userInfo.TryGetElement("roles", out role)) { var roles = role.Value.AsBsonArray; foreach (var _role in roles) { if (_role.IsBsonDocument) { _roleList.Add(new Role.GrantRole() { Role = _role.AsBsonDocument.GetElement("role").Value.ToString(), Db = _role.AsBsonDocument.GetElement("db").Value.ToString() }); } else { _roleList.Add(new Role.GrantRole() { Role = _role.ToString(), }); } } } RefreshRoles(); BsonElement custom; if (userInfo.TryGetElement("customData", out custom)) { customData = custom.Value.AsBsonDocument; lblcustomDocument.Text = "Custom Document:" + customData.ToString(); } } GuiConfig.Translateform(this); if (!GuiConfig.IsUseDefaultLanguage) { if (_modifyName == string.Empty) { if (!GuiConfig.IsMono) { Icon = GetSystemIcon.ConvertImgToIcon(Resources.AddUserToDB); } Text = GuiConfig.GetText(_isAdmin ? "MainMenu.OperationServerAddUserToAdmin" : "MainMenu.OperationDatabaseAddUser"); } else { if (!GuiConfig.IsMono) { Icon = GetSystemIcon.ConvertImgToIcon(Resources.DBkey); } Text = GuiConfig.GetText("CommonChangePassword"); } } }
public FrmServerMonitor() { InitializeComponent(); GuiConfig.Translateform(this); }