示例#1
0
        public static List <PHANCONG_DTO> LoadTatCaPhanCong()
        {
            try
            {
                List <PHANCONG_DTO> lstPhanCong = new List <PHANCONG_DTO>();
                SqlConnection       db          = DataProvider.dbContext;
                SqlCommand          cmd         = new SqlCommand();
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.CommandText = "LoadTatCaPhanCongDuAn";
                cmd.Connection  = db;
                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    PHANCONG_DTO pcDTO = new PHANCONG_DTO();
                    pcDTO.MaNV  = int.Parse(reader["MaNV"].ToString());
                    pcDTO.HoTen = reader["HoTen"].ToString();
                    pcDTO.MaDA  = int.Parse(reader["MaDA"].ToString());
                    pcDTO.SoGio = int.Parse(reader["SoGio"].ToString());
                    pcDTO.TenDA = reader["TenDA"].ToString();
                    lstPhanCong.Add(pcDTO);
                }
                reader.Close();
                return(lstPhanCong);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dgvPhanCong.SelectedRows.Count == 0)
            {
                MessageBox.Show("Bạn phải chọn ít nhất một phân công dự án để xóa", "Thông báo");
                return;
            }

            int maNV = int.Parse(dgvPhanCong.SelectedRows[0].Cells["MaNV"].Value.ToString());
            int maDA = int.Parse(dgvPhanCong.SelectedRows[0].Cells["MaDA"].Value.ToString());

            DialogResult result = MessageBox.Show("Bạn có chắc chắn muốn xóa phân công dự án này?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (result == DialogResult.Yes)
            {
                PHANCONG_DTO pcDTO = new PHANCONG_DTO()
                {
                    MaNV = maNV, MaDA = maDA
                };
                int kq = PHANCONG_BUL.XoaPhanCong(pcDTO);
                if (kq > 0)
                {
                    MessageBox.Show("Đã xóa phân công dự án thành công", "Thông báo");
                    PHANCONG_DTO pcRemoved = lstPhanCong.Single(item => item.MaNV == maNV && item.MaDA == maDA);
                    lstPhanCong.Remove(pcRemoved);
                    dgvPhanCong.DataSource = typeof(List <PHANCONG_DTO>);
                    dgvPhanCong.DataSource = lstPhanCong;
                    EditDataGridView();
                }
                else
                {
                    MessageBox.Show("Xóa phân công dự án thất bại", "Thông báo");
                }
            }
        }
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (dgvPhanCong.SelectedRows.Count == 0)
            {
                MessageBox.Show("Bạn phải chọn ít nhất một phân công dự án để chỉnh sửa", "Thông báo");
                return;
            }
            DataGridViewRow dr    = dgvPhanCong.SelectedRows[0];
            PHANCONG_DTO    pcDTO = new PHANCONG_DTO();

            pcDTO.MaNV = int.Parse(dr.Cells["MaNV"].Value.ToString());
            pcDTO.MaDA = int.Parse(dr.Cells["MaDA"].Value.ToString());

            if ((int)cboDuAn.SelectedValue != pcDTO.MaDA)
            {
                MessageBox.Show("Bạn chỉ có thể thay đổi số giờ phân công dự án", "Thông báo");
                cboDuAn.BackColor = Color.Coral;
                return;
            }

            for (int i = 0; i < chklstNhanVien.Items.Count; i++)
            {
                NHANVIEN_DTO nvDTO = chklstNhanVien.Items[i] as NHANVIEN_DTO;
                if (chklstNhanVien.GetItemCheckState(i) == CheckState.Checked && nvDTO.MaNV != pcDTO.MaNV)
                {
                    MessageBox.Show("Bạn chỉ có thể thay đổi số giờ phân công dự án", "Thông báo");
                    chklstNhanVien.BackColor = Color.Coral;
                    return;
                }
            }

            int soGio;

            if (!int.TryParse(txtSoGio.Text, out soGio))
            {
                MessageBox.Show("Số giờ phân công không hợp lệ", "Thông báo");
                txtSoGio.BackColor = Color.Coral;
                return;
            }

            pcDTO.SoGio = soGio;
            int kq = PHANCONG_BUL.CapNhatPhanCong(pcDTO);

            if (kq > 0)
            {
                MessageBox.Show("Cập nhật phân công dự án thành công", "Thông báo");
                dr.Cells["SoGio"].Value = soGio;
                PHANCONG_DTO pcUpdated = lstPhanCong.Single(item => item.MaNV == pcDTO.MaNV && item.MaDA == pcDTO.MaDA);
                pcUpdated.SoGio = soGio;
            }
            else
            {
                MessageBox.Show("Cập nhật phân công dự án thất bại", "Thông báo");
            }
        }
        private void btnThem_Click(object sender, EventArgs e)
        {
            int validate = ValidateData();

            ResetColorAllControl();
            if (validate == 1)
            {
                MessageBox.Show("Số giờ bạn nhập không chính xác", "Thông báo");
                txtSoGio.BackColor = Color.Coral;
                return;
            }
            if (validate == 2)
            {
                MessageBox.Show("Bạn chưa chọn nhân viên nào", "Thông báo");
                chklstNhanVien.BackColor = Color.Coral;
                return;
            }
            if (validate == 3)
            {
                MessageBox.Show("Bạn chỉ được chọn 1 nhân viên", "Thông báo");
                chklstNhanVien.BackColor = Color.Coral;
                return;
            }

            PHANCONG_DTO pcDTO = new PHANCONG_DTO();

            pcDTO.MaDA  = (int)cboDuAn.SelectedValue;
            pcDTO.TenDA = cboDuAn.Text;
            pcDTO.SoGio = int.Parse(txtSoGio.Text);
            for (int i = 0; i < chklstNhanVien.Items.Count; i++)
            {
                if (chklstNhanVien.GetItemCheckState(i) == CheckState.Checked)
                {
                    NHANVIEN_DTO nvDTO = chklstNhanVien.Items[i] as NHANVIEN_DTO;
                    pcDTO.MaNV  = nvDTO.MaNV;
                    pcDTO.HoTen = nvDTO.Hoten;
                    break;
                }
            }

            int kq = PHANCONG_BUL.ThemPhanCong(pcDTO);

            if (kq > 0)
            {
                MessageBox.Show("Thêm phân công dự án thành công", "Thông báo");
                lstPhanCong.Add(pcDTO);
                dgvPhanCong.DataSource = typeof(List <PHANCONG_DTO>);
                dgvPhanCong.DataSource = lstPhanCong;
                EditDataGridView();
            }
            else
            {
                MessageBox.Show("Thêm phân công dự án thất bại. Đã tồn tại phân công này", "Thông báo");
            }
        }
示例#5
0
 public static int XoaPhanCong(PHANCONG_DTO pcDTO)
 {
     try
     {
         SqlConnection db  = DataProvider.dbContext;
         SqlCommand    cmd = new SqlCommand();
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.CommandText = "XoaPhanCongDuAn";
         cmd.Parameters.Add("@MaNV", SqlDbType.Int).Value = pcDTO.MaNV;
         cmd.Parameters.Add("@MaDA", SqlDbType.Int).Value = pcDTO.MaDA;
         cmd.Connection = db;
         return(cmd.ExecuteNonQuery());
     }
     catch (Exception ex)
     {
         return(-1);
     }
 }
示例#6
0
        public static List <PHANCONG_DTO> TimKiemPhanCongTheoNhanVien(string searchStr)
        {
            try
            {
                List <PHANCONG_DTO> lstPhanCong = new List <PHANCONG_DTO>();
                SqlConnection       db          = DataProvider.dbContext;
                SqlCommand          cmd         = new SqlCommand();
                cmd.CommandType = CommandType.Text;
                cmd.CommandText = "SELECT nv.MaNV, nv.HoTen, da.MaDA, da.TenDA, pc.SoGio" +

                                  " FROM NHANVIEN nv INNER JOIN PHANCONG pc ON nv.MaNV = pc.MaNV" +

                                  " INNER JOIN DUAN da ON da.MaDA = pc.MaDA" +

                                  " WHERE nv.Hoten LIKE " + "N'%" + searchStr + "%'";
                cmd.Connection = db;
                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    PHANCONG_DTO pcDTO = new PHANCONG_DTO();
                    pcDTO.MaNV  = int.Parse(reader["MaNV"].ToString());
                    pcDTO.HoTen = reader["HoTen"].ToString();
                    pcDTO.MaDA  = int.Parse(reader["MaDA"].ToString());
                    pcDTO.SoGio = int.Parse(reader["SoGio"].ToString());
                    pcDTO.TenDA = reader["TenDA"].ToString();
                    lstPhanCong.Add(pcDTO);
                }
                reader.Close();
                return(lstPhanCong);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
 public static int CapNhatPhanCong(PHANCONG_DTO pcDTO)
 {
     return(PHANCONG_DAL.CapNhatPhanCong(pcDTO));
 }
 public static int ThemPhanCong(PHANCONG_DTO pcDTO)
 {
     return(PHANCONG_DAL.ThemPhanCong(pcDTO));
 }
 public static int XoaPhanCong(PHANCONG_DTO pcDTO)
 {
     return(PHANCONG_DAL.XoaPhanCong(pcDTO));
 }