public List <KQHT_DiemThanhPhanInfo> GetList(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            List <KQHT_DiemThanhPhanInfo> oKQHT_DiemThanhPhanInfoList = new List <KQHT_DiemThanhPhanInfo>();
            DataTable dtb = Get(pKQHT_DiemThanhPhanInfo);

            if (dtb != null)
            {
                for (int i = 0; i < dtb.Rows.Count; i++)
                {
                    oKQHT_DiemThanhPhanInfo = new KQHT_DiemThanhPhanInfo();

                    oKQHT_DiemThanhPhanInfo.KQHT_DiemThanhPhanID = long.Parse(dtb.Rows[i]["KQHT_DiemThanhPhanID"].ToString());
                    oKQHT_DiemThanhPhanInfo.IDSV_SinhVien        = int.Parse(dtb.Rows[i]["IDSV_SinhVien"].ToString());
                    oKQHT_DiemThanhPhanInfo.IDDM_MonHoc          = int.Parse(dtb.Rows[i]["IDDM_MonHoc"].ToString());
                    oKQHT_DiemThanhPhanInfo.IDDM_NamHoc          = int.Parse(dtb.Rows[i]["IDDM_NamHoc"].ToString());
                    oKQHT_DiemThanhPhanInfo.HocKy = int.Parse(dtb.Rows[i]["HocKy"].ToString());
                    oKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem = int.Parse(dtb.Rows[i]["IDKQHT_ThanhPhanDiem"].ToString());
                    oKQHT_DiemThanhPhanInfo.Diem      = double.Parse(dtb.Rows[i]["Diem"].ToString());
                    oKQHT_DiemThanhPhanInfo.LyDo      = dtb.Rows[i]["LyDo"].ToString();
                    oKQHT_DiemThanhPhanInfo.IDHT_User = int.Parse(dtb.Rows[i]["IDHT_User"].ToString());
                    oKQHT_DiemThanhPhanInfo.NgayTao   = DateTime.Parse(dtb.Rows[i]["NgayTao"].ToString());

                    oKQHT_DiemThanhPhanInfoList.Add(oKQHT_DiemThanhPhanInfo);
                }
            }
            return(oKQHT_DiemThanhPhanInfoList);
        }
 public DataTable Get(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
 {
     using (var client = new UnimOsServiceClient())
     {
         return(ConvertList.ToDataTable <sp_KQHT_DiemThanhPhan_GetResult>(client.cDKQHT_DiemThanhPhan_Get(GlobalVar.MaXacThuc, pKQHT_DiemThanhPhanInfo)));
     }
 }
        public DataTable Get(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            ArrayList colParam = new ArrayList();

            colParam.Add(CreateParam("@KQHT_DiemThanhPhanID", SqlDbType.BigInt, pKQHT_DiemThanhPhanInfo.KQHT_DiemThanhPhanID));

            return(RunProcedureGet("sp_KQHT_DiemThanhPhan_Get", colParam));
        }
        public void Delete(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            ArrayList colParam = new ArrayList();

            colParam.Add(CreateParam("@KQHT_DiemThanhPhanID", SqlDbType.BigInt, pKQHT_DiemThanhPhanInfo.KQHT_DiemThanhPhanID));

            RunProcedure("sp_KQHT_DiemThanhPhan_Delete", colParam);
        }
        public int AddByImport(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo, int LanThi, string MaSinhVien)
        {
            int ID = 0;

            ID            = oDKQHT_DiemThanhPhan.AddByImport(pKQHT_DiemThanhPhanInfo, LanThi, MaSinhVien);
            mErrorMessage = oDKQHT_DiemThanhPhan.ErrorMessages;
            mErrorNumber  = oDKQHT_DiemThanhPhan.ErrorNumber;
            return(ID);
        }
        public int Add(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            int ID = 0;

            ID            = oDKQHT_DiemThanhPhan.Add(pKQHT_DiemThanhPhanInfo);
            mErrorMessage = oDKQHT_DiemThanhPhan.ErrorMessages;
            mErrorNumber  = oDKQHT_DiemThanhPhan.ErrorNumber;
            return(ID);
        }
        public void Delete(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            var client = new UnimOsServiceClient();

            client.cDKQHT_DiemThanhPhan_Delete(GlobalVar.MaXacThuc, pKQHT_DiemThanhPhanInfo);
            client.Close();
            mErrorMessage = oDKQHT_DiemThanhPhan.ErrorMessages;
            mErrorNumber  = oDKQHT_DiemThanhPhan.ErrorNumber;
        }
        public int AddByImport(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo, int LanThi, string MaSinhVien)
        {
            int ID     = 0;
            var client = new UnimOsServiceClient();

            ID = client.cDKQHT_DiemThanhPhan_AddByImport(GlobalVar.MaXacThuc, pKQHT_DiemThanhPhanInfo, LanThi, MaSinhVien);
            client.Close();
            mErrorMessage = oDKQHT_DiemThanhPhan.ErrorMessages;
            mErrorNumber  = oDKQHT_DiemThanhPhan.ErrorNumber;
            return(ID);
        }
        public int Add(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            int ID     = 0;
            var client = new UnimOsServiceClient();

            ID = client.cDKQHT_DiemThanhPhan_Add(GlobalVar.MaXacThuc, pKQHT_DiemThanhPhanInfo);
            client.Close();
            mErrorMessage = oDKQHT_DiemThanhPhan.ErrorMessages;
            mErrorNumber  = oDKQHT_DiemThanhPhan.ErrorNumber;
            return(ID);
        }
 public void ToInfo(ref KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo, DataRow dr)
 {
     pKQHT_DiemThanhPhanInfo.KQHT_DiemThanhPhanID = long.Parse(dr[pKQHT_DiemThanhPhanInfo.strKQHT_DiemThanhPhanID].ToString());
     pKQHT_DiemThanhPhanInfo.IDSV_SinhVien        = int.Parse(dr[pKQHT_DiemThanhPhanInfo.strIDSV_SinhVien].ToString());
     pKQHT_DiemThanhPhanInfo.IDDM_MonHoc          = int.Parse(dr[pKQHT_DiemThanhPhanInfo.strIDDM_MonHoc].ToString());
     pKQHT_DiemThanhPhanInfo.IDDM_NamHoc          = int.Parse(dr[pKQHT_DiemThanhPhanInfo.strIDDM_NamHoc].ToString());
     pKQHT_DiemThanhPhanInfo.HocKy = int.Parse(dr[pKQHT_DiemThanhPhanInfo.strHocKy].ToString());
     pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem = int.Parse(dr[pKQHT_DiemThanhPhanInfo.strIDKQHT_ThanhPhanDiem].ToString());
     pKQHT_DiemThanhPhanInfo.Diem      = double.Parse(dr[pKQHT_DiemThanhPhanInfo.strDiem].ToString());
     pKQHT_DiemThanhPhanInfo.LyDo      = dr[pKQHT_DiemThanhPhanInfo.strLyDo].ToString();
     pKQHT_DiemThanhPhanInfo.IDHT_User = int.Parse(dr[pKQHT_DiemThanhPhanInfo.strIDHT_User].ToString());
     pKQHT_DiemThanhPhanInfo.NgayTao   = DateTime.Parse(dr[pKQHT_DiemThanhPhanInfo.strNgayTao].ToString());
 }
 public frmNhapDiemThanhPhan()
 {
     InitializeComponent();
     oBDM_Lop                = new cBDM_Lop();
     oBXL_MonHocTrongKy      = new cBXL_MonHocTrongKy();
     oBKQHT_DiemThanhPhan    = new cBKQHT_DiemThanhPhan();
     pKQHT_DiemThanhPhanInfo = new KQHT_DiemThanhPhanInfo();
     pKQHT_CongThucDiemInfo  = new KQHT_CongThucDiemInfo();
     oBKQHT_CongThucDiem     = new cBKQHT_CongThucDiem();
     oBKQHT_DiemThi          = new cBKQHT_DiemThi();
     pKQHT_DiemThiInfo       = new KQHT_DiemThiInfo();
     rdgTuDanhSach.Enabled   = false;
 }
 public void ToDataRow(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo, ref DataRow dr)
 {
     dr[pKQHT_DiemThanhPhanInfo.strKQHT_DiemThanhPhanID] = pKQHT_DiemThanhPhanInfo.KQHT_DiemThanhPhanID;
     dr[pKQHT_DiemThanhPhanInfo.strIDSV_SinhVien]        = pKQHT_DiemThanhPhanInfo.IDSV_SinhVien;
     dr[pKQHT_DiemThanhPhanInfo.strIDDM_MonHoc]          = pKQHT_DiemThanhPhanInfo.IDDM_MonHoc;
     dr[pKQHT_DiemThanhPhanInfo.strIDDM_NamHoc]          = pKQHT_DiemThanhPhanInfo.IDDM_NamHoc;
     dr[pKQHT_DiemThanhPhanInfo.strHocKy] = pKQHT_DiemThanhPhanInfo.HocKy;
     dr[pKQHT_DiemThanhPhanInfo.strIDKQHT_ThanhPhanDiem] = pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem;
     dr[pKQHT_DiemThanhPhanInfo.strDiem]      = pKQHT_DiemThanhPhanInfo.Diem;
     dr[pKQHT_DiemThanhPhanInfo.strLyDo]      = pKQHT_DiemThanhPhanInfo.LyDo;
     dr[pKQHT_DiemThanhPhanInfo.strIDHT_User] = pKQHT_DiemThanhPhanInfo.IDHT_User;
     dr[pKQHT_DiemThanhPhanInfo.strNgayTao]   = pKQHT_DiemThanhPhanInfo.NgayTao;
 }
Beispiel #13
0
        public void DeleteByInfo(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            ArrayList colParam = new ArrayList();

            colParam.Add(CreateParam("@IDSV_SinhVien", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDSV_SinhVien));
            colParam.Add(CreateParam("@IDDM_MonHoc", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDDM_MonHoc));
            colParam.Add(CreateParam("@IDDM_NamHoc", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDDM_NamHoc));
            colParam.Add(CreateParam("@HocKy", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.HocKy));
            colParam.Add(CreateParam("@IDKQHT_ThanhPhanDiem", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem));
            colParam.Add(CreateParam("@DiemThu", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.DiemThu));
            colParam.Add(CreateParam("@DiemLan", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.DiemLan));

            RunProcedure("sp_KQHT_DiemThanhPhan_DeleteByInfo", colParam);
        }
Beispiel #14
0
 public frmNhapDiemTheoLopHocLai()
 {
     InitializeComponent();
     oBDM_Lop                 = new cBDM_Lop();
     oBKQHT_DiemThanhPhan     = new cBKQHT_DiemThanhPhan();
     pKQHT_DiemThanhPhanInfo  = new KQHT_DiemThanhPhanInfo();
     pKQHT_CongThucDiemInfo   = new KQHT_CongThucDiemInfo();
     oBKQHT_CongThucDiem      = new cBKQHT_CongThucDiem();
     oBKQHT_DiemThi           = new cBKQHT_DiemThi();
     pKQHT_DiemThiInfo        = new KQHT_DiemThiInfo();
     oBKQHT_LopHocLai         = new cBKQHT_LopHocLai();
     pKQHT_DiemTongKetMonInfo = new KQHT_DiemTongKetMonInfo();
     oBKQHT_DiemTongKetMon    = new cBKQHT_DiemTongKetMon();
 }
Beispiel #15
0
        public int AddByImport(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo, int LanThi, string MaSinhVien)
        {
            ArrayList colParam = new ArrayList();

            colParam.Add(CreateParam("@MaSinhVien", SqlDbType.NVarChar, MaSinhVien));
            colParam.Add(CreateParam("@IDDM_NamHoc", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDDM_NamHoc));
            colParam.Add(CreateParam("@HocKy", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.HocKy));
            colParam.Add(CreateParam("@IDKQHT_ThanhPhanDiem", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem));
            colParam.Add(CreateParam("@LanThi", SqlDbType.Int, LanThi));
            colParam.Add(CreateParam("@Diem", SqlDbType.Real, pKQHT_DiemThanhPhanInfo.Diem));
            colParam.Add(CreateParam("@IDHT_User", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDHT_User));
            colParam.Add(CreateParam("@IDXL_MonHocTrongKy", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDXL_MonHocTrongKy));
            colParam.Add(CreateParamOut("@ID", SqlDbType.Int));

            return((int)RunProcedureOut("sp_KQHT_DiemThanhPhan_AddByImport", colParam));
        }
        public void Update(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            ArrayList colParam = new ArrayList();

            colParam.Add(CreateParam("@IDSV_SinhVien", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDSV_SinhVien));
            colParam.Add(CreateParam("@IDDM_MonHoc", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDDM_MonHoc));
            colParam.Add(CreateParam("@IDDM_NamHoc", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDDM_NamHoc));
            colParam.Add(CreateParam("@HocKy", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.HocKy));
            colParam.Add(CreateParam("@IDKQHT_ThanhPhanDiem", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem));
            colParam.Add(CreateParam("@DiemThu", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.DiemThu));
            colParam.Add(CreateParam("@Diem", SqlDbType.Real, pKQHT_DiemThanhPhanInfo.Diem));
            colParam.Add(CreateParam("@LyDo", SqlDbType.NVarChar, pKQHT_DiemThanhPhanInfo.LyDo));
            colParam.Add(CreateParam("@IDHT_User", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDHT_User));
            colParam.Add(CreateParam("@KQHT_DiemThanhPhanID", SqlDbType.BigInt, pKQHT_DiemThanhPhanInfo.KQHT_DiemThanhPhanID));

            RunProcedure("sp_KQHT_DiemThanhPhan_Update", colParam);
        }
        public int Add(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
        {
            ArrayList colParam = new ArrayList();

            colParam.Add(CreateParam("@IDSV_SinhVien", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDSV_SinhVien));
            colParam.Add(CreateParam("@IDDM_MonHoc", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDDM_MonHoc));
            colParam.Add(CreateParam("@IDDM_NamHoc", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDDM_NamHoc));
            colParam.Add(CreateParam("@HocKy", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.HocKy));
            colParam.Add(CreateParam("@IDKQHT_ThanhPhanDiem", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem));
            colParam.Add(CreateParam("@DiemThu", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.DiemThu));
            colParam.Add(CreateParam("@Diem", SqlDbType.Real, pKQHT_DiemThanhPhanInfo.Diem));
            colParam.Add(CreateParam("@LyDo", SqlDbType.NVarChar, pKQHT_DiemThanhPhanInfo.LyDo));
            colParam.Add(CreateParam("@IDHT_User", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDHT_User));
            colParam.Add(CreateParam("@IDXL_MonHocTrongKy", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.IDXL_MonHocTrongKy));
            colParam.Add(CreateParam("@DiemLan", SqlDbType.Int, pKQHT_DiemThanhPhanInfo.DiemLan));
            colParam.Add(CreateParamOut("@ID", SqlDbType.Int));

            return((int)RunProcedureOut("sp_KQHT_DiemThanhPhan_Add", colParam));
        }
        public void TinhDiemTBHS(DataTable dtSV, DataRow drMonHoc, int IDDM_Lop, int IDDM_TrinhDo, int IDDM_NamHoc, int HocKy, int IDKQHT_ThanhPhanDiem, int LanThi, string CongThucDiem, int NS_GiaoVienID)
        {
            DataTable dtDiem               = GetTongHopTBHS(int.Parse(drMonHoc["XL_MonHocTrongKyID"].ToString()), int.Parse(drMonHoc["DM_MonHocID"].ToString()), IDDM_Lop, IDDM_TrinhDo, IDDM_NamHoc, HocKy, LanThi);
            DataTable dtTPBatBuoc          = (new cDKQHT_ThanhPhanDiemBatBuoc()).GetByTrinhDo(IDDM_TrinhDo);
            string    TinhCaTietNghiCoPhep = (new cBHT_ThamSoHeThong()).GetGiaTriByMaThamSo("TinhCaTietNghiCoPhep");
            string    LyDo;
            int       SoTietNghi;
            double    DiemThapNhat = double.Parse((new cBHT_ThamSoHeThong()).GetGiaTriByMaThamSo("DieuKienDiemDuThi"));

            DataRow[] arrDr, arrDrTPBatBuoc;

            KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo = new KQHT_DiemThanhPhanInfo();

            pKQHT_DiemThanhPhanInfo.IDDM_MonHoc        = int.Parse(drMonHoc["DM_MonHocID"].ToString());
            pKQHT_DiemThanhPhanInfo.IDXL_MonHocTrongKy = int.Parse(drMonHoc["XL_MonHocTrongKyID"].ToString());
            pKQHT_DiemThanhPhanInfo.IDDM_NamHoc        = IDDM_NamHoc;
            pKQHT_DiemThanhPhanInfo.HocKy = HocKy;
            pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem = IDKQHT_ThanhPhanDiem;
            pKQHT_DiemThanhPhanInfo.IDHT_User            = NS_GiaoVienID;
            pKQHT_DiemThanhPhanInfo.DiemThu = LanThi;
            pKQHT_DiemThanhPhanInfo.DiemLan = LanThi;

            cDKQHT_DanhSachKhongThi   oDKQHT_DanhSachKhongThi    = new cDKQHT_DanhSachKhongThi();
            KQHT_DanhSachKhongThiInfo pKQHT_DanhSachKhongThiInfo = new KQHT_DanhSachKhongThiInfo();

            pKQHT_DanhSachKhongThiInfo.IDDM_MonHoc = pKQHT_DiemThanhPhanInfo.IDDM_MonHoc;
            pKQHT_DanhSachKhongThiInfo.IDDM_NamHoc = IDDM_NamHoc;
            pKQHT_DanhSachKhongThiInfo.HocKy       = HocKy;
            pKQHT_DanhSachKhongThiInfo.LanThi      = LanThi;

            foreach (DataRow dr in dtSV.Rows)
            {
                LyDo = "";
                // Kiểm tra số tiết nghỉ
                SoTietNghi = int.Parse("0" + dr["KhongLyDo"]);
                if (TinhCaTietNghiCoPhep != "0")
                {
                    SoTietNghi += int.Parse("0" + dr["CoLyDo"]);
                }
                if (SoTietNghi > SoTietNghiChoPhep * int.Parse("0" + drMonHoc["SoTiet"]))
                {
                    LyDo = "Nghỉ quá số tiết quy định;";
                }
                // Kiểm tra số thành phần điểm
                arrDr = dtDiem.Select("IDSV_SinhVien = " + dr["SV_SinhVienID"]);
                if (arrDr.Length > 0)
                {
                    foreach (DataRow dr1 in arrDr)
                    {
                        arrDrTPBatBuoc = dtTPBatBuoc.Select("SoHocTrinh = " + drMonHoc["SoHocTrinh"] + " And IDKQHT_ThanhPhanDiem = " + dr1["IDKQHT_ThanhPhanDiem"]);
                        if (arrDrTPBatBuoc.Length > 0)
                        {
                            if (int.Parse("0" + dr1["SoDiem"]) < int.Parse("0" + arrDrTPBatBuoc[0]["SoDiemBatBuoc"]))
                            {
                                dr1["SoDiem"] = arrDrTPBatBuoc[0]["SoDiemBatBuoc"];
                                LyDo         += "Số thành phần của " + dr1["KyHieu"] + " ít hơn quy định;";
                            }
                        }
                    }

                    // Được phép tổng hợp điểm hệ số
                    pKQHT_DiemThanhPhanInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    pKQHT_DiemThanhPhanInfo.Diem          = TestCongThuc(arrDr, CongThucDiem);

                    if (!(double.IsInfinity(pKQHT_DiemThanhPhanInfo.Diem) ||
                          double.IsNaN(pKQHT_DiemThanhPhanInfo.Diem) || double.IsNegativeInfinity(pKQHT_DiemThanhPhanInfo.Diem)))
                    {
                        dr[IDKQHT_ThanhPhanDiem.ToString() + "_" + LanThi.ToString()] = pKQHT_DiemThanhPhanInfo.Diem;
                        oDKQHT_DiemThanhPhan.Add(pKQHT_DiemThanhPhanInfo);

                        pKQHT_DiemThanhPhanInfo.Diem = 0;
                    }

                    if (pKQHT_DiemThanhPhanInfo.Diem < DiemThapNhat)
                    {
                        LyDo += "Điểm TBHS < " + DiemThapNhat.ToString() + ";";
                    }
                }
                else
                {
                    LyDo = "Chưa có điểm thành phần";
                    pKQHT_DiemThanhPhanInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    oDKQHT_DiemThanhPhan.DeleteByInfo(pKQHT_DiemThanhPhanInfo);
                }

                if (LyDo != "")
                {
                    // Đưa SV vào danh sách không được thi
                    pKQHT_DanhSachKhongThiInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    pKQHT_DanhSachKhongThiInfo.LyDo          = LyDo;
                    pKQHT_DanhSachKhongThiInfo.LanThi        = LanThi;
                    oDKQHT_DanhSachKhongThi.AddTuDong(pKQHT_DanhSachKhongThiInfo);
                    dr["LyDo"] = LyDo;
                }
                else if ("" + dr["LyDo"] != "")
                {
                    pKQHT_DanhSachKhongThiInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    pKQHT_DanhSachKhongThiInfo.LanThi        = LanThi;
                    oDKQHT_DanhSachKhongThi.DeleteTuDong(pKQHT_DanhSachKhongThiInfo);
                    dr["LyDo"] = "";
                }
            }

            oDKQHT_DanhSachKhongThi.DeleteDanhSachDuThi(pKQHT_DanhSachKhongThiInfo, pKQHT_DiemThanhPhanInfo.IDXL_MonHocTrongKy);
        }
        public void TinhDiemTBHS_QCNghe(DataTable dtSV, DataRow drMonHoc, int IDDM_Lop, int IDDM_TrinhDo, int IDDM_NamHoc, int HocKy, int IDKQHT_ThanhPhanDiem, int LanThi, string CongThucDiem, int NS_GiaoVienID)
        {
            DataTable dtDiem               = GetTongHopTBHS(int.Parse(drMonHoc["XL_MonHocTrongKyID"].ToString()), int.Parse(drMonHoc["DM_MonHocID"].ToString()), IDDM_Lop, IDDM_TrinhDo, IDDM_NamHoc, HocKy, LanThi);
            DataTable dtTPBatBuoc          = (new cDKQHT_ThanhPhanDiemBatBuoc()).GetByTrinhDo(IDDM_TrinhDo);
            string    TinhCaTietNghiCoPhep = (new cBwsHT_ThamSoHeThong()).GetGiaTriByMaThamSo("TinhCaTietNghiCoPhep");
            string    LyDo;
            //int SoTietNghi;
            double DiemThapNhat = double.Parse((new cBwsHT_ThamSoHeThong()).GetGiaTriByMaThamSo("DieuKienDiemDuThi"));

            DataRow[] arrDr, arrDrTPBatBuoc;

            KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo = new KQHT_DiemThanhPhanInfo();

            pKQHT_DiemThanhPhanInfo.IDDM_MonHoc        = int.Parse(drMonHoc["DM_MonHocID"].ToString());
            pKQHT_DiemThanhPhanInfo.IDXL_MonHocTrongKy = int.Parse(drMonHoc["XL_MonHocTrongKyID"].ToString());
            pKQHT_DiemThanhPhanInfo.IDDM_NamHoc        = IDDM_NamHoc;
            pKQHT_DiemThanhPhanInfo.HocKy = HocKy;
            pKQHT_DiemThanhPhanInfo.IDKQHT_ThanhPhanDiem = IDKQHT_ThanhPhanDiem;
            pKQHT_DiemThanhPhanInfo.IDHT_User            = NS_GiaoVienID;
            pKQHT_DiemThanhPhanInfo.DiemThu = LanThi;
            pKQHT_DiemThanhPhanInfo.DiemLan = LanThi;

            cDKQHT_DanhSachKhongThi   oDKQHT_DanhSachKhongThi    = new cDKQHT_DanhSachKhongThi();
            KQHT_DanhSachKhongThiInfo pKQHT_DanhSachKhongThiInfo = new KQHT_DanhSachKhongThiInfo();

            pKQHT_DanhSachKhongThiInfo.IDDM_MonHoc = pKQHT_DiemThanhPhanInfo.IDDM_MonHoc;
            pKQHT_DanhSachKhongThiInfo.IDDM_NamHoc = IDDM_NamHoc;
            pKQHT_DanhSachKhongThiInfo.HocKy       = HocKy;

            foreach (DataRow dr in dtSV.Rows)
            {
                LyDo = "";
                // Kiểm tra số tiết nghỉ
                //SoTietNghi = int.Parse("0" + dr["KhongLyDo"]);
                //if (TinhCaTietNghiCoPhep != "0")
                //    SoTietNghi += int.Parse("0" + dr["CoLyDo"]);
                //if (SoTietNghi > SoTietNghiChoPhep * int.Parse("0" + drMonHoc["SoTiet"]))
                //{
                //    LyDo = "Nghỉ quá số tiết quy định;";
                //}
                // Kiểm tra số tiết học lại
                if ("" + dr["SoTietHocLai"] != "")
                {
                    LyDo = "Học lại " + dr["SoTietHocLai"] + " tiết";
                }
                // Kiểm tra số thành phần điểm
                arrDr = dtDiem.Select("IDSV_SinhVien = " + dr["SV_SinhVienID"]);
                if (arrDr.Length > 0)
                {
                    foreach (DataRow dr1 in arrDr)
                    {
                        arrDrTPBatBuoc = dtTPBatBuoc.Select("SoHocTrinh = " + drMonHoc["SoHocTrinh"] + " And IDKQHT_ThanhPhanDiem = " + dr1["IDKQHT_ThanhPhanDiem"]);
                        if (arrDrTPBatBuoc.Length > 0)
                        {
                            if (int.Parse("0" + dr1["SoDiem"]) < int.Parse("0" + arrDrTPBatBuoc[0]["SoDiemBatBuoc"]))
                            {
                                dr1["SoDiem"] = arrDrTPBatBuoc[0]["SoDiemBatBuoc"];
                                LyDo         += "Số thành phần của " + dr1["KyHieu"] + " ít hơn quy định;";
                            }
                        }
                    }
                    // Được phép tổng hợp điểm hệ số

                    pKQHT_DiemThanhPhanInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    pKQHT_DiemThanhPhanInfo.Diem          = TestCongThuc(arrDr, CongThucDiem);
                    dr[IDKQHT_ThanhPhanDiem.ToString() + "_" + LanThi.ToString()] = pKQHT_DiemThanhPhanInfo.Diem;
                    var client = new UnimOsServiceClient();
                    client.cDKQHT_DiemThanhPhan_Add(GlobalVar.MaXacThuc, pKQHT_DiemThanhPhanInfo);
                    client.Close();
                    if (pKQHT_DiemThanhPhanInfo.Diem < DiemThapNhat)
                    {
                        LyDo += "Điểm TBHS < " + DiemThapNhat.ToString() + ";";
                    }
                }
                else
                {
                    LyDo = "Chưa có điểm thành phần";
                    pKQHT_DiemThanhPhanInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    var client = new UnimOsServiceClient();
                    client.cDKQHT_DiemThanhPhan_DeleteByInfo(GlobalVar.MaXacThuc, pKQHT_DiemThanhPhanInfo);
                    client.Close();
                }

                if (LyDo != "" || "" + dr["SoTietHocLai"] != "")
                {
                    // Đưa SV vào danh sách không được thi
                    pKQHT_DanhSachKhongThiInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    pKQHT_DanhSachKhongThiInfo.LyDo          = LyDo;
                    pKQHT_DanhSachKhongThiInfo.LanThi        = LanThi;
                    if ("" + dr["SoTietHocLai"] != "")
                    {
                        pKQHT_DanhSachKhongThiInfo.SoTietHocLai = int.Parse("" + dr["SoTietHocLai"]);
                    }
                    else
                    {
                        pKQHT_DanhSachKhongThiInfo.SoTietHocLai = null;
                    }
                    var client = new UnimOsServiceClient();
                    client.cDKQHT_DanhSachKhongThi_AddTuDong(GlobalVar.MaXacThuc, pKQHT_DanhSachKhongThiInfo);
                    client.Close();
                    dr["LyDo"] = LyDo;
                }
                else if ("" + dr["LyDo"] != "" && "" + dr["SoTietHocLai"] == "")
                {
                    pKQHT_DanhSachKhongThiInfo.IDSV_SinhVien = int.Parse(dr["SV_SinhVienID"].ToString());
                    pKQHT_DanhSachKhongThiInfo.LanThi        = LanThi;
                    var client = new UnimOsServiceClient();
                    client.cDKQHT_DanhSachKhongThi_DeleteTuDong(GlobalVar.MaXacThuc, pKQHT_DanhSachKhongThiInfo);
                    client.Close();
                    dr["LyDo"] = "";
                }
            }
        }
 public void Update(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
 {
     oDKQHT_DiemThanhPhan.Update(pKQHT_DiemThanhPhanInfo);
     mErrorMessage = oDKQHT_DiemThanhPhan.ErrorMessages;
     mErrorNumber  = oDKQHT_DiemThanhPhan.ErrorNumber;
 }
 public void DeleteByInfo(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
 {
     oDKQHT_DiemThanhPhan.DeleteByInfo(pKQHT_DiemThanhPhanInfo);
     mErrorMessage = oDKQHT_DiemThanhPhan.ErrorMessages;
     mErrorNumber  = oDKQHT_DiemThanhPhan.ErrorNumber;
 }
 public DataTable Get(KQHT_DiemThanhPhanInfo pKQHT_DiemThanhPhanInfo)
 {
     return(oDKQHT_DiemThanhPhan.Get(pKQHT_DiemThanhPhanInfo));
 }