public bool Sua(QuyDinhNhanVienDTO qdnvDTO)
        {
            string query = @" UPDATE QUYDINHNHANVIEN SET TUOITOITHIEU = @TUOITOITHIEU , TUOITOIDA = @TUOITOIDA , NGAYRA = @NGAYRA , NGAYKETTHUC = @NGAYKETTHUC WHERE MAQD = @MAQD ";

            object[] para = new object[] { qdnvDTO.Tuoitoithieu, qdnvDTO.Tuoitoida, qdnvDTO.Ngayra, qdnvDTO.Ngayketthuc, qdnvDTO.Maqd };
            return(DataProvider.Instance.excuteNonQuery(query, para));
        }
        public bool Them(QuyDinhNhanVienDTO qdnvDTO)
        {
            string query = @"INSERT INTO QUYDINHNHANVIEN ( MAQD, TUOITOITHIEU, TUOITOIDA, NGAYRA, NGAYKETTHUC ) VALUES ( @MAQD , @TUOITOITHIEU , @TUOITOIDA , @NGAYRA , @NGAYKETTHUC )";

            object[] para = new object[] { qdnvDTO.Maqd, qdnvDTO.Tuoitoithieu, qdnvDTO.Tuoitoida, qdnvDTO.Ngayra, qdnvDTO.Ngayketthuc };
            return(DataProvider.Instance.excuteNonQuery(query, para));
        }
        public bool Xoa(QuyDinhNhanVienDTO qdnvDTO)
        {
            string query = @"DELETE QUYDINHNHANVIEN WHERE MAQD = @MAQD ";

            object[] para = new object[] { qdnvDTO.Maqd };
            return(DataProvider.Instance.excuteNonQuery(query, para));
        }
        public void Them(ref DataGridViewX dgvQDNV, ref TextBoxX txtMaQDNV, ref TextBoxX txtQDNVTuoiToiThieu, ref TextBoxX txtQDNVTuoiToiDa, QuyDinhNhanVienBUS qdnvBUS)
        {
            QuyDinhNhanVienDTO qdnvDTO = new QuyDinhNhanVienDTO();

            if (!qdnvBUS.MapDataQDNVFromGUI(ref qdnvDTO, txtMaQDNV, txtQDNVTuoiToiThieu, txtQDNVTuoiToiDa, qdnvBUS))
            {
                MessageBox.Show("Dữ liệu không hợp lệ", "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            if (qdnvBUS.IsTrungKhopKhoaChinh(qdnvDTO.Maqd, dgvQDNV))
            {
                MessageBox.Show("Trùng mã quy định nhân viên", "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            if (dgvQDNV.RowCount != 0)
            {
                QuyDinhNhanVienDTO temp = new QuyDinhNhanVienDTO();
                qdnvBUS.UpdatePreviousDataRowQDNV(ref temp, dgvQDNV);
                qdnvBUS.Sua(temp);
                qdnvDTO.Ngayra = qdnvDTO.Ngayra.AddDays(1);
            }

            if (qdnvBUS.Them(qdnvDTO))
            {
                MessageBox.Show("Thêm thành công");
                qdnvBUS.LoadPanelQDNV(ref dgvQDNV, ref txtMaQDNV, ref txtQDNVTuoiToiThieu, ref txtQDNVTuoiToiDa, qdnvBUS);
            }
            else
            {
                MessageBox.Show("Thêm không thành công", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public bool MapDataQDNVFromGUI(ref QuyDinhNhanVienDTO qdnvDTO, TextBoxX txtMaQDNV, TextBoxX txtQDNVTuoiToiThieu, TextBoxX txtQDNVTuoiToiDa, QuyDinhNhanVienBUS qdnvBUS)
        {
            qdnvDTO.Maqd = txtMaQDNV.Text;

            if (qdnvBUS.IsOnlyNumber(txtQDNVTuoiToiThieu.Text))
            {
                qdnvDTO.Tuoitoithieu = int.Parse(txtQDNVTuoiToiThieu.Text);
            }
            else
            {
                return(false);
            }

            if (qdnvBUS.IsOnlyNumber(txtQDNVTuoiToiDa.Text))
            {
                qdnvDTO.Tuoitoida = int.Parse(txtQDNVTuoiToiDa.Text);
            }
            else
            {
                return(false);
            }

            qdnvDTO.Ngayra      = DateTime.Today;
            qdnvDTO.Ngayketthuc = DateTime.MaxValue;
            return(true);
        }
        public void UpdatePreviousDataRowQDNV(ref QuyDinhNhanVienDTO qdnvDTO, DataGridViewX dgvQDNV)
        {
            int count = dgvQDNV.RowCount - 1;

            qdnvDTO.Maqd         = dgvQDNV.Rows[count].Cells["MAQD"].Value.ToString();
            qdnvDTO.Tuoitoithieu = int.Parse(dgvQDNV.Rows[count].Cells["TUOITOITHIEU"].Value.ToString());
            qdnvDTO.Tuoitoida    = int.Parse(dgvQDNV.Rows[count].Cells["TUOITOIDA"].Value.ToString());
            qdnvDTO.Ngayra       = Convert.ToDateTime(dgvQDNV.Rows[count].Cells["NGAYRA"].Value);
            if (DateTime.Today < qdnvDTO.Ngayra)
            {
                qdnvDTO.Ngayketthuc = qdnvDTO.Ngayra;
            }
            else
            {
                qdnvDTO.Ngayketthuc = DateTime.Today;
            }
        }
 public void Xoa(ref DataGridViewX dgvQDNV, ref TextBoxX txtMaQDNV, ref TextBoxX txtQDNVTuoiToiThieu, ref TextBoxX txtQDNVTuoiToiDa, QuyDinhNhanVienBUS qdnvBUS)
 {
     if (dgvQDNV.RowCount != 0)
     {
         QuyDinhNhanVienDTO qdnvDTO = new QuyDinhNhanVienDTO();
         foreach (DataGridViewRow row in dgvQDNV.SelectedRows)
         {
             qdnvDTO.Maqd = row.Cells["MAQD"].Value.ToString();
             qdnvBUS.Xoa(qdnvDTO);
         }
         qdnvBUS.LoadPanelQDNV(ref dgvQDNV, ref txtMaQDNV, ref txtQDNVTuoiToiThieu, ref txtQDNVTuoiToiDa, qdnvBUS); // Bao gom luon ClearPanel neu row = 0
         //Sau khi delete
         if (dgvQDNV.RowCount == 0)
         {
             qdnvBUS.ResetSTT();
         }
     }
 }
        public void Sua(ref DataGridViewX dgvQDNV, ref TextBoxX txtMaQDNV, ref TextBoxX txtQDNVTuoiToiThieu, ref TextBoxX txtQDNVTuoiToiDa, QuyDinhNhanVienBUS qdnvBUS)
        {
            QuyDinhNhanVienDTO qdnvDTO = new QuyDinhNhanVienDTO();

            if (!qdnvBUS.MapDataQDNVFromGUI(ref qdnvDTO, txtMaQDNV, txtQDNVTuoiToiThieu, txtQDNVTuoiToiDa, qdnvBUS))
            {
                MessageBox.Show("Dữ liệu không hợp lệ", "", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            if (qdnvBUS.Sua(qdnvDTO))
            {
                MessageBox.Show("Cập nhật thành công");
                qdnvBUS.LoadPanelQDNV(ref dgvQDNV, ref txtMaQDNV, ref txtQDNVTuoiToiThieu, ref txtQDNVTuoiToiDa, qdnvBUS);
            }
            else
            {
                MessageBox.Show("Cập nhật không thành công", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 public bool Sua(QuyDinhNhanVienDTO qdnvDTO)
 {
     return(qdnvDAL.Sua(qdnvDTO));
 }
 public bool Them(QuyDinhNhanVienDTO qdnvDTO)
 {
     return(qdnvDAL.Them(qdnvDTO));
 }