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)); } }
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")); }