Exemplo n.º 1
0
        public ActionResult RetestSubmission(SubmissionPostData data)
        {
            var course = _GetCourse();

            if (course == null || course.CourseId != data.CourseId)
            {
                return(new HttpNotFoundResult());
            }

            var user = ApplicationUser.FromUserId(data.UserId);

            if (user == null)
            {
                return(new HttpNotFoundResult());
            }

            try
            {
                var studentAssignment = _db.StudentAssignments
                                        .Include(sa => sa.Submissions)
                                        .Include(sa => sa.Assignment.Pages)
                                        .Include(sa => sa.Enrollment.User)
                                        .FirstOrDefault(sa => sa.AssignmentId == data.AssignmentId && sa.Enrollment.UserName == user.UserName);

                if (studentAssignment == null)
                {
                    return(new HttpNotFoundResult());
                }

                StudentSubmission submission;
                if (data.SubmissionId > 0)
                {
                    submission = studentAssignment.Submissions.FirstOrDefault(s => s.StudentSubmissionId == data.SubmissionId);
                }
                else
                {
                    submission = studentAssignment.Submissions.LastOrDefault();
                }

                if (submission == null)
                {
                    return(null);
                }

                using (var t = new SubmissionTester(submission))
                {
                    t.TestAll();
                }

                _db.SaveChanges();

                return(new JsonNetResult(submission.FullResults));
            }
            catch (Exception ex)
            {
                Elmah.ErrorSignal.FromCurrentContext().Raise(ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message));
            }
        }
Exemplo n.º 2
0
        public ContentResult GetScript(int assignmentId, string pageName, int viewportWidth)
        {
            var assignment = db.Assignments.FirstOrDefault(a => a.AssignmentId == assignmentId);
            var page       = db.Pages.FirstOrDefault(p => p.AssignmentId == assignmentId && p.PageName.Equals(pageName, StringComparison.InvariantCultureIgnoreCase));
            var script     = SubmissionTester.GetPreTestScript(assignment, page, viewportWidth);

            return(Content(script, "application/javascript"));
        }