public IActionResult Create(KetQuaThi kq) { try { if (is_admin) { //kq.ngay_thi = Convert.ToInt32(XMedia.XUtil.TimeInEpoch(cv_ngay_thi)); SetMetaData(kq, false); var ket_qua_thi = KetQuaThiRepository.Instance.Index(kq); if (ket_qua_thi) { SetAlert("Thêm kết quả thi thành công", "success"); } else { SetAlert("Thêm kết quả thi thất bại", "error"); } } else { SetAlert("Thêm kết quả thi thất bại, bạn không có quyền", "error"); } } catch (Exception e) { Console.WriteLine(e); } return(View()); }
public void LuuKetQua() { string SoCauDung = socaudung.ToString(); string MaHS = UserName; string SoCauSai = (SoLuongCauHoi() - socaudung).ToString(); double DiemThi = Diem; string Ngaythi = NgayThi; string KiThi = MaKiThi; KetQuaThi insert = new KetQuaThi(); insert.SoCauDung = SoCauDung; insert.MaHS = MaHS; insert.SoCauSai = SoCauSai; insert.DiemThi = DiemThi; insert.NgayThi = NgayThi; insert.ID_Account = MaHS; insert.KyThi = KiThi; insert.TenMH = lblMonHoc.Text; db.KetQuaThis.InsertOnSubmit(insert); try { db.SubmitChanges(); } catch (Exception) { } }
public KetQuaThiMap(KetQuaThi kq, TaiKhoan tk, CuocThi ct, List <ThuocTinh> tt) { id = kq.id; nguoi_tao = kq.nguoi_tao; ngay_tao = kq.ngay_tao; nguoi_sua = kq.nguoi_sua; ngay_sua = kq.ngay_sua; ngay_thi = kq.ngay_thi; if (tk != null) { id_tai_khoan = tk.id; username = tk.username; } if (ct != null) { id_cuoc_thi = ct.id; ten_cuoc_thi = ct.ten; } diem_thi = kq.diem_thi; ket_qua_thi_json = kq.ket_qua_thi_json; var item_thuoc_tinh = new List <int>(); if (kq.thuoc_tinh != null) { item_thuoc_tinh = kq.thuoc_tinh; } thuoc_tinh = tt.Where(x => item_thuoc_tinh.Contains(x.gia_tri)).ToDictionary(x => x.gia_tri, y => y.ten); }
public bool Update(KetQuaThi data) { string id = $"{data.id}"; data.id = string.Empty; data.ngay_sua = XMedia.XUtil.TimeInEpoch(DateTime.Now); return(Update(_default_index, data, id)); }
//Lay bài thi cua 1 phong internal object ListALLexam(string id) { List <DanhGia> ketQuas = new List <DanhGia>(); var phong = db.Phong_Thi.Where(x => x.MaPhong.Equals(id.Trim())).ToList().First(); foreach (var item in phong.DS_SVThi) { var DeThi = db.De_Thi.Where(x => x.MaDeThi == item.MaDeThi).ToList().First(); if (DeThi != null) { if (DeThi.KetQuaThis.Count == 0) { TracNghiemOnlineDB tb1 = new TracNghiemOnlineDB(); DanhGia danhGia = new DanhGia(); danhGia = Mark(DeThi); ketQuas.Add(danhGia); KetQuaThi ketQuaThi = new KetQuaThi(); ketQuaThi.Ma_DeThi = DeThi.MaDeThi; ketQuaThi.NgayThi = DateTime.Now; ketQuaThi.SoCauDung = danhGia.ketQuaThi.SoCauDung; ketQuaThi.SoCauSai = danhGia.ketQuaThi.SoCauSai; ketQuaThi.DiemSo = danhGia.ketQuaThi.DiemSo; tb1.KetQuaThis.Add(ketQuaThi); tb1.SaveChanges(); foreach (var item1 in danhGia.ketQuaThi.De_Thi.Danh_Gia) { Danh_Gia danh_Gia = new Danh_Gia(); danh_Gia.MaChuong = item1.MaChuong; danh_Gia.MaDeThi = item1.MaDeThi; danh_Gia.SoCauDung = item1.SoCauDung; danh_Gia.TongCau = item1.TongCau; // danh_Gia.NhanXet = item1.NhanXet; danh_Gia.DanhGia = item1.DanhGia; tb1.Danh_Gia.Add(danh_Gia); tb1.SaveChanges(); } } else { DanhGia danhGia = new DanhGia(); danhGia.ketQuaThi = DeThi.KetQuaThis.ToList().First(); danhGia.ketQuaThi.De_Thi = DeThi; ketQuas.Add(danhGia); } } } return(ketQuas); }
private KetQuaThi ConvertDoc(IHit <KetQuaThi> hit) { KetQuaThi u = new KetQuaThi(); try { u = hit.Source; u.id = hit.Id; } catch { } return(u); }
public bool Index(KetQuaThi data) { int retry = 0; int max_retry = 5; bool need_retry = true; while (retry++ < max_retry && need_retry) { need_retry = !Index(_default_index, data, ""); if (need_retry) { Task.Delay(1000).Wait(); } } return(!need_retry); }
public bool Index(KetQuaThi ket_qua, out string id) { id = ""; var req = new IndexRequest <KetQuaThi> { Document = ket_qua }; var re = client.Index(req); if (re.Result == Result.Created) { id = re.Id; return(true); } return(false); }
public IActionResult InsertKetQuaThi(string cuoc_thi, string tai_khoan, string json_ket_qua_thi, double diem_thi) { KetQuaThi kq = new KetQuaThi { id_tai_khoan = tai_khoan, id_cuoc_thi = cuoc_thi, diem_thi = diem_thi, ket_qua_thi_json = json_ket_qua_thi, ngay_tao = XMedia.XUtil.TimeInEpoch(DateTime.Now), ngay_sua = XMedia.XUtil.TimeInEpoch(DateTime.Now), nguoi_tao = tai_khoan, nguoi_sua = tai_khoan }; if (KetQuaThiRepository.Instance.Index(kq, out string id)) { var get_kieu_ket_qua = CuocThiRepository.Instance.GetById(kq.id_cuoc_thi)?.kieu_ket_qua; if (get_kieu_ket_qua != null) { var noi_dung_kieu_du_lieu = get_kieu_ket_qua .FirstOrDefault(x => x.min <kq.diem_thi && x.max> kq.diem_thi)?.ten; if (string.IsNullOrEmpty(noi_dung_kieu_du_lieu)) { noi_dung_kieu_du_lieu = string.Empty; } TaiKhoanChungChi tkcc = new TaiKhoanChungChi { id_ket_qua_thi = id, id_tai_khoan = tai_khoan, ngay_cap = kq.ngay_thi, id = id, noi_dung = noi_dung_kieu_du_lieu + $"(Điểm đạt được: {kq.diem_thi})", ngay_tao = kq.ngay_tao, ngay_sua = XMedia.XUtil.TimeInEpoch(DateTime.Now), nguoi_tao = tai_khoan, nguoi_sua = tai_khoan }; TaiKhoanChungChiRepository.Instance.Index(tkcc); } return(Json(new { msg = "Tạo kết quả thành công" })); } return(Json(new { msg = "Tạo kết quả thất bại" })); }
public IActionResult Edit(KetQuaThi kq) { try { if (is_admin) { //kq.ngay_thi = Convert.ToInt32(XMedia.XUtil.TimeInEpoch(Convert.ToDateTime(ngay_thi))); SetMetaData(kq, true); var ket_qua_thi = KetQuaThiRepository.Instance.Update(kq); if (ket_qua_thi) { SetAlert("Sửa kết quả thi thành công", "success"); } else { SetAlert("Sửa kết quả thi thất bại", "error"); } if (ModelState.IsValid) { var lst_thuoc_tinh = ThuocTinhRepository.Instance.GetThuocTinhByLoai(LoaiThuocTinh.KET_QUA_THI, user(), is_admin); ViewBag.thuoc_tinh = BuildThuocTinh(lst_thuoc_tinh); var all_cuoc_thi = CuocThiRepository.Instance.GetAll(new List <string>(), new string[] { "id", "ten" }); ViewBag.CuocThi = all_cuoc_thi.Select(o => new SelectListItem { Value = o.id, Text = o.ten }).ToList(); var all_tai_khoan = TaiKhoanRepository.Instance.GetAll(new List <string>(), new[] { "id", "username" }); ViewBag.TaiKhoan = all_tai_khoan.Select(o => new SelectListItem { Value = o.username, Text = o.username }).ToList(); } } else { SetAlert("Sửa kết quả thi thất bại, bạn không có quyền", "error"); } } catch (Exception e) { Console.WriteLine(e); } return(View()); }
public ActionResult DSDETHI() { List <DanhGia> ketQuas = new List <DanhGia>(); TracNghiemOnlineDB db = new TracNghiemOnlineDB(); var session = (TaiKhoan)Session[ComMon.ComMonStants.UserLogin]; var dssv = db.DS_SVThi.Where(x => x.Ma_SV.Equals(session.TaiKhoan1)); List <Phong_Thi> phong_This = new List <Phong_Thi>(); foreach (var item in dssv) { try { var phong = new TracNghiemOnlineDB().Phong_Thi.Where(x => x.MaPhong.Equals(item.MaPhong) && x.TrangThai.Equals("Đã Đóng")); if (phong != null) { var DeThi = db.De_Thi.Where(x => x.MaDeThi == item.MaDeThi).ToList().First(); if (DeThi != null) { if (DeThi.KetQuaThis.Count == 0) { TracNghiemOnlineDB tb1 = new TracNghiemOnlineDB(); DanhGia danhGia = new DanhGia(); danhGia = new QuanLyThiDAO().Mark(DeThi); KetQuaThi ketQuaThi = new KetQuaThi(); ketQuaThi.Ma_DeThi = DeThi.MaDeThi; ketQuaThi.NgayThi = phong.ToList()[0].ThoiGianDong; ketQuaThi.SoCauDung = danhGia.ketQuaThi.SoCauDung; ketQuaThi.SoCauSai = danhGia.ketQuaThi.SoCauSai; ketQuaThi.DiemSo = danhGia.ketQuaThi.DiemSo; tb1.KetQuaThis.Add(ketQuaThi); tb1.SaveChanges(); foreach (var item1 in danhGia.ketQuaThi.De_Thi.Danh_Gia) { Danh_Gia danh_Gia = new Danh_Gia(); danh_Gia.MaChuong = item1.MaChuong; danh_Gia.MaDeThi = item1.MaDeThi; danh_Gia.SoCauDung = item1.SoCauDung; danh_Gia.TongCau = item1.TongCau; // danh_Gia.NhanXet = item1.NhanXet; danh_Gia.DanhGia = item1.DanhGia; tb1.Danh_Gia.Add(danh_Gia); tb1.SaveChanges(); } ketQuas.Add(danhGia); } else { DanhGia danhGia = new DanhGia(); danhGia.ketQuaThi = DeThi.KetQuaThis.ToList().First(); danhGia.ketQuaThi.NgayThi = phong.ToList()[0].ThoiGianDong; danhGia.ketQuaThi.De_Thi = DeThi; ketQuas.Add(danhGia); } phong_This.Add(phong.ToList()[0]); } } } catch { } } ViewBag.phong = phong_This; return(View(ketQuas)); }
public DanhGia Mark(De_Thi exam) { exam.Da_SVLuaChon = db.Da_SVLuaChon.Where(x => x.MaDeThi == exam.MaDeThi).ToList(); int socauDung = 0; var Bode = db.Bo_De.Where(x => x.Ma_BoDe == exam.Ma_BoDe).ToList().First(); List <Kho_CauHoi> kho_CauHois = new List <Kho_CauHoi>(); List <Chuong_Hoc> chuonghoc1 = new List <Chuong_Hoc>(); List <Chuong_Hoc> chuong2 = new List <Chuong_Hoc>(); foreach (var item in exam.CauHoiDeThis) { kho_CauHois.Add(item.Kho_CauHoi); } //Lay Ra So Cau HOI cua moi chuong foreach (var item in db.Chuong_Hoc.Where(x => x.Ma_Mon == Bode.Ma_Mon).ToList()) { Chuong_Hoc chuong = new Chuong_Hoc(); chuong.Ma_Chuong = item.Ma_Chuong; chuong.TenChuong = item.TenChuong; chuong.Kho_CauHoi = new List <Kho_CauHoi>(); chuonghoc1.Add(chuong); } foreach (var item in db.Chuong_Hoc.Where(x => x.Ma_Mon == Bode.Ma_Mon).ToList()) { Chuong_Hoc chuong = new Chuong_Hoc(); chuong.Ma_Chuong = item.Ma_Chuong; chuong.Kho_CauHoi = new List <Kho_CauHoi>(); chuong2.Add(chuong); } foreach (var item in chuonghoc1) { foreach (var item1 in kho_CauHois.Where(x => x.Ma_Chuong == item.Ma_Chuong).ToList()) { item.Kho_CauHoi.Add(item1); } } //Lay Ra So Cau sv da lam dung cua moi chuong var kho_CauHoi1 = new List <Kho_CauHoi>(); foreach (var item in exam.CauHoiDeThis) { item.Kho_CauHoi = new CauHoiDao().Question(item.Kho_CauHoi.Ma_CauHoi); foreach (var item1 in item.Kho_CauHoi.Dap_AN) { if (exam.Da_SVLuaChon.ToList().Exists(x => x.Ma_DAN == item1.MA_DAN && item1.TrangThai == true)) { socauDung++; kho_CauHoi1.Add(item.Kho_CauHoi); } } } // Lay Ra So Cau sv da lam dung cua moi chuong foreach (var item0 in chuong2) { item0.Kho_CauHoi = kho_CauHoi1.Where(x => x.Ma_Chuong == item0.Ma_Chuong).ToList(); } DanhGia danhGia = new DanhGia(); danhGia.DanhGiaMucDo = new List <SoLuongChuong>(); danhGia.ketQuaThi = new KetQuaThi(); for (int i = 0; i < chuonghoc1.Count; i++) { if (chuonghoc1[i].Kho_CauHoi.Count > 0) { db = new TracNghiemOnlineDB(); Danh_Gia danh_Gia = new Danh_Gia(); SoLuongChuong soLuongChuong = new SoLuongChuong(); danh_Gia.MaChuong = chuonghoc1[i].Ma_Chuong; danh_Gia.MaDeThi = exam.MaDeThi; danh_Gia.SoCauDung = chuong2[i].Kho_CauHoi.Count; danh_Gia.TongCau = chuonghoc1[i].Kho_CauHoi.Count; soLuongChuong.TongSoCau = "" + danh_Gia.SoCauDung + "/" + danh_Gia.TongCau; double a1 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count * 1); double a2 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count * 2); double a3 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count * 3); double a4 = (double)(chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count * 4); soLuongChuong.Chuong = chuonghoc1[i]; soLuongChuong.nhanBiet = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count + "/" + chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count; soLuongChuong.thongHieu = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count + "/" + chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count; soLuongChuong.vandung = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count + "/" + chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count; soLuongChuong.vandungcao = chuong2[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count + "/" + chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count; danhGia.DanhGiaMucDo.Add(soLuongChuong); double b1 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Nhận Biết")).ToList().Count * 1); double b2 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Thông Hiểu")).ToList().Count * 2); double b3 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng")).ToList().Count * 3); double b4 = (double)(chuonghoc1[i].Kho_CauHoi.Where(X => X.MucDo.Equals("Vận Dụng Cao")).ToList().Count * 4); double DG = 0; double A = a1 + a2 + a3 + a4; double b = b1 + b2 + b3 + b4; DG = (double)(A / b) * 10; double tile = ((double)danh_Gia.SoCauDung / (double)danh_Gia.TongCau) * 100; tile = Math.Round((double)tile, 2); danh_Gia.NhanXet = "Bạn làm đúng (" + soLuongChuong.TongSoCau + " đạt tỉ lệ " + tile + " %) \n "; if (DG < 5) { danh_Gia.DanhGia = "Yếu"; danh_Gia.NhanXet += "-Kiến thức phần này của bạn còn rất hạn chế điểm phần này bài test còn chưa cao.Bạn cần cố gắng cải thiện hơn nữa"; } if (DG >= 5 && DG < 7) { danh_Gia.DanhGia = "Trung Bình"; danh_Gia.NhanXet += "Kiến thức của bạn ở phần này chỉ ở mức trung bình. Bạn cần cố gắng hơn để cải thiện thành tích của mình"; } if (DG >= 7 && DG < 8.5) { danh_Gia.DanhGia = "Khá"; danh_Gia.NhanXet += "Kiến thức của bạn ở phần này khá tốt. Bạn cố gắng thêm để đặt được số điểm cao hơn nữa"; } if (DG >= 8.5) { danh_Gia.DanhGia = "Giỏi"; danh_Gia.NhanXet += "Kiến thức của bạn ở phần bạn rất làm rất tốt. Bạn cố gắng duy trì phong độ nhé"; } danh_Gia.Chuong_Hoc = db.Chuong_Hoc.Find(danh_Gia.MaChuong); exam.Danh_Gia.Add(danh_Gia); } } double Hediem = (double)((double)10 / (double)(exam.CauHoiDeThis.Count)); KetQuaThi ketQuaThi = new KetQuaThi(); ketQuaThi.Ma_DeThi = exam.MaDeThi; ketQuaThi.NgayThi = DateTime.Now; ketQuaThi.SoCauDung = socauDung; ketQuaThi.SoCauSai = exam.CauHoiDeThis.Count - socauDung; ketQuaThi.DiemSo = (double)(socauDung) * (double)(Hediem); exam.Bo_De = Bode; // exam.Bo_De. ketQuaThi.De_Thi = exam; ketQuaThi.De_Thi.SinhVien = db.SinhViens.Find(exam.Ma_SV); danhGia.ketQuaThi = ketQuaThi; try { if (ketQuaThi.DiemSo >= 1 && exam.DiemTru != 0) { var pt = (ketQuaThi.DiemSo * exam.DiemTru) / (double)100; ketQuaThi.DiemSo = ketQuaThi.DiemSo - pt; } } catch { } ketQuaThi.DiemSo = Math.Round((double)ketQuaThi.DiemSo, 2); return(danhGia); }