private void btnAdd_Click(object sender, EventArgs e)
        {
            SinhVien sinhvien = new SinhVien();

            if (txtIDSV.Text.Trim().Length <= 0)
            {
                this.error.SetError(txtIDSV, "Hãy nhập mã sinh viên!!!");
                return;
            }
            else if (SinhVienController.getsv(txtIDSV.Text.Trim()) != null)
            {
                this.error.SetError(txtIDSV, "ID đã tồn tại!!!");
                return;
            }
            this.error.Clear();
            if (txtTenSV.Text.Trim().Length <= 0)
            {
                this.error.SetError(txtTenSV, "Hãy nhập tên của sinh viên!!!");
                return;
            }
            this.error.Clear();
            if (rbNam.Checked == false && rbNu.Checked == false)
            {
                this.error.SetError(rbNu, "Hãy chọn giới tính cho sinh viên!!!");
                return;
            }
            this.error.Clear();
            DateTime bd  = dtpNgaySinh.Value;
            int      y   = bd.Year;
            int      old = DateTime.Now.Year - y;

            if (old < 18)
            {
                this.error.SetError(dtpNgaySinh, "Sinh viên phải lớn hơn 18 tuổi!!!");
                return;
            }
            this.error.Clear();

            if (cbbLop.Text.Trim().Length <= 0)
            {
                this.error.SetError(cbbLop, "Hãy nhập lớp của sinh viên!!!");
                return;
            }
            this.error.Clear();
            if (cbbKhoa.Text.Trim().Length <= 0)
            {
                this.error.SetError(cbbKhoa, "Hãy nhập Khoa của giảng viên!!!");
                return;
            }
            this.error.Clear();
            if (txtDiaChi.Text.Trim().Length <= 0)
            {
                this.error.SetError(txtDiaChi, "Hãy nhập địa chỉ của sinh viên!!!");
                return;
            }
            this.error.Clear();
            if (txtSDT.Text.Trim().Length <= 0)
            {
                this.error.SetError(txtSDT, "Hãy nhập số điện thoại của sinh viên!!!");
                return;
            }
            else
            {
                this.error.Clear();
                string phone = txtSDT.Text.ToString();
                foreach (char c in phone)
                {
                    if (!Char.IsDigit(c))
                    {
                        this.error.SetError(txtSDT, "Số điện thoại không chứa chữ cái!!!");
                        return;
                    }
                }
            }
            this.error.Clear();
            var num = (from u in sv.DeTais
                       where u.ID == cbbDetai.SelectedValue.ToString()
                       select u.SoLuongSinhVien).FirstOrDefault();
            var num1 = from t in sv.SinhViens
                       where t.DeTai == cbbDetai.SelectedValue.ToString()
                       select t.DeTai;
            int b = num1.Count();

            if (cbbDetai.Text.Trim().Length <= 0)
            {
                this.error.SetError(cbbDetai, "Hãy nhập đề tài cho sinh viên!!!");
                return;
            }
            else if (b == num)
            {
                this.error.SetError(cbbDetai, "Đề tài này đã đủ số lượng sinh viên đăng ký!!!");
                return;
            }
            this.error.Clear();
            sinhvien.ID  = this.txtIDSV.Text.Trim();
            sinhvien.Ten = this.txtTenSV.Text.Trim();
            if (rbNam.Checked == true)
            {
                sinhvien.GioiTinh = true;
            }
            else
            {
                sinhvien.GioiTinh = false;
            }

            sinhvien.NgaySinh = this.dtpNgaySinh.Value.Date;
            sinhvien.Lop      = this.cbbLop.SelectedValue.ToString();
            sinhvien.khoa     = this.cbbKhoa.SelectedValue.ToString();
            sinhvien.DiaChi   = this.txtDiaChi.Text.Trim();
            sinhvien.DiaChi   = this.txtDiaChi.Text.Trim();
            sinhvien.Sdt      = this.txtSDT.Text.Trim();
            sinhvien.DeTai    = this.cbbDetai.SelectedValue.ToString();
            if (SinhVienController.addsinhvien(sinhvien) == false)
            {
                MessageBox.Show("thêm thất bại");
            }
            Load_data();
            clean();
        }