/// <summary> /// 初始化(修改) /// </summary> /// <param name="connectionName"></param> public FrmConnectionMgr(string connectionName) { InitializeComponent(); foreach (var item in Enum.GetValues(typeof(EnumMgr.StorageEngineType))) { cmbStorageEngine.Items.Add(item); cmbStorageEngine.SelectedIndex = 0; } OldConnectionName = connectionName; //Modify Mode ModifyConn = MongoConnectionConfig.MongoConfig.ConnectionList[connectionName]; UiBinding.TryUpdateForm(ModifyConn, Controls); if (ModifyConn.AuthMechanism == ConstMgr.MONGODB_CR) { radMONGODB_CR.Checked = true; } if (ModifyConn.AuthMechanism == ConstMgr.MONGODB_X509) { radMONGODB_X509.Checked = true; } if (ModifyConn.AuthMechanism == ConstMgr.SCRAM_SHA_1) { radSCRAM_SHA_1.Checked = true; } foreach (var item in ModifyConn.ReplsetList) { lstHost.Items.Add(item); } cmbStorageEngine.SelectedIndex = ModifyConn.StorageEngine == EnumMgr.StorageEngineType.MmaPv1 ? 0 : 1; cmdAdd.Text = GuiConfig.IsUseDefaultLanguage ? "Modify" : GuiConfig.GetText("Common.Modify"); }
/// <summary> /// 新建连接 /// </summary> private void CreateConnection() { //更新数据模型 UiBinding.TryUpdateModel(ModifyConn, Controls); //感谢 呆呆 的Bug 报告,不论txtConnectionString.Text是否存在都进行赋值,防止删除字符后,值还是保留的BUG ModifyConn.ConnectionString = txtConnectionString.Text; if (txtConnectionString.Text != string.Empty) { var strException = MongoHelper.FillConfigWithConnectionString(ref ModifyConn); if (strException != string.Empty) { MyMessageBox.ShowMessage("Url Exception", "Url Formation,please check it", strException); } } else { //仅有用户名或密码 if (txtUsername.Text != string.Empty && txtPassword.Text == string.Empty) { MessageBox.Show("Please Input Password"); return; } if (txtUsername.Text == string.Empty && txtPassword.Text != string.Empty) { MessageBox.Show("Please Input UserName"); return; } //数据库名称存在,则必须输入用户名和密码 if (txtDataBaseName.Text != string.Empty) { //用户名或者密码为空 if (txtUsername.Text == string.Empty || txtPassword.Text == string.Empty) { MessageBox.Show("Please Input UserName or Password"); return; } } if (ModifyConn.IsUseDefaultSetting) { ModifyConn.WtimeoutMs = MongoConnectionConfig.MongoConfig.WtimeoutMs; ModifyConn.WaitQueueSize = MongoConnectionConfig.MongoConfig.WaitQueueSize; ModifyConn.WriteConcern = MongoConnectionConfig.MongoConfig.WriteConcern; ModifyConn.ReadPreference = MongoConnectionConfig.MongoConfig.ReadPreference; } ModifyConn.ReplsetList = new List <string>(); if (cmbStorageEngine.SelectedIndex == 0) { ModifyConn.StorageEngine = EnumMgr.StorageEngineType.MmaPv1; } else { ModifyConn.StorageEngine = EnumMgr.StorageEngineType.WiredTiger; } foreach (string item in lstHost.Items) { ModifyConn.ReplsetList.Add(item); } } }
/// <summary> /// 初始化(修改) /// </summary> /// <param name="connectionName"></param> public FrmConnectionMgr(string connectionName) { InitializeComponent(); foreach (var item in Enum.GetValues(typeof(EnumMgr.StorageEngineType))) { cmbStorageEngine.Items.Add(item); cmbStorageEngine.SelectedIndex = 0; } OldConnectionName = connectionName; //Modify Mode ModifyConn = MongoConnectionConfig.MongoConfig.ConnectionList[connectionName]; UiBinding.TryUpdateForm(ModifyConn, Controls); foreach (var item in ModifyConn.ReplsetList) { lstHost.Items.Add(item); } cmbStorageEngine.SelectedIndex = ModifyConn.StorageEngine == EnumMgr.StorageEngineType.MmaPv1 ? 0 : 1; cmdAdd.Text = GuiConfig.IsUseDefaultLanguage ? "Modify" : GuiConfig.GetText(TextType.CommonModify); }
/// <summary> /// 新建连接 /// </summary> private bool CreateConnection() { //更新数据模型 UiBinding.TryUpdateModel(ModifyConn, Controls); if (radMONGODB_CR.Checked) { ModifyConn.AuthMechanism = ConstMgr.MONGODB_CR; } if (radMONGODB_X509.Checked) { ModifyConn.AuthMechanism = ConstMgr.MONGODB_X509; } if (radSCRAM_SHA_1.Checked) { ModifyConn.AuthMechanism = ConstMgr.SCRAM_SHA_1; } //感谢 呆呆 的Bug 报告,不论txtConnectionString.Text是否存在都进行赋值,防止删除字符后,值还是保留的BUG ModifyConn.ConnectionString = txtConnectionString.Text; if (txtConnectionString.Text != string.Empty) { var strException = MongoHelper.FillConfigWithConnectionString(ref ModifyConn); if (strException != string.Empty) { MyMessageBox.ShowMessage("Url Exception", "Url Formation,please check it", strException); return(false); } } else { if (!string.IsNullOrEmpty(txtUsername.Text) && string.IsNullOrEmpty(txtPassword.Text) && !chkInputPasswordOnConnect.Checked) { //仅有用户名,没有密码,也没有设置为连接时输入 MessageBox.Show("Please Input Password"); return(false); } if (string.IsNullOrEmpty(txtUsername.Text) && !string.IsNullOrEmpty(txtPassword.Text)) { //仅有密码 MessageBox.Show("Please Input UserName"); return(false); } //清空密码,不论是否输入 if (chkInputPasswordOnConnect.Checked) { ModifyConn.Password = string.Empty; } //数据库名称存在,则必须输入用户名和密码 if (!string.IsNullOrEmpty(txtDataBaseName.Text)) { //用户名为空或者(密码为空且不是连接时输入) if (string.IsNullOrEmpty(txtUsername.Text) || (string.IsNullOrEmpty(txtPassword.Text) && !chkInputPasswordOnConnect.Checked)) { MessageBox.Show("Please Input UserName or Password"); return(false); } } if (ModifyConn.IsUseDefaultSetting) { ModifyConn.WtimeoutMs = MongoConnectionConfig.MongoConfig.WtimeoutMs; ModifyConn.WaitQueueSize = MongoConnectionConfig.MongoConfig.WaitQueueSize; ModifyConn.WriteConcern = MongoConnectionConfig.MongoConfig.WriteConcern; ModifyConn.ReadPreference = MongoConnectionConfig.MongoConfig.ReadPreference; } ModifyConn.ReplsetList = new List <string>(); if (cmbStorageEngine.SelectedIndex == 0) { ModifyConn.StorageEngine = EnumMgr.StorageEngineType.MmaPv1; } else { ModifyConn.StorageEngine = EnumMgr.StorageEngineType.WiredTiger; } foreach (string item in lstHost.Items) { ModifyConn.ReplsetList.Add(item); } } return(true); }