public IActionResult Index(string id, string id_cuoc_thi, string term, long ngay_thi_tu, long ngay_thi_den, int page = 1, List <int> thuoc_tinh = null) { try { ViewBag.ngay_thi_tu = ngay_thi_tu; ViewBag.ngay_thi_den = ngay_thi_den; var lst_thuoc_tinh = ThuocTinhRepository.Instance.GetThuocTinhByLoai(LoaiThuocTinh.KET_QUA_THI, user(), is_admin); ViewBag.thuoc_tinh = BuildThuocTinh(lst_thuoc_tinh); ViewBag.thuoc_tinh_search = BuildThuocTinhForSearch(lst_thuoc_tinh); ViewBag.Term = term; ViewBag.id_cuoc_thi = id_cuoc_thi; var all_cuoc_thi = CuocThiRepository.Instance.GetAll(new List <string>(), new string[] { "id", "ten" }, is_admin); ViewBag.cuoc_thi = all_cuoc_thi.Select(o => new SelectListItem { Value = o.id, Text = o.ten }).ToList(); ViewBag.PageSize = page_size; ViewBag.Page = page; ViewBag.tt = thuoc_tinh; var lst_ket_qua_thi = KetQuaThiRepository.Instance.Search(term, id_cuoc_thi, user(), ngay_thi_tu, ngay_thi_den, thuoc_tinh, page, out var total_recs, out string msg, page_size, is_admin); var lst_thuoc_tinh_kq_thi = lst_ket_qua_thi.Where(x => x.thuoc_tinh != null).SelectMany(x => x.thuoc_tinh).ToList(); var lst_tt_by_gia_tri = ThuocTinhRepository.Instance.GetManyByGiaTri(lst_thuoc_tinh_kq_thi.Distinct(), LoaiThuocTinh.KET_QUA_THI); List <KetQuaThiMap> lst_map = new List <KetQuaThiMap>(); if (!string.IsNullOrEmpty(id)) { var ket_qua_thi_da_thi = KetQuaThiRepository.Instance.LayDanhSachKetQuaThi(id, user()); foreach (var item in ket_qua_thi_da_thi) { var tai_khoan = TaiKhoanRepository.Instance.GetTaiKhoanByUsername(item?.id_tai_khoan); var cuoc_thi = CuocThiRepository.Instance.GetById(item?.id_cuoc_thi); KetQuaThiMap map = new KetQuaThiMap(item, tai_khoan, cuoc_thi, lst_tt_by_gia_tri); lst_map.Add(map); } ViewBag.Total = lst_map.Count; return(View(lst_map)); } else { foreach (var item in lst_ket_qua_thi) { var tai_khoan = TaiKhoanRepository.Instance.GetTaiKhoanByUsername(item?.id_tai_khoan); var cuoc_thi = CuocThiRepository.Instance.GetById(item?.id_cuoc_thi); KetQuaThiMap map = new KetQuaThiMap(item, tai_khoan, cuoc_thi, lst_tt_by_gia_tri); lst_map.Add(map); } ViewBag.Total = total_recs; return(View(lst_map)); } } catch (Exception e) { Console.WriteLine(e); } return(View()); }
public IActionResult KetQuaCuocThi(string id, int page = 1) { try { long total_recs = 0; if (is_admin || allow_create) { ViewBag.id_cuoc_thi = id; page_size = 50; ViewBag.PageSize = page_size; ViewBag.Page = page; ViewBag.ten_cuoc_thi = CuocThiRepository.Instance.GetById(id)?.ten; List <KetQuaThi> lst_ket_qua_thi = new List <KetQuaThi>(); if (is_admin) { lst_ket_qua_thi = KetQuaThiRepository.Instance.Search("", id, user(), 0, 0, new List <int>(), page, out total_recs, out string msg, page_size, is_admin); } if (allow_create) { lst_ket_qua_thi = KetQuaThiRepository.Instance.Search("", id, "", 0, 0, new List <int>(), page, out total_recs, out string msg, page_size, false); } var lst_thuoc_tinh_kq_thi = lst_ket_qua_thi.Where(x => x.thuoc_tinh != null).SelectMany(x => x.thuoc_tinh).ToList(); var lst_tt_by_gia_tri = ThuocTinhRepository.Instance.GetManyByGiaTri(lst_thuoc_tinh_kq_thi.Distinct(), LoaiThuocTinh.KET_QUA_THI); List <KetQuaThiMap> lst_map = new List <KetQuaThiMap>(); ViewBag.dem_thi_sinh = lst_ket_qua_thi.Select(x => x.id_tai_khoan).Distinct().ToList().Count; foreach (var item in lst_ket_qua_thi) { var tai_khoan = TaiKhoanRepository.Instance.GetTaiKhoanByUsername(item?.id_tai_khoan); var cuoc_thi = CuocThiRepository.Instance.GetById(item?.id_cuoc_thi); KetQuaThiMap map = new KetQuaThiMap(item, tai_khoan, cuoc_thi, lst_tt_by_gia_tri); lst_map.Add(map); } ViewBag.Total = total_recs; return(View(lst_map.OrderByDescending(x => x.diem_thi))); } } catch (Exception e) { Console.WriteLine(e); } return(View()); }