예제 #1
0
        /// <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);
                }
            }
        }
예제 #2
0
 /// <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);
 }