private void btnLuu_Click(object sender, EventArgs e)
        {
            //lấy các thuộc tính từ form
            string maCT  = txtMaCongTac.Text;
            string maNV  = txtMaNV.Text;
            string tenNV = txtTenNV.Text;

            _3Layer.DonVi      donVi  = (_3Layer.DonVi)cbDonVi.SelectedItem;
            _3Layer.ChucVu     chucVu = (_3Layer.ChucVu)cbChucVu.SelectedItem;
            _3Layer.NgachLuong ngach  = (_3Layer.NgachLuong)cbNgachLuong.SelectedItem;
            //string ngayLam = dateNgayLam.Value.ToString("dd-mm-yyyy");
            DateTime ngayLam = this.dateNgayLam.Value.Date;
            //string ngayChuyen = dateNgayChuyen.Value.ToString("dd-mm-yyyy");
            DateTime ngayChuyen = dateNgayChuyen.Value.Date;

            if (KiemTraNgayChuyen() == false)
            {
                MessageBox.Show("Ngày chuyển phải lớn hơn ngày làm và ngày hiện tại!");
            }
            else
            {
                LichSuCT.NgayChuyen = ngayChuyen;//giá trị của đối tượng Lịch sử công tác đã được gán ở hàm Load

                if (bizLSCongTac.BIZSuaLichSuCongTac(LichSuCT) == true)
                {
                    MessageBox.Show("Đã sửa thành công!");
                }
                else
                {
                    MessageBox.Show("Không sửa được!");
                }
            }

            //lấy ngày làm - ngày chuyển
            //kiểm tra ngày làm - ngày chuyển
            //nếu thoả hết đk thì gọi hàm bên biz để lưu
        }
        private void btnTim_Click(object sender, EventArgs e)
        {
            try
            {
                //lấy giá trị của combobox donvi
                string donVi = "";
                if (cbDonVi.SelectedItem.ToString() == "----Tất cả----")
                {
                    donVi = cbDonVi.SelectedItem.ToString();
                }
                else
                {
                    _3Layer.DonVi DV = (_3Layer.DonVi)cbDonVi.SelectedItem;
                    donVi = DV.MaDonVi;
                }

                //lấy giá trị của combobox cbChucvu
                string chucVu = "";
                if (cbChucVu.SelectedItem.ToString() == "----Tất cả----")
                {
                    chucVu = cbChucVu.SelectedItem.ToString(); //lấy chuỗi trên
                }
                else
                {
                    _3Layer.ChucVu CV = (_3Layer.ChucVu)cbChucVu.SelectedItem; //lấy đối tượng trong ChucVu
                    chucVu = CV.MaChucVu;
                }

                string maNV  = txtMaNV.Text.ToString();
                string tenNV = txtTenNV.Text.ToString();
                List <_3Layer.NhanVien> dsTim = bizNV.BIZ_TimNhanVien(maNV, tenNV, donVi, chucVu);
                if (dsTim.Count == 0)
                {
                    MessageBox.Show("Không tìm thấy!");
                    gridNhanVien.Rows.Clear();
                }
                else
                {
                    gridNhanVien.Rows.Clear();
                    int row = 0;
                    foreach (_3Layer.NhanVien nv in dsTim)
                    {
                        gridNhanVien.Rows.Add(new DataGridViewRow());
                        gridNhanVien.Rows[row].Cells["MaNV"].Value     = nv.MaNV;
                        gridNhanVien.Rows[row].Cells["HoTen"].Value    = nv.HoTen;
                        gridNhanVien.Rows[row].Cells["NgaySinh"].Value = nv.NgaySinh;
                        gridNhanVien.Rows[row].Cells["GioiTinh"].Value = nv.GioiTinh;
                        if (nv.DonVi != null)
                        {
                            gridNhanVien.Rows[row].Cells["DonVi"].Value = nv.DonVi.TenDonVi;
                        }
                        if (nv.ChucVu != null)
                        {
                            gridNhanVien.Rows[row].Cells["ChucVu"].Value = nv.ChucVu.TenChucVu;
                        }
                        gridNhanVien.Rows[row].Cells["ChiTiet"].Value = "Xem chi tiết";
                        row++;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi hệ thống!");
            }
        }
        private void btnLuu_Click(object sender, EventArgs e)
        {
            try
            {
                //lấy các thuộc tính từ form
                string             maNV    = txtMaNV.Text;
                _3Layer.DonVi      donVi   = (_3Layer.DonVi)cbDonVi.SelectedItem;
                _3Layer.ChucVu     chucVu  = (_3Layer.ChucVu)cbChucVu.SelectedItem;
                _3Layer.NgachLuong ngach   = (_3Layer.NgachLuong)cbNgachLuong.SelectedItem;
                DateTime           ngayLam = this.dateNgayLam.Value.Date;
                //string ngayChuyen = dateNgayChuyen.Value.ToString("dd-mm-yyyy");
                DateTime ngayChuyen = dateNgayChuyen.Value.Date;


                //lấy mã nhân viên từ form -- kiểm tra nhập if(txtManv.trim() == "") thông báo phải nhập
                if (txtMaNV.Text.Trim() == "")
                {
                    MessageBox.Show("Phải nhập mã nhân viên!");
                }
                else if (KiemTraNgayChuyen() == false && checkNgayChuyen.Checked == true)
                {
                    MessageBox.Show("Ngày chuyển phải lớn hơn ngày làm và ngày hiện tại!");
                }
                else
                {
                    //kiểm tra mã nhân viên có tồn tại không - nếu không có thì thông báo
                    if (bizLSCongTac.BIZKiemTraMaNV(maNV) == true)
                    {
                        LichSuCongTac lsct = new LichSuCongTac();
                        lsct.MaCongTac = bizLSCongTac.BIZTaoMaLSCongTac();
                        lsct.MaNV      = maNV;
                        lsct.MaDonVi   = donVi.MaDonVi;
                        lsct.MaChucVu  = chucVu.MaChucVu;
                        lsct.MaNgach   = ngach.MaNgach;
                        lsct.NgayLam   = ngayLam;
                        if (checkNgayChuyen.Checked == true)
                        {
                            lsct.NgayChuyen = ngayChuyen;
                        }
                        else
                        {
                            lsct.NgayChuyen = null;
                        }

                        if (bizLSCongTac.BIZThemLSCongTac(lsct) == true)
                        {
                            MessageBox.Show("Thêm thành công!");

                            //cập nhật lại thông tin nhân viên
                            _3Layer.NhanVien nvCapNhat = bizLSCongTac.BIZTimNhanVien(maNV);
                            //gán vào thuộc tính của nhân viên tìm được
                            nvCapNhat.MaDonVi  = donVi.MaDonVi;
                            nvCapNhat.MaChucVu = chucVu.MaChucVu;
                            bizLSCongTac.BIZCapNhatNhanVien(nvCapNhat);

                            //thêm thành công thì reset lại form thêm để thêm đối tượng khác
                            txtMaNV.Text               = "";
                            cbDonVi.SelectedIndex      = 0;
                            cbChucVu.SelectedIndex     = 0;
                            cbNgachLuong.SelectedIndex = 0;
                        }
                        else
                        {
                            MessageBox.Show("Thêm không được dzồi!");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Mã nhân viên không đúng!");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi hệ thống");
            }

            //lấy ngày làm - ngày chuyển
            //kiểm tra ngày làm - ngày chuyển
            //nếu thoả hết đk thì gọi hàm bên biz để lưu
        }
        //Tìm
        private void btnSearch_MouseClick(object sender, MouseEventArgs e)
        {
            string maNV  = txtMaNV.Text.ToString();
            string tenNV = txtTenNV.Text.ToString();

            try
            {
                //lấy giá trị của combobox donvi
                string donVi = "";
                if (cbDonVi.SelectedItem.ToString() == "----Tất cả----")
                {
                    donVi = cbDonVi.SelectedItem.ToString();
                }
                else
                {
                    _3Layer.DonVi DV = (_3Layer.DonVi)cbDonVi.SelectedItem;
                    donVi = DV.MaDonVi;
                }

                //lấy giá trị của combobox cbChucvu
                string chucVu = "";
                if (cbChucVu.SelectedItem.ToString() == "----Tất cả----")
                {
                    chucVu = cbChucVu.SelectedItem.ToString(); //lấy chuỗi trên
                }
                else
                {
                    _3Layer.ChucVu CV = (_3Layer.ChucVu)cbChucVu.SelectedItem; //lấy đối tượng trong ChucVu
                    chucVu = CV.MaChucVu;
                }

                //khởi tạo danh sách tìm từ biz
                List <LichSuCongTac> dsTim = bizLSCongTac.BIZTimLSCongTac(maNV, tenNV, donVi, chucVu);
                if (dsTim.Count == 0)
                {
                    MessageBox.Show("Không tìm thấy!");
                    gridLSCongTac.Rows.Clear();
                }
                else
                {
                    gridLSCongTac.Rows.Clear();
                    //hiển thị danh sách sau khi tìm
                    int row = 0;
                    foreach (LichSuCongTac item in dsTim)
                    {
                        gridLSCongTac.Rows.Add(new DataGridViewRow());
                        gridLSCongTac.Rows[row].Cells["maCongTac"].Value = item.MaChucVu;
                        gridLSCongTac.Rows[row].Cells["tenNV"].Value     = item.NhanVien.HoTen;
                        gridLSCongTac.Rows[row].Cells["tenDonVi"].Value  = item.DonVi.TenDonVi;
                        gridLSCongTac.Rows[row].Cells["tenChucVu"].Value = item.ChucVu.TenChucVu;
                        gridLSCongTac.Rows[row].Cells["tenNgach"].Value  = item.NgachLuong.TenNgach;
                        gridLSCongTac.Rows[row].Cells["ngayLam"].Value   = item.NgayLam;
                        if (item.NgayChuyen != null)
                        {
                            gridLSCongTac.Rows[row].Cells["ngayChuyen"].Value = item.NgayChuyen;
                        }
                        row++;
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Lỗi hệ thống!");
            }
        }