public ActionResult Review() { if (!Permission.PremissionNeed(Request, Response, Session, UserRank.TEACHER)) { return(null); } int eid = Convert.ToInt32(Request["eid"]); int uid = Convert.ToInt32(Request["uid"]); Result result = ResultView.GetResult(eid, uid); if (result == null) { Permission.BackToPrevPageOrIndex(Request, Response); return(null); } Exam exam = ExamView.GetExamById((int)result.eid); ViewBag.result = result; ViewBag.exam = exam; ViewBag.questions = FileOperation.ReadFile(exam.exam_path); ViewBag.answers = FileOperation.ReadFile(exam.answer_path); ViewBag.results = FileOperation.ReadFile(result.answer); ViewBag.uid = uid; return(View()); }
public ActionResult Attend(int id = 0) { if (id == 0 || !Permission.LoginedNeed(Request, Response, Session)) { return(null); } Exam exam = ExamView.GetExamById(id); if (exam == null || DateTime.Now < exam.start_date || DateTime.Now > exam.end_date) { Permission.BackToPrevPageOrIndex(Request, Response); return(null); } User user = (User)Session["user"]; List <int> userGroups = GroupView.GetGroupMemberByUID(user.uid).Select(gm => (int)gm.gid).ToList(); IQueryable <int> examGroups = ExamView.GetAllGroupsByExam(exam.eid).Select(e => e.gid); List <int> gids = userGroups.Intersect(examGroups).ToList(); if ((exam._public == false && gids.Count() == 0) || ResultView.GetResult(id, user.uid) != null) { Permission.BackToPrevPageOrIndex(Request, Response); return(null); } ViewBag.exam = exam; ViewBag.questions = FileOperation.ReadFile(exam.exam_path); return(View()); }
public JsonResult SubmitReview() { if (!Permission.PremissionNeed(Request, Response, Session, UserRank.TEACHER)) { return(Json(false)); } User user = (User)Session["user"]; int eid = Convert.ToInt32(Request["eid"]); int uid = Convert.ToInt32(Request["uid"]); int score = Convert.ToInt32(Request["score"]); Result result = ResultView.GetResult(eid, uid); result.score = score; result.reviewer = user.uid; return(Json(ResultView.SubmitScore(result))); }