Пример #1
0
        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());
        }
Пример #2
0
        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());
        }
Пример #3
0
        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)));
        }