/// <summary>
 /// 添加项目库
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnAddProjectVault_Click(object sender, EventArgs e)
 {
     #region 数据验证
     if (txtVaultName.Text.Trim().Length == 0)
     {
         MessageBox.Show("请输入项目库名称", "验证信息");
         txtVaultName.Focus();
         return;
     }
     #endregion
     //封装对象
     ProjectVault objProjectVault = new ProjectVault()
     {
         VaultName = txtVaultName.Text.Trim()
     };
     //提交添加
     try
     {
         int vaultId = objProjectVaultService.AddProjectVault(objProjectVault);
         if (vaultId > 1)
         {
             //提示添加成功
             MessageBox.Show("项目库添加成功", "提示信息");
             //刷新显示
             dgvProjectVaults.DataSource = objProjectVaultService.GetAllProjectVaults();
             //清空内容
             txtVaultName.Text = "";
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
        /// <summary>
        /// 添加项目库
        /// </summary>
        /// <param name="objProjectVault"></param>
        /// <returns></returns>
        public int AddProjectVault(ProjectVault objProjectVault)
        {
            string sql = "insert into ProjectVaults (VaultName) values('{0}');select @@identity";

            sql = string.Format(sql, objProjectVault.VaultName);
            try
            {
                return(Convert.ToInt32(SQLHelper.GetSingleResult(sql)));
            }
            catch (SqlException ex)
            {
                if (ex.Number == 2627)
                {
                    throw new Exception("库名称重复,不能添加重复的项目库");
                }
                else
                {
                    throw new Exception("添加项目库时数据库访问异常" + ex.Message);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 修改项目库
        /// </summary>
        /// <param name="objProjectVault"></param>
        /// <returns></returns>
        public int EditProjectValult(ProjectVault objProjectVault)
        {
            string sql = "update ProjectVaults set VaultName='{0}' where VaultId={1}";

            sql = string.Format(sql, objProjectVault.VaultName, objProjectVault.VaultId);
            try
            {
                return(SQLHelper.Update(sql));
            }
            catch (SqlException ex)
            {
                throw new Exception("数据库操作出现异常:" + ex.Message);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// 根据项目库Id返回项目库对象
        /// </summary>
        /// <param name="vaultId"></param>
        /// <returns></returns>
        public ProjectVault GetProjectVaultById(string vaultId)
        {
            string sql = "select VaultId,VaultName from ProjectVaults";

            sql += string.Format(" where VaultId={0}", vaultId);
            SqlDataReader objReader       = SQLHelper.GetReader(sql);
            ProjectVault  objProjectVault = null;

            if (objReader.Read())
            {
                objProjectVault = new ProjectVault()
                {
                    VaultId   = Convert.ToInt32(objReader["VaultId"]),
                    VaultName = objReader["VaultName"].ToString()
                };
            }
            objReader.Close();
            return(objProjectVault);
        }
        /// <summary>
        /// 修改项目库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsmiEditProjectValut_Click(object sender, EventArgs e)
        {
            btnAddProjectVault.Visible  = false;
            btnEditProjectVault.Visible = true;

            if (dgvProjectVaults.RowCount == 0)
            {
                return;
            }
            if (dgvProjectVaults.CurrentRow == null)
            {
                MessageBox.Show("请选中需要修改的项目库名称", "提示信息");
                return;
            }
            string       vaultId         = dgvProjectVaults.CurrentRow.Cells["VaultId"].Value.ToString();
            ProjectVault objProjectVault = objProjectVaultService.GetProjectVaultById(vaultId);

            //初始化修改信息
            txtVaultId.Text   = objProjectVault.VaultId.ToString();
            txtVaultName.Text = objProjectVault.VaultName;
        }
 /// <summary>
 /// 提交修改项目库
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnEditProjectVault_Click(object sender, EventArgs e)
 {
     #region 数据验证
     if (txtVaultName.Text.Trim().Length == 0)
     {
         MessageBox.Show("项目库名称不能为空", "验证信息");
         txtVaultName.Focus();
         return;
     }
     #endregion
     //封装项目跟踪对象
     ProjectVault objProjectVault = new ProjectVault()
     {
         VaultId   = Convert.ToInt32(txtVaultId.Text.Trim()),
         VaultName = txtVaultName.Text.Trim()
     };
     //调用后台方法修改对象
     try
     {
         if (objProjectVaultService.EditProjectValult(objProjectVault) == 1)
         {
             MessageBox.Show("修改项目库名称成功!", "提示信息");
             //刷新内容
             dgvProjectVaults.DataSource = objProjectVaultService.GetAllProjectVaults();
             //清空内容
             txtVaultId.Text   = "";
             txtVaultName.Text = "";
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     btnAddProjectVault.Visible  = true;
     btnEditProjectVault.Visible = false;
 }