private void grdPhanCong_DragDrop(object sender, DragEventArgs e)
        {
            try
            {
                GridHitInfo hi = grvPhanCong.CalcHitInfo(grdPhanCong.PointToClient(new Point(e.X, e.Y)));
                if (hi.InRow)
                {
                    e.Effect = DragDropEffects.Copy;
                    rowIndex = hi.RowHandle;
                    if ("" + dtPhanCong.Rows[rowIndex]["HoTens"] != "")
                    {
                        popupGiaoVien.ShowPopup(MousePosition);
                    }
                    else
                    {
                        if (!CheckMonDayGiaoVien(dtPhanCong.Rows[rowIndex]["IDDM_MonHoc"].ToString()))
                        {
                            if (ThongBaoChon("Môn học này không có trong danh sách các môn có thể dạy của giảng viên: " + HoTen + "\nBạn có đồng ý với lựa chọn này không?") != DialogResult.Yes)
                            {
                                return;
                            }
                        }
                        GetpXL_PhanCongGiaoVienInfo(int.Parse(dtPhanCong.Rows[rowIndex]["XL_MonHocTrongKyID"].ToString()));

                        pXL_PhanCongGiaoVienInfo.SoTiet = int.Parse(dtPhanCong.Rows[rowIndex]["SoTiet"].ToString());
                        oBXL_PhanCongGiaoVien.Add(pXL_PhanCongGiaoVienInfo);

                        DataRow[] arrDr = dtGiaoVien.Select("IDNS_GiaoVien = " + IDNS_GiaoVien);
                        if (arrDr.Length > 0)
                        {
                            arrDr[0]["TongSoTiet"] = int.Parse("0" + arrDr[0]["TongSoTiet"]) + pXL_PhanCongGiaoVienInfo.SoTiet;
                        }
                        // ghi log
                        GhiLog("Thêm giáo viên '" + HoTen + "' vào lớp '" + dtPhanCong.Rows[rowIndex]["TenLop"].ToString() + "' dạy môn học '" + dtPhanCong.Rows[rowIndex]["TenMonHoc"].ToString() + "'", "Thêm", this.Tag.ToString());
                        dtPhanCong.Rows[rowIndex]["IDNS_GiaoViens"] = IDNS_GiaoVien.ToString();
                        dtPhanCong.Rows[rowIndex]["HoTens"]         = HoTen;
                        dtPhanCong.Rows[rowIndex]["SoTiets"]        = pXL_PhanCongGiaoVienInfo.SoTiet.ToString();
                    }

                    //DataRow[] arrDr = dtPhanCong.Select("IDNS_GiaoVien = " + IDNS_GiaoVien.ToString());
                    //if (arrDr.Length > 0)
                    //{
                    //    arrDr[0]["SoTiet"] = int.Parse("0" + arrDr[0]["SoTiet"]) + int.Parse(dtPhanCong.Rows[hi.RowHandle]["SoTietTuan"].ToString());
                    //}
                }
            }
            catch (Exception ex)
            {
                ThongBao(ex.Message);
            }
        }
예제 #2
0
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            // Cập nhật số tiết
            pXL_PhanCongGiaoVienInfo.IDXL_MonHocTrongKy = int.Parse(drPhanCong["XL_MonHocTrongKyID"].ToString());
            DataRow[] arrDr;
            drPhanCong["IDNS_GiaoViens"] = "";
            drPhanCong["HoTens"]         = "";
            drPhanCong["SoTiets"]        = "";
            foreach (DataRow dr in dtPhanCong.Rows)
            {
                pXL_PhanCongGiaoVienInfo.IDNS_GiaoVien = int.Parse(dr["IDNS_GiaoVien"].ToString());
                pXL_PhanCongGiaoVienInfo.SoTiet        = int.Parse(dr["SoTiet"].ToString());
                if (int.Parse(dr["XL_PhanCongGiaoVienID"].ToString()) > 0)
                {
                    pXL_PhanCongGiaoVienInfo.XL_PhanCongGiaoVienID = int.Parse(dr["XL_PhanCongGiaoVienID"].ToString());
                    oBXL_PhanCongGiaoVien.Update(pXL_PhanCongGiaoVienInfo);
                }
                else
                {
                    oBXL_PhanCongGiaoVien.Add(pXL_PhanCongGiaoVienInfo);
                }
                // Cập nhật lại số tiết kỳ của GV
                arrDr = dtGiaoVien.Select("IDNS_GiaoVien = " + pXL_PhanCongGiaoVienInfo.IDNS_GiaoVien.ToString());
                if (arrDr.Length > 0)
                {
                    arrDr[0]["TongSoTiet"] = int.Parse("0" + arrDr[0]["TongSoTiet"]) - int.Parse(dr["SoTietCu"].ToString())
                                             + int.Parse(dr["SoTiet"].ToString());
                }
                drPhanCong["IDNS_GiaoViens"] = ("" + drPhanCong["IDNS_GiaoViens"] == "" ? dr["IDNS_GiaoVien"].ToString() :
                                                drPhanCong["IDNS_GiaoViens"] + "," + dr["IDNS_GiaoVien"]);
                drPhanCong["HoTens"]  = ("" + drPhanCong["HoTens"] == "" ? dr["HoTen"].ToString() : drPhanCong["HoTens"] + ", " + dr["HoTen"]);
                drPhanCong["SoTiets"] = ("" + drPhanCong["SoTiets"] == "" ? dr["SoTiet"].ToString() : drPhanCong["SoTiets"] + ", " + dr["SoTiet"]);
            }

            this.DialogResult = DialogResult.OK;
            this.Close();
        }