private void btnCapNhat_Click(object sender, EventArgs e)
 {
     try
     {
         clsQuyDinhLuong_DTO QuyDinh = new clsQuyDinhLuong_DTO();
         clsQuyDinhLuong_BUS BUS     = new clsQuyDinhLuong_BUS();
         QuyDinh.LuongToiThieu = Convert.ToInt32(txtLuongCoBan.Text.Replace(",", ""));
         QuyDinh.BHXH          = Convert.ToDouble(nudBHXH_NV.Value / 100);
         QuyDinh.BHYT          = Convert.ToDouble(nudBHYT_NV.Value / 100);
         QuyDinh.BHTN          = Convert.ToDouble(nudBHTT_NV.Value / 100);
         if (BUS.CapNhatQuyDinhLuong(QuyDinh))
         {
             MessageBox.Show("Cập nhật thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
             clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
             BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("{0} đã cập nhật quy định lương", Program.NhanVien_Login.TaiKhoan));
         }
         loadDuLieuLuong();
     }
     catch (FormatException fe)
     {
         MessageBox.Show("Vui lòng điền Lương tối thiểu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     catch (NullReferenceException ex)
     {
         MessageBox.Show("Vui lòng điền đầy đủ các trường", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
Example #2
0
        private void tbtnDangXuat_Click(object sender, EventArgs e)
        {
            this.pnlMain.Controls.Clear();
            clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();

            BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, "Đã đăng xuất khỏi hệ thống");
            Program.NhanVien_Login = null;
            TrangThaiChuaDangNhap();
        }
Example #3
0
        private void btnInBangLuong_Click(object sender, EventArgs e)
        {
            int                Nam   = dtpThangNam.Value.Year;
            int                Thang = dtpThangNam.Value.Month;
            string             MaPB  = cboPhongBan.SelectedValue.ToString();
            frmBaoCaoBangLuong frm   = new frmBaoCaoBangLuong(Nam, Thang, MaPB);

            frm.Show();
            clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();

            BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Đã in bảng lương tháng {0} năm {1} cho phòng {2}", dtpThangNam.Value.Month, dtpThangNam.Value.Year, cboPhongBan.Text));
        }
Example #4
0
 private void btnThem_Click(object sender, EventArgs e)
 {
     if (KiemTraTenDN())
     {
         if (KiemTraMaNV())
         {
             if (KiemTraDayDu_Them())
             {
                 if (KiemTraTrungKhopMatKhau())
                 {
                     clsNguoiDung_DTO nd = new clsNguoiDung_DTO();
                     nd.MANV     = cboNhanVien.SelectedValue.ToString().ToUpper();
                     nd.TAIKHOAN = txtTenDN.Text;
                     nd.MATKHAU  = txtMatKhau.Text;
                     if (!chkTrangThai.Checked)
                     {
                         nd.TRANGTHAI = true;
                     }
                     else
                     {
                         nd.TRANGTHAI = false;
                     }
                     nd.LOAIND = LayQuyenTruyCap();
                     clsNguoiDung_BUS bus = new clsNguoiDung_BUS();
                     bool             kq  = bus.TaoTaiKhoan(nd);
                     if (kq)
                     {//thành công
                         clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
                         BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Tạo người dùng {0} có mã nhân viên {1}", nd.TAIKHOAN, nd.MANV));
                         timer_ThanhCong.Start();
                         LoadDGV_NguoiDung();
                         return;
                     }
                     else
                     {//thất bại
                         MessageBox.Show("THẤT BẠI", "THÔNG BÁO", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                     }
                 }
                 else
                 {
                     MessageBox.Show("Mật khẩu không trùng khớp", "Thông báo");
                 }
             }
             else
             {
                 MessageBox.Show("Vui lòng điền đầy đủ các trường", "Thông báo");
             }
         }
     }
 }
        private void btnInChamCong_Click(object sender, EventArgs e)
        {
            DataGridViewRow r = dgvChamCong.CurrentRow;

            MaCC  = r.Cells[0].Value.ToString();
            Thang = Convert.ToInt32(r.Cells[1].Value.ToString());
            Nam   = Convert.ToInt32(r.Cells[2].Value.ToString());
            frmInChamCong frm_InChamCong = new frmInChamCong(this);

            frm_InChamCong.ShowDialog();
            clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();

            BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("In bảng chấm công {0}", MaCC));
        }
        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);
                }
            }
        }
Example #7
0
        private void btnDongY_Click(object sender, EventArgs e)
        {
            clsChamCong_BUS        BUSCC   = new clsChamCong_BUS();
            clsNhanVien_BUS        BUSNV   = new clsNhanVien_BUS();
            clsChiTietChamCong_BUS BUSCTCC = new clsChiTietChamCong_BUS();

            clsChamCong_DTO ChamCong = new clsChamCong_DTO();

            List <clsNhanVien_DTO> lsNhanVien = new List <clsNhanVien_DTO>();

            DataGridViewRow r = dgvPhongBan.CurrentRow;

            ChamCong.MaCC  = "CC" + (BUSCC.LaySoLuong() + 1).ToString();
            ChamCong.Thang = ucTL.Thang;
            ChamCong.Nam   = ucTL.Nam;
            ChamCong.Phong = r.Cells[0].Value.ToString();
            //Thêm dữ liệu vào CHAMCONG
            if (BUSCC.KiemTraPhongChamCong(ChamCong.Thang, ChamCong.Nam, ChamCong.Phong) == false)
            {
                BUSCC.ThemBangChamCong(ChamCong);
                DataGridView dgvChamCong = ucTL.Controls.Find("dgvChamCong", true).FirstOrDefault() as DataGridView;
                dgvChamCong.DataSource = BUSCC.LayBangChamCong();


                // Lấy phòng ban vừa được chọn để chấm công
                clsPhongBan_DTO PB = new clsPhongBan_DTO();
                PB.MAPB = ChamCong.Phong;
                List <clsPhongBan_DTO> lsPB = new List <clsPhongBan_DTO>();
                lsPB.Add(PB);

                //Lấy danh sách nhân viên theo phòng ban
                lsNhanVien = BUSNV.LayDanhSachNhanVienCC(lsPB);
                for (int i = 0; i < lsNhanVien.Count; i++)
                {
                    clsChiTietChamCong_DTO ChiTietCC = new clsChiTietChamCong_DTO();
                    ChiTietCC.MaCC = ChamCong.MaCC;
                    ChiTietCC.MaNV = lsNhanVien[i].MaNV;
                    BUSCTCC.ThemChiTietChamCong(ChiTietCC);
                    this.Close();
                }
                clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
                BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("{0} đã tạo bảng chấm công {1}", Program.NhanVien_Login.TaiKhoan, ChamCong.MaCC));
            }
            else
            {
                MessageBox.Show(string.Format("Đã chấm công cho phòng {0} tháng {1} năm {2}", r.Cells[1].Value.ToString(), ChamCong.Thang, ChamCong.Nam));
            }
        }
Example #8
0
        public void XuLyKhiDangNhapThanhCong(Control sender, clsNhanVienDangNhap nv)
        {
            //ẩn uc Đăng nhập
            this.pnlMain.Controls.Remove(sender);
            // Trạng thái đã đăng nhập thành công
            mnuMain.Enabled      = true;
            tbtnDangXuat.Enabled = true;
            ucThemNhanVien ucThemNV = new ucThemNhanVien();

            this.pnlMain.Controls.Add(ucThemNV);
            lblNguoiDung.Text = nv.Ho + " " + nv.Ten;
            LoadPhanQuyen();
            clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();

            BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, "Đã đăng nhập vào hệ thống");
            //System.Drawing.Size kichthuoc = this.Size;
            //MessageBox.Show(kichthuoc.ToString());
        }
Example #9
0
        private void loadDSTIenLuong()
        {
            clsTinhLuong_BUS        bus         = new clsTinhLuong_BUS();
            List <clsTinhLuong_DTO> lsBangLuong = bus.lsBangLuong(dtpThangNam.Value.Year, dtpThangNam.Value.Month, cboPhongBan.SelectedValue.ToString());

            if (lsBangLuong.Count > 0)
            {
                dgvTienLuong.DataSource          = lsBangLuong;
                dgvTienLuong.AutoGenerateColumns = false;
                clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
                BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Đã tính lương tháng {0} năm {1} cho phòng {2}", dtpThangNam.Value.Month, dtpThangNam.Value.Year, cboPhongBan.Text));
            }
            else
            {
                dgvTienLuong.DataSource = lsBangLuong;
                MessageBox.Show("Chưa có bảng chấm công cho tháng này nên không thể xem bảng lương", "THÔNG BÁO");
            }
        }
 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 btnCapNhat_Click(object sender, EventArgs e)
 {
     try
     {
         clsNhanVien_DTO nv = new clsNhanVien_DTO();
         nv.MaNV     = dgvNhanVien.SelectedRows[0].Cells["colMANV"].Value.ToString();
         nv.Ho       = txtHo.Text;
         nv.Ten      = txtTen.Text;
         nv.NgaySinh = dtpNgaySinh.Value;
         nv.CMND     = txtCMND.Text;
         //false nữ, true nam
         if (radNam.Checked)
         {
             nv.GioiTinh = true;
         }
         else
         {
             nv.GioiTinh = false;
         }
         nv.BangCap           = int.Parse(cboTrinhDo.SelectedValue.ToString());
         nv.TonGiao           = cboTonGiao.SelectedValue.ToString();
         nv.NguyenQuan        = rtbNguyenQuan.Text;
         nv.DanToc            = cboDanToc.SelectedValue.ToString();
         nv.QuocTich          = cboQuocTich.SelectedValue.ToString();
         nv.TinhThanh         = cboTinh.SelectedValue.ToString();
         nv.QuanHuyen         = cboQuanHuyen.SelectedValue.ToString();
         nv.DiaChiThuongTru   = rtbSoNhaTenDuong.Text;
         nv.HINHDAIDIEN       = anhDaiDien;
         nv.NgayBatDauLamViec = dtpNgayVaoLam.Value;
         nv.MaCV     = cboChucVu.SelectedValue.ToString();
         nv.MaBAC    = cboBacLuong.SelectedValue.ToString();
         nv.PhongBan = cboPhongBan.SelectedValue.ToString();
         if (!chkBoViec.Checked)
         {
             nv.TrangThai = true;
         }
         else
         {
             nv.TrangThai = false;                         //nghi viec
             clsNguoiDung_BUS BUSND = new clsNguoiDung_BUS();
             BUSND.CapNhatTaiKhoan(nv.TrangThai, nv.MaNV); //Chặn tài khoản của người này đăng nhập
         }
         clsNhanVien_BUS bus = new clsNhanVien_BUS();
         bool            kq  = bus.CapNhatThongTinNhanVien(nv);
         if (kq)
         {
             MessageBox.Show("Cập nhật thông tin thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
             clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
             BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Cập nhật nhân viên {0} {1} có mã {2}", nv.Ho, nv.Ten, nv.MaNV));
             TimKiemNhanVien();
         }
         else
         {
             MessageBox.Show("Thất bại, Vui lòng thử lại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Vui lòng điền đầy đủ tất cả các trường\n" + ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     //
 }
 private void btnThemNV_Click(object sender, EventArgs e)
 {
     try
     {
         clsNhanVien_DTO nv = new clsNhanVien_DTO();
         nv.Ho       = txtHo.Text;
         nv.Ten      = txtTen.Text;
         nv.NgaySinh = dtpNgaySinh.Value;
         nv.CMND     = txtCMND.Text;
         //false nữ, true nam
         if (radNam.Checked)
         {
             nv.GioiTinh = true;
         }
         else
         {
             nv.GioiTinh = false;
         }
         nv.BangCap           = int.Parse(cboTrinhDo.SelectedValue.ToString());
         nv.TonGiao           = cboTonGiao.SelectedValue.ToString();
         nv.NguyenQuan        = rtbNguyenQuan.Text;
         nv.DanToc            = cboDanToc.SelectedValue.ToString();
         nv.QuocTich          = cboQuocTich.SelectedValue.ToString();
         nv.TinhThanh         = cboTinh.SelectedValue.ToString();
         nv.QuanHuyen         = cboQuanHuyen.SelectedValue.ToString();
         nv.DiaChiThuongTru   = rtbSoNhaTenDuong.Text;
         nv.NgayBatDauLamViec = dtpNgayVaoLam.Value;
         nv.MaCV     = cboChucVu.SelectedValue.ToString();
         nv.MaBAC    = cboBacLuong.SelectedValue.ToString();
         nv.PhongBan = cboPhongBan.SelectedValue.ToString();
         if (anhDaiDien != "")
         {
             nv.HINHDAIDIEN = anhDaiDien;
         }
         else
         {
             nv.HINHDAIDIEN = @"HinhAnh\nv.jpg";
         }
         if (!chkBoViec.Checked)
         {
             nv.TrangThai = true;
         }
         else
         {
             nv.TrangThai = false;
         }
         clsNhanVien_BUS bus = new clsNhanVien_BUS();
         bool            kq  = bus.ThemNhanVien(nv);
         if (kq)
         {
             //thêm thành công
             MessageBox.Show("Thêm nhân viên thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
             clsNhatKy_BUS BUSNK     = new clsNhatKy_BUS();
             int           SoLuongNV = bus.LaySoLuongNhanVien();
             //load Lại DGV
             TimKiemNhanVien();
             BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Thêm nhân viên {0} {1} có mã NV{2}", nv.Ho, nv.Ten, SoLuongNV));
         }
         else
         {
             MessageBox.Show("Thất bại, Vui lòng thử lại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
     }
     catch (NullReferenceException nex)
     {
         MessageBox.Show("Vui lòng điền đủ các trường. \n", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
        private void btnThemHopDong_Click(object sender, EventArgs e)
        {
            bool           KiemTra = false;
            clsHopDong_DTO HopDong = new clsHopDong_DTO();

            HopDong.MaNV       = NhanVien.MaNV;
            HopDong.NgayBatDau = dtpNgayBatDau.Value;
            if (cboLoaiHD.SelectedIndex == 0)
            {
                HopDong.NgayKetThuc = dtpNgayKetThuc.Value;
                if (HopDong.NgayKetThuc.Date <= HopDong.NgayBatDau.Date)
                {
                    MessageBox.Show("Ngày kết thúc phải lớn hơn ngày bắt đầu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (HopDong.NgayBatDau.Date.AddMonths(12) != HopDong.NgayKetThuc.Date && HopDong.NgayBatDau.Date.AddMonths(36) != HopDong.NgayKetThuc.Date) // Thời điểm kết chấm dứt hợp đồng xác định thời hạn chưa đủ 12 tháng hoặc chưa đủ 36 tháng
                {
                    MessageBox.Show("Thời điểm chấm dứt hiệu lực của hợp đồng xác định thời hạn trong khoảng thời gian từ đủ 12 tháng đến 36 tháng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else //Đủ điều kiện của hợp đồng xác định thời hạn
                {
                    HopDong.LoaiHD = "Xác định thời hạn";
                    KiemTra        = true;
                }
            }
            if (cboLoaiHD.SelectedIndex == 1)
            {
                HopDong.LoaiHD = "Không xác định thời hạn";
                KiemTra        = true;
            }
            if (cboLoaiHD.SelectedIndex == 2)  // Là hợp đồng thời vụ
            {
                HopDong.NgayKetThuc = dtpNgayKetThuc.Value;
                if (HopDong.NgayKetThuc.Date <= HopDong.NgayBatDau.Date)
                {
                    MessageBox.Show("Ngày kết thúc phải lớn hơn ngày bắt đầu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else if (HopDong.NgayBatDau.Date.AddDays(HopDong.NgayKetThuc.Date.Subtract(HopDong.NgayBatDau.Date).TotalDays) >= HopDong.NgayBatDau.Date.AddMonths(12)) // Hợp đồng thời vụ lớn hoặc bằng 12
                {
                    MessageBox.Show("Thời điểm chấm dứt hiệu lực của hợp đồng thời vụ phải dưới 12 tháng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    HopDong.LoaiHD = "Thời vụ";
                    KiemTra        = true;
                }
            }

            HopDong.DiaDiemLam = txtDiaDiem.Text;
            //HopDong.ChucVu = cboChucVu.SelectedValue.ToString(); // Chọn sẵn khi chọn Mã nhân viên của datagridview ngoài tabcontrol
            HopDong.CongViec    = txtCongViec.Text;
            HopDong.ThoiGianLam = 8;               // Thời gian làm bao nhiêu giờ 1 ngày
            HopDong.TrangBi     = txtTrangBiLD.Text;
            HopDong.NgayKy      = dtpNgayKy.Value; // Lấy ngày kí hợp đồng là ngày hệ thống

            if (KiemTra && KiemTraDuLieu())
            {
                clsHopDong_BUS BUSHD = new clsHopDong_BUS();
                if (BUSHD.ThemHopDong(HopDong))
                {
                    MessageBox.Show("Thêm hợp đồng thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    dgvHopDongNV.DataSource = BUSHD.LayDanhSachHopDong(NhanVien.MaNV);
                    clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
                    XoaDuLieu();
                    BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Thêm hợp đồng {0} {1} cho nhân viên {2} {3} ", HopDong.LoaiHD, HopDong.MaHDLD, NhanVien.Ho, NhanVien.Ten));
                    btnThemHopDong.Enabled = false;
                }
                else
                {
                    MessageBox.Show("Thêm hợp đồng thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
        private void btnCapNhatHopDong_Click(object sender, EventArgs e)
        {
            try
            {
                bool           KiemTra = false;                                                   // Nhập sai ngày bắt đầu hợp đồng và ngày kết thúc hợp đồng
                clsHopDong_DTO HopDong = new clsHopDong_DTO();
                HopDong.MaHDLD     = dgvHopDongNV.CurrentRow.Cells["colMaHDLD"].Value.ToString(); // Lấy Mã hợp đồng được chọn ở dgvHopDongNV
                HopDong.MaNV       = NhanVien.MaNV;                                               // Lấy mã nhân viên được chọn ở  DgvNhanVien
                HopDong.NgayBatDau = dtpNgayBatDau.Value;
                if (cboLoaiHD.SelectedIndex == 0)
                {
                    HopDong.NgayKetThuc = dtpNgayKetThuc.Value;
                    if (HopDong.NgayKetThuc.Date <= HopDong.NgayBatDau.Date)
                    {
                        MessageBox.Show("Ngày kết thúc phải lớn hơn ngày bắt đầu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else if (HopDong.NgayBatDau.Date.AddMonths(12) != HopDong.NgayKetThuc.Date && HopDong.NgayBatDau.Date.AddMonths(36) != HopDong.NgayKetThuc.Date) // Thời điểm kết chấm dứt hợp đồng xác định thời hạn chưa đủ 12 tháng hoặc chưa đủ 36 tháng
                    {
                        MessageBox.Show("Thời điểm chấm dứt hiệu lực của hợp đồng xác định thời hạn trong khoảng thời gian từ đủ 12 tháng đến 36 tháng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else //Đủ điều kiện của hợp đồng xác định thời hạn
                    {
                        HopDong.LoaiHD = "Xác định thời hạn";
                        KiemTra        = true;
                    }
                }
                if (cboLoaiHD.SelectedIndex == 1)
                {
                    HopDong.LoaiHD = "Không xác định thời hạn";
                    KiemTra        = true;
                }
                if (cboLoaiHD.SelectedIndex == 2)  // Là hợp đồng thời vụ
                {
                    HopDong.NgayKetThuc = dtpNgayKetThuc.Value;
                    if (HopDong.NgayKetThuc.Date <= HopDong.NgayBatDau.Date)
                    {
                        MessageBox.Show("Ngày kết thúc phải lớn hơn ngày bắt đầu", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else if (HopDong.NgayBatDau.Date.AddDays(HopDong.NgayKetThuc.Date.Subtract(HopDong.NgayBatDau.Date).TotalDays) >= HopDong.NgayBatDau.Date.AddMonths(12)) // Hợp đồng thời vụ lớn hoặc bằng 12
                    {
                        MessageBox.Show("Thời điểm chấm dứt hiệu lực của hợp đồng thời vụ phải dưới 12 tháng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    else
                    {
                        HopDong.LoaiHD = "Thời vụ";
                        KiemTra        = true;
                    }
                }

                HopDong.DiaDiemLam  = txtDiaDiem.Text;
                HopDong.CongViec    = txtCongViec.Text;
                HopDong.ThoiGianLam = Convert.ToDouble(nudThoiGian.Value); // Thời gian làm bao nhiêu giờ 1 ngày
                HopDong.TrangBi     = txtTrangBiLD.Text;
                HopDong.NgayKy      = dtpNgayKy.Value;                     // Lấy ngày kí hợp đồng là ngày hệ thống

                if (cboLoaiHD.SelectedIndex == 1)
                {
                    DateTime dt = new DateTime(1900, 1, 1);
                    HopDong.NgayKetThuc = dt;
                }
                if (KiemTra && KiemTraDuLieu())
                {
                    clsHopDong_BUS BUSHD = new clsHopDong_BUS();
                    if (BUSHD.CapNhatHopDong(HopDong))
                    {
                        MessageBox.Show(string.Format("Cập nhật hợp mã hợp đồng {0} thành công", HopDong.MaHDLD), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        dgvHopDongNV.DataSource = BUSHD.LayDanhSachHopDong(NhanVien.MaNV); // Lấy mã nhân viên ở dgvNhanVien
                        clsNhatKy_BUS BUSNK = new clsNhatKy_BUS();
                        BUSNK.ThemNhatKy(Program.NhanVien_Login.TaiKhoan, DateTime.Now, string.Format("Cập nhật hợp đồng {0} của nhân viên {1} {2}", HopDong.MaHDLD, NhanVien.Ho, NhanVien.Ten));
                    }
                    else
                    {
                        MessageBox.Show("Thêm hợp đồng thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }