Beispiel #1
0
        public void ReviewActivity(string mssv, DT_QL_SV5TOT_6Entities dbContext, List <Activityhistory> activityhistories)
        {
            if (dbContext == null || activityhistories == null)
            {
                return;
            }

            SINH_VIEN sv = dbContext.SINH_VIEN.Find(mssv);

            if (sv == null)
            {
                return;
            }

            var ListActivity = dbContext.CHUONG_TRINH.Select(x => x.TenChuongTrinh).ToList();

            if (ListActivity == null)
            {
                return;
            }

            foreach (var item in activityhistories)
            {
                if (ListActivity.Contains(item.TenCT))
                {
                    CHUONG_TRINH chuongTrinh = dbContext.CHUONG_TRINH
                                               .Where(x => x.TenChuongTrinh.ToString() == item.TenCT.ToString())
                                               .FirstOrDefault();
                    int Matieuchuan = (int)chuongTrinh.MaTieuChuan;

                    TIEU_CHUAN tieuChuan = dbContext.TIEU_CHUAN.Find(Matieuchuan);

                    if (tieuChuan.Cap == 1)
                    {
                        if (sv.DON_VI.TenDonVi != item.Donvitochuc)
                        {
                            continue;
                        }
                    }
                    if (String.IsNullOrEmpty(item.Giaithuong) || item.Giaithuong.Trim().Substring(0, 4) != "Giải")
                    {
                        if (tieuChuan.QuyDinhGiai == true)
                        {
                            continue;
                        }
                    }
                    dbContext.THAMGIA_CHUONGTRINH.Add(new THAMGIA_CHUONGTRINH
                    {
                        Mssv          = mssv,
                        MaChuongTrinh = chuongTrinh.MaChuongTrinh,
                        Giai          = String.IsNullOrEmpty(item.Giaithuong) ? 0 : 1,
                        MaThoiGian    = 2
                    });
                    dbContext.SaveChanges();
                }
            }
        }
        public static void ReviewScrore(DT_QL_SV5TOT_6Entities db, DIEM diemSV)
        {
            //db.DIEMs.Add(diemSV);
            //Điểm được add vào phải trong thời gian xét
            if (diemSV.HOCKY_XETDIEM.THOIGIAN_XET.TrangThai == true)
            {
                //Nếu sinh viên chưa có điểm ở kỳ trước đó thì chỉ cần insert ko cần xét đạt tiêu chuẩn hay ko --> đến khi có điểm của cả 2 kỳ mới xét
                if (db.DIEMs.Where(x => x.Mssv == diemSV.Mssv && x.MaLoaiDiem == diemSV.MaLoaiDiem).ToList().Count() == 1)
                {
                    var DiemHocKyTruoc = db.DIEMs.Where(x => x.MaLoaiDiem == diemSV.MaLoaiDiem).Select(x => x.Diem1).FirstOrDefault();

                    var QDdiemToiThieu_Truong = db.QUYDINH_DIEM
                                                .Where(x => x.MaLoaiDiem == diemSV.MaLoaiDiem &&
                                                       x.MaDonVi == "HSVT" &&
                                                       x.Mathoigian == diemSV.HOCKY_XETDIEM.THOIGIAN_XET.MaThoiGian)
                                                .FirstOrDefault();

                    var QDdiemToiThieu_Donvi = db.QUYDINH_DIEM
                                               .Where(x => x.MaLoaiDiem == diemSV.MaLoaiDiem &&
                                                      x.MaDonVi == diemSV.SINH_VIEN.DON_VI.MaDonVi &&
                                                      x.Mathoigian == diemSV.HOCKY_XETDIEM.THOIGIAN_XET.MaThoiGian)
                                               .FirstOrDefault();

                    if (diemSV.LOAI_DIEM.TenLoaiDiem == "Điểm rèn luyện")
                    {
                        AddTieuChuanDiemRenLuyen(db, diemSV, QDdiemToiThieu_Truong, QDdiemToiThieu_Donvi, (int)DiemHocKyTruoc);
                    }
                    else
                    {
                        AddTieuChuanDiemKhac(db, diemSV, QDdiemToiThieu_Truong, QDdiemToiThieu_Donvi, (int)DiemHocKyTruoc);
                    }
                }

                db.SaveChanges();
            }
            else
            {
                throw new Exception("Điểm được thêm phải nằm trong thời gian xét");
            }
        }
 //Xét đạt tiêu chuẩn cho loại điểm khác
 //Nếu điểm trung bình 2 kỳ xét lớn hơn quy định tối thiểu thì đạt
 //Nếu lớn hơn điểm tối thiểu trường thì đạt cấp trường, khoa thì đạt cấp khoa, trường hợp nhỏ hơn ko làm gì cả
 private static void AddTieuChuanDiemKhac(DT_QL_SV5TOT_6Entities db, DIEM diemSV,
                                          QUYDINH_DIEM QDdiemToiThieu_Truong,
                                          QUYDINH_DIEM QDdiemToiThieu_Donvi,
                                          int DiemHocKyTruoc)
 {
     if (((int)DiemHocKyTruoc + (int)diemSV.Diem1) / 2 >= (int)QDdiemToiThieu_Truong.DiemToiThieu)
     {
         db.THUCHIEN_TIEUCHUAN.Add(new THUCHIEN_TIEUCHUAN
         {
             Mssv        = diemSV.Mssv,
             MaTieuChuan = (int)QDdiemToiThieu_Truong.MaTieuChuan,
             MaThoiGian  = diemSV.HOCKY_XETDIEM.THOIGIAN_XET.MaThoiGian
         });
     }
     else if (((int)DiemHocKyTruoc + (int)diemSV.Diem1) / 2 >= (int)QDdiemToiThieu_Donvi.DiemToiThieu)
     {
         db.THUCHIEN_TIEUCHUAN.Add(new THUCHIEN_TIEUCHUAN
         {
             Mssv        = diemSV.Mssv,
             MaTieuChuan = (int)QDdiemToiThieu_Donvi.MaTieuChuan,
             MaThoiGian  = diemSV.HOCKY_XETDIEM.THOIGIAN_XET.MaThoiGian
         });
     }
 }