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 }); } }