private void btnThemTN_Click(object sender, EventArgs e)
        {
            btnCapNhat.Enabled = false;
            bool            KiemTra  = false; // Chưa đủ dữ liệu
            clsThanNhan_DTO ThanNhan = new clsThanNhan_DTO();

            ThanNhan.MaNV = dgvNhanVien.CurrentRow.Cells["colMANV"].Value.ToString();
            if (txtHoTenTN.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập họ tên thân nhân", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                KiemTra = false;
            }
            else
            {
                ThanNhan.HoTenTN = txtHoTenTN.Text.Trim();
                KiemTra          = true;
            }
            if (txtNgheNghiepTN.Text.Trim() == "")
            {
                MessageBox.Show("Chưa nhập nghề nghiệp thân nhân", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                KiemTra = false;
            }
            else
            {
                KiemTra = true;
                ThanNhan.NgheNghiepTN = txtNgheNghiepTN.Text.Trim();
            }
            ThanNhan.NgaySinhTN = dtpNgaySinhTN.Value;
            ThanNhan.MoiQH      = Convert.ToInt32(cboMoiQH.SelectedValue);
            clsThanNhan_BUS BUSTN = new clsThanNhan_BUS();

            if (KiemTra)// Đã đủ dữ liệu
            {
                if (BUSTN.ThemThanNhan(ThanNhan))
                {
                    MessageBox.Show("Thêm thân nhân thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dgvThanNhan.DataSource = BUSTN.LayDanhSachThanNhan(ThanNhan.MaNV);
                    clsNhatKy_BUS   BUSNK     = new clsNhatKy_BUS();
                    clsNhanVien_BUS BUSNV     = new clsNhanVien_BUS();
                    int             SoLuongNV = BUSNV.LaySoLuongNhanVien();
                    BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Thêm thân nhân {0} cho nhân viên {1} có mã NV{2}", ThanNhan.HoTenTN, txtHoTenNV.Text, SoLuongNV));
                }
                else
                {
                    MessageBox.Show("Thêm thân nhân thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
 private void btnCapNhatTN_Click(object sender, EventArgs e)
 {
     try
     {
         bool            KiemTra  = false; // Dữ liệu chưa nhập đủ
         clsThanNhan_DTO ThanNhan = new clsThanNhan_DTO();
         ThanNhan.MaQHGD = Convert.ToInt32(dgvThanNhan.CurrentRow.Cells["colMaQHGD"].Value.ToString());
         ThanNhan.MaNV   = dgvNhanVien.CurrentRow.Cells["colMANV"].Value.ToString();
         if (txtHoTenTN.Text.Trim() == "" || txtNgheNghiepTN.Text.Trim() == "")
         {
             MessageBox.Show("Nhập đầy đủ thông tin", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             ThanNhan.HoTenTN      = txtHoTenTN.Text.Trim();
             ThanNhan.NgheNghiepTN = txtNgheNghiepTN.Text.Trim();
             KiemTra = true;
         }
         ThanNhan.NgaySinhTN = dtpNgaySinhTN.Value;
         ThanNhan.MoiQH      = Convert.ToInt32(cboMoiQH.SelectedValue);
         clsThanNhan_BUS BUSTN = new clsThanNhan_BUS();
         if (KiemTra) // Đã đủ dữ liệu
         {
             if (BUSTN.CapNhatThanNhan(ThanNhan))
             {
                 MessageBox.Show("Cập nhật thân nhân thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 dgvThanNhan.DataSource = BUSTN.LayDanhSachThanNhan(ThanNhan.MaNV);
                 clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
                 BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Cập nhật thân nhân {0} cho nhân viên {1} có mã {2}", ThanNhan.HoTenTN, txtHoTenNV.Text, ThanNhan.MaNV));
             }
             else
             {
                 MessageBox.Show("cập nhật thân nhân thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
             }
         }
     }
     catch (NullReferenceException ex)
     {
         MessageBox.Show("Vui lòng điền đầy đủ thông tin", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
 private void DocThongTinTuDGV()
 {
     btnCapNhat.Enabled = true;
     btnThemNV.Enabled  = false;
     XoaMangHinh();
     try
     {
         txtHo.Text        = dgvNhanVien.SelectedRows[0].Cells["colHo"].Value.ToString();
         txtTen.Text       = dgvNhanVien.SelectedRows[0].Cells["colTen"].Value.ToString();
         dtpNgaySinh.Value = (DateTime)dgvNhanVien.SelectedRows[0].Cells["colNgaySinh"].Value;
         txtCMND.Text      = dgvNhanVien.SelectedRows[0].Cells["colCMND"].Value.ToString();
         bool gioitinh = (bool)dgvNhanVien.SelectedRows[0].Cells["colGioiTinh"].Value;
         if (gioitinh == true)
         {
             radNam.Checked = true;
         }
         if (gioitinh == false)
         {
             radNu.Checked = true;
         }
         cboTrinhDo.SelectedValue   = int.Parse(dgvNhanVien.SelectedRows[0].Cells["colBangCap"].Value.ToString());
         cboTonGiao.SelectedValue   = dgvNhanVien.SelectedRows[0].Cells["colTonGiao"].Value.ToString();
         cboDanToc.SelectedValue    = dgvNhanVien.SelectedRows[0].Cells["colDanToc"].Value.ToString();
         rtbNguyenQuan.Text         = dgvNhanVien.SelectedRows[0].Cells["colNguyenQuan"].Value.ToString();
         cboQuocTich.SelectedValue  = dgvNhanVien.SelectedRows[0].Cells["colQuocTich"].Value.ToString();
         cboTinh.SelectedValue      = dgvNhanVien.SelectedRows[0].Cells["colTinhThanh"].Value.ToString();
         cboQuanHuyen.SelectedValue = dgvNhanVien.SelectedRows[0].Cells["colQuanHuyen"].Value.ToString();
         rtbSoNhaTenDuong.Text      = dgvNhanVien.SelectedRows[0].Cells["colDiaChi"].Value.ToString();
         dtpNgayVaoLam.Value        = (DateTime)dgvNhanVien.SelectedRows[0].Cells["colNgayBatDau"].Value;
         cboChucVu.SelectedValue    = dgvNhanVien.SelectedRows[0].Cells["colMaCV"].Value.ToString();
         cboBacLuong.SelectedValue  = dgvNhanVien.SelectedRows[0].Cells["colMaBac"].Value.ToString();
         LayHeSoLuong(cboChucVu.SelectedValue.ToString(), cboBacLuong.SelectedValue.ToString());
         cboPhongBan.SelectedValue = dgvNhanVien.SelectedRows[0].Cells["colPhong"].Value.ToString();
         bool TrangThai = (bool)dgvNhanVien.SelectedRows[0].Cells["colTrangThai"].Value;
         if (!TrangThai)
         {
             chkBoViec.Checked = true;
         }
         else
         {
             chkBoViec.Checked = false;
         }
         if (dgvNhanVien.SelectedRows[0].Cells["colHinhAnh"].Value != null)
         {
             anhDaiDien    = dgvNhanVien.SelectedRows[0].Cells["colHinhAnh"].Value.ToString();
             picHinh.Image = Image.FromFile(anhDaiDien);
         }
         else
         {
             picHinh.Image = Image.FromFile(@"HinhAnh\nv.jpg");
         }
     }
     catch
     {
     }
     if (tabNhanVien.CanSelect)
     {
         txtHoTenNV.Text = txtHoTenNV.Text = dgvNhanVien.CurrentRow.Cells["colHo"].Value.ToString() + " " + dgvNhanVien.CurrentRow.Cells["colTen"].Value.ToString();
         if (tabNhanVien.CanFocus)
         {
             clsThanNhan_BUS BUSTN = new clsThanNhan_BUS();
             dgvThanNhan.DataSource = BUSTN.LayDanhSachThanNhan(dgvNhanVien.CurrentRow.Cells["colMANV"].Value.ToString());
         }
     }
 }