/// <summary>
 /// 添加一个用户
 /// 返回 true 表示成功
 /// 返回 false 表示该数据已存在
 /// </summary>
 /// <param name="_user"></param>
 /// <returns></returns>
 public bool AddData(Renting_Management_System.Models.UserMod _user)
 {
     user = new Renting_Management_System.Models.UserMod();
     user = SelectByID(_user.UserID);
     if (user == null)
     {
         StringBuilder insertStr = new StringBuilder();
         insertStr.Append("Insert Into [User] ");
         insertStr.Append("(用户编号,用户名称,性别,出生日期,用户密码,用户类代码,证件类代码,证件号码,联系方式,用户地址,用户描述,用户拒绝)");
         insertStr.Append(" Values ('");
         insertStr.Append(_user.UserID + "','");
         insertStr.Append(_user.UserName + "','");
         insertStr.Append(_user.Sex + "','");
         insertStr.Append(_user.BirthDate.Date.ToShortDateString()+ "','");
         insertStr.Append(_user.UserPassword + "','");
         insertStr.Append(_user.UserTypeCode + "','");
         insertStr.Append(_user.CertificateTypeCode + "','");
         insertStr.Append(_user.CertificateNumber + "','");
         insertStr.Append(_user.UserContact + "','");
         insertStr.Append(_user.UserAddress + "','");
         insertStr.Append(_user.UserDescription + "','");
         insertStr.Append(_user.UserDeny.ToString());
         insertStr.Append("')");
         da = new DBConnection();
         da.InsertQuery(insertStr.ToString());
         return true;
     }
     else
     { return false; }
 }
        /// <summary>
        /// 登录之后,获取一个用户名称
        /// </summary>
        /// <returns></returns>
        public string GetUserName()
        {
            userDAL = new Renting_Management_System.DAL.UserDAL();
            user = new Renting_Management_System.Models.UserMod();

            user = userDAL.SelectByID(userID);
            return user.UserName;
        }
 /// <summary>
 /// 登录系统,返回 true 表示正确
 /// </summary>
 /// <param name="_user"></param>
 /// <returns></returns>
 public bool Login(Renting_Management_System.Models.UserMod _user)
 {
     Renting_Management_System.Models.UserMod user = new Renting_Management_System.Models.UserMod();
     Renting_Management_System.DAL.UserDAL userDAL = new Renting_Management_System.DAL.UserDAL();
     user = userDAL.SelectByID(_user.UserID);
     if (user != null)
     {
         if (user.UserPassword == _user.UserPassword && user.UserTypeCode == _user.UserTypeCode)
         {
             return true;
         }
         else
         { return false; }
     }
     else
     { return false; }
 }
 /// <summary>
 /// 删除一个用户
 /// 返回 true 表示删除成功
 /// 返回 false 表示数据不存在
 /// </summary>
 /// <param name="_userID"></param>
 /// <returns></returns>
 public bool DeleteData(string _userID)
 {
     user = new Renting_Management_System.Models.UserMod();
     user = SelectByID(_userID);
     if (user != null)
     {
         StringBuilder deleteStr = new StringBuilder();
         deleteStr.Append("Delete From [User]");
         deleteStr.Append("Where 用户编号 = '");
         deleteStr.Append(_userID);
         deleteStr.Append("'");
         da = new DBConnection();
         da.DeleteQuery(deleteStr.ToString());
         return true;
     }
     else
     { return false; }
 }
        /// <summary>
        /// 查找按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button_Check_Click(object sender, EventArgs e)
        {
            userMod = new Renting_Management_System.Models.UserMod();
            userDAL = new Renting_Management_System.DAL.UserDAL();

            if (textBox_UserID.Text != "")
                userMod = userDAL.SelectByID(textBox_UserID.Text.Trim());
            else
                userMod = userDAL.SelectByName(textBox_UserName.Text.Trim());
            if (userMod == null)
            {
                MessageBox.Show("该用户的编号或名称不存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else
            {
                textBox_UserID.Text = userMod.UserID;
                textBox_UserName.Text = userMod.UserName;
                textBox_UserPassword01.Text = userMod.UserPassword;
                textBox_UserPassword02.Text = userMod.UserPassword;
                comboBox_UserType.SelectedValue = userMod.UserTypeCode;
                if (userMod.UserDeny)
                    radioButton_DenyYes.Checked = true;
                else
                    radioButton_DenyNo.Checked = true;
                dateTimePicker_BirthDate.Text = userMod.BirthDate.ToLongDateString();
                if (userMod.Sex == 'F')
                    radioButton_SexGirl.Checked = true;
                else
                    radioButton_SexBoy.Checked = true;
                comboBox_CertificateType.SelectedValue = userMod.CertificateTypeCode;
                textBox_CertificateNumber.Text = userMod.CertificateNumber;
                textBox_Contact.Text = userMod.UserContact;
                textBox_UserAddress.Text = userMod.UserAddress;
                textBox_UserDescription.Text = userMod.UserDescription;
                textBox_UserID.Enabled = false;
                button_Delete.Enabled = true;
                button_Modify.Enabled = true;
                button_Check.Enabled = false;
            }
        }
        /// <summary>
        /// 登录按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Loginbutton_Click(object sender, EventArgs e)
        {
            bool yes;
            user = new Renting_Management_System.Models.UserMod();
            user.UserID = UserIDtextBox.Text;
            user.UserPassword = UserPasswordtextBox.Text;
            if (UserTypecomboBox.SelectedValue == null)
            {
                UserTypecomboBox.SelectedIndex = 0;
            }
            user.UserTypeCode = UserTypecomboBox.SelectedValue.ToString();

            userID = UserIDtextBox.Text.Trim();
            userTypeName = UserTypecomboBox.Text;

            form = new Renting_Management_System.BLL.FormBLL();
            yes = form.Login(user);
            if (yes)
            {
                if(form.Deny(user))
                {
                    MessageBox.Show("用户已被拒绝,请跟管理员联系!");
                    return;
                }
                else
                {
                    form.OpenForm(user.UserTypeCode);
                    this.Hide();
                }
            }
            else
            {
                MessageBox.Show("用户编号、用户密码有误,请重试!");
                return;
            }
        }
        private void button_Add_Click(object sender, EventArgs e)
        {
            if (textBox_UserID.Text == "" || textBox_UserName.Text == "" || textBox_UserPassword01.Text == "" || textBox_UserPassword02.Text == "")
            {
                MessageBox.Show("用户登录信息区有些不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else if (textBox_UserPassword01.Text != textBox_UserPassword02.Text)
            {
                MessageBox.Show("再次输入密码不正确,请重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else
            {
                userDAL = new Renting_Management_System.DAL.UserDAL();
                userMod = new Renting_Management_System.Models.UserMod();

                userMod.UserID = textBox_UserID.Text.Trim();
                userMod.UserName = textBox_UserName.Text.Trim();
                userMod.UserPassword = textBox_UserPassword01.Text.Trim();
                if (comboBox_UserType.SelectedValue == null)
                {
                    comboBox_UserType.SelectedIndex = 0;
                }
                userMod.UserTypeCode = comboBox_UserType.SelectedValue.ToString().Trim();
                if (radioButton_DenyNo.Checked)
                {
                    userMod.UserDeny = false;
                }
                else
                {
                    userMod.UserDeny = true;
                }
                userMod.BirthDate = dateTimePicker_BirthDate.Value;
                if (radioButton_SexGirl.Checked)
                {
                    userMod.Sex = 'F';
                }
                else
                {
                    userMod.Sex = 'M';
                }
                if (comboBox_CertificateType.SelectedValue == null)
                {
                    comboBox_CertificateType.SelectedIndex = 0;
                }
                userMod.CertificateTypeCode = comboBox_CertificateType.SelectedValue.ToString().Trim();
                userMod.CertificateNumber = textBox_CertificateNumber.Text.Trim();
                userMod.UserContact = textBox_Contact.Text.Trim();
                userMod.UserAddress = textBox_UserAddress.Text.Trim();
                userMod.UserDescription = textBox_UserDescription.Text.Trim();
                if (userDAL.AddData(userMod))
                {
                    MessageBox.Show("添加用户成功!", "", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    textBox_UserID.Clear();
                    textBox_UserName.Clear();
                    textBox_UserPassword01.Clear();
                    textBox_UserPassword02.Clear();
                    textBox_UserDescription.Clear();
                    textBox_UserAddress.Clear();
                    textBox_Contact.Clear();
                    textBox_CertificateNumber.Clear();
                    comboBox_CertificateType.SelectedIndex = -1;
                    comboBox_UserType.SelectedIndex = -1;
                    dateTimePicker_BirthDate.Value = DateTimePicker.MinimumDateTime;
                    radioButton_DenyNo.Checked = false;
                    radioButton_DenyYes.Checked = false;
                    radioButton_SexBoy.Checked = false;
                    radioButton_SexGirl.Checked = false;
                    button_Add.Enabled = false;
                    return;
                }
                else
                {
                    MessageBox.Show("该编号已存在,请重试!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
            }
        }
        /// <summary>
        /// 修改用户按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button_Modify_Click(object sender, EventArgs e)
        {
            userDAL = new Renting_Management_System.DAL.UserDAL();
            userMod = new Renting_Management_System.Models.UserMod();

            userMod.UserID = textBox_UserID.Text.Trim();
            userMod.UserName = textBox_UserName.Text.Trim();
            userMod.UserPassword = textBox_UserPassword01.Text.Trim();
            if (comboBox_UserType.SelectedValue == null)
            {
                comboBox_UserType.SelectedIndex = 0;
            }
            userMod.UserTypeCode = comboBox_UserType.SelectedValue.ToString().Trim();
            if (radioButton_DenyNo.Checked)
            {
                userMod.UserDeny = false;
            }
            else
            {
                userMod.UserDeny = true;
            }
            userMod.BirthDate = DateTime.Parse(dateTimePicker_BirthDate.Value.ToShortDateString());
            if (radioButton_SexGirl.Checked)
            {
                userMod.Sex = 'F';
            }
            else
            {
                userMod.Sex = 'M';
            }
            if (comboBox_CertificateType.SelectedValue == null)
            {
                comboBox_CertificateType.SelectedIndex = 0;
            }
            userMod.CertificateTypeCode = comboBox_CertificateType.SelectedValue.ToString().Trim();
            userMod.CertificateNumber = textBox_CertificateNumber.Text.Trim();
            userMod.UserContact = textBox_Contact.Text.Trim();
            userMod.UserAddress = textBox_UserAddress.Text.Trim();
            userMod.UserDescription = textBox_UserDescription.Text.Trim();
            if (userDAL.ModifyData(userMod))
            {
                textBox_UserID.Enabled = true;
                button_Check.Enabled = false;
                button_Delete.Enabled = false;
                button_Modify.Enabled = false;
                MessageBox.Show("修改用户成功!", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
        }
 /// <summary>
 /// 通过用户名称可以获取一个用户
 /// 返回null 表示没有改用户
 /// </summary>
 /// <param name="_userName"></param>
 /// <returns></returns>
 public Renting_Management_System.Models.UserMod SelectByName(string _userName)
 {
     StringBuilder selectStr = new StringBuilder();
     selectStr.Append("Select * From [User]");
     selectStr.Append("Where 用户名称 = '");
     selectStr.Append(_userName);
     selectStr.Append("'");
     da = new DBConnection();
     DataSet ds = new DataSet();
     ds = da.SelectQuery(selectStr.ToString());
     if (ds.Tables[0].Rows.Count == 0)
     { return null; }
     else
     {
         user = new Renting_Management_System.Models.UserMod();
         user.UserID = ds.Tables[0].Rows[0]["用户编号"].ToString().Trim();
         user.UserName = ds.Tables[0].Rows[0]["用户名称"].ToString().Trim();
         user.Sex = char.Parse(ds.Tables[0].Rows[0]["性别"].ToString().Trim());
         if (ds.Tables[0].Rows[0]["出生日期"].ToString().Trim() != "")
         {
             user.BirthDate = DateTime.Parse(ds.Tables[0].Rows[0]["出生日期"].ToString().Trim());
         }
         user.UserPassword = ds.Tables[0].Rows[0]["用户密码"].ToString().Trim();
         user.UserTypeCode = ds.Tables[0].Rows[0]["用户类代码"].ToString().Trim();
         user.CertificateTypeCode = ds.Tables[0].Rows[0]["证件类代码"].ToString().Trim();
         user.CertificateNumber = ds.Tables[0].Rows[0]["证件号码"].ToString().Trim();
         user.UserContact = ds.Tables[0].Rows[0]["联系方式"].ToString().Trim();
         user.UserAddress = ds.Tables[0].Rows[0]["用户地址"].ToString().Trim();
         user.UserDescription = ds.Tables[0].Rows[0]["用户描述"].ToString().Trim();
         if (ds.Tables[0].Rows[0]["用户拒绝"].ToString().Trim() != "")
         {
             user.UserDeny = bool.Parse(ds.Tables[0].Rows[0]["用户拒绝"].ToString().Trim());
         }
         return user;
     }
 }
 /// <summary>
 /// 修改一个用户
 /// 返回 true 表示成功,否则表示该用户信息不存在
 /// </summary>
 /// <param name="_user"></param>
 /// <returns></returns>
 public bool ModifyData(Renting_Management_System.Models.UserMod _user)
 {
     user = new Renting_Management_System.Models.UserMod();
     user = SelectByID(_user.UserID);
     if (user == null)
     { return false; }
     else
     {
         StringBuilder updateStr = new StringBuilder();
         updateStr.Append("Update [User] ");
         updateStr.Append("Set ");
         updateStr.Append("用户名称 = '");
         updateStr.Append(_user.UserName + "'");
         updateStr.Append(",性别 = '");
         updateStr.Append(_user.Sex + "'");
         updateStr.Append(",出生日期 = '");
         updateStr.Append(_user.BirthDate.ToShortDateString());
         updateStr.Append("',用户密码 = '");
         updateStr.Append(_user.UserPassword + "'");
         updateStr.Append(",用户类代码 = '");
         updateStr.Append(_user.UserTypeCode + "'");
         updateStr.Append(",证件类代码 = '");
         updateStr.Append(_user.CertificateTypeCode + "'");
         updateStr.Append(",证件号码 = '");
         updateStr.Append(_user.CertificateNumber + "'");
         updateStr.Append(",联系方式 = '");
         updateStr.Append(_user.UserContact + "'");
         updateStr.Append(",用户地址 = '");
         updateStr.Append(_user.UserAddress + "'");
         updateStr.Append(",用户描述 = '");
         updateStr.Append(_user.UserDescription + "'");
         updateStr.Append(",用户拒绝 = '");
         updateStr.Append(_user.UserDeny.ToString());
         updateStr.Append("'");
         updateStr.Append("Where 用户编号 = '");
         updateStr.Append(_user.UserID + "'");
         da = new DBConnection();
         da.UpdateQuery(updateStr.ToString());
         return true;
     }
 }