public void SynchronizePoints() { Courses courseda = new Courses(m_ident); Assignments asstda = new Assignments(m_ident); int total = 0; Course.CourseList courses = courseda.GetAll(); foreach (Course course in courses) { Assignment.AssignmentList assts = courseda.GetAssignments(course.ID); foreach (Assignment asst in assts) { Rubric arub = asstda.GetRubric(asst.ID); Rubric.RubricList rubs = Flatten(arub); Components.Submission.SubmissionList subs = asstda.GetSubmissions(asst.ID); foreach (Rubric rub in rubs) { foreach (Components.Submission sub in subs) { m_dp.UpdateRubricSubPoints(rub.ID, sub.ID); total++; } } } } System.Diagnostics.Trace.WriteLine(total); }
private void BindFileLink() { string roots = ""; //Check to see if we already did this, if not then calculate sub root string for FB if (!GetFileRoots(out roots)) { Users userda = new Users(Globals.CurrentIdentity); User.UserList users = CourseMatrixControl.GetFeedbackUsers(GetUserList()); foreach (User user in users) { Components.Submission.SubmissionList subs = userda.GetAsstSubmissions(user.UserName, GetAsstID()); foreach (Components.Submission sub in subs) { roots += sub.LocationID.ToString() + "|"; } } ViewState["fileroots"] = roots; } lnkLoadAll.Attributes.Add("onClick", @"window.open('filebrowser.aspx?Roots=" + roots + @"', '" + 8 + @"', 'width=730, height=630')"); }
/// <summary> /// Filter out defunct submissions, null if no non-defunct submissions exist /// </summary> private Components.Submission GetLatestNonDefunct(Components.Submission.SubmissionList subs) { foreach (Components.Submission sub in subs) { if (sub.Status != Components.Submission.DEFUNCT) return sub; } return null; }
/// <summary> /// Return the latest submission of the user /// </summary> public Components.Submission GetLatestSubmission(int pid, int asstID) { Components.Submission.SubmissionList subs = GetSubmissions(pid, asstID); if (subs.Count > 0) return GetLatestNonDefunct(subs); else return null; }
private void BindSubGrid() { int asstID = GetAsstID(); Components.Submission.SubmissionList subs = (new Users(Globals.CurrentIdentity)).GetAsstSubmissions(Globals.CurrentUserName, asstID); dgSubmissions.DataSource = subs; dgSubmissions.DataBind(); }
/// <summary> /// Delete the assignment /// </summary> public bool Delete(int asstID) { FileSystem fs = new FileSystem(m_ident); Submissions subda = new Submissions(m_ident); Evaluations evalda = new Evaluations(m_ident); Results resultda = new Results(m_ident); Groups groupda = new Groups(m_ident); AutoJobs jobda = new AutoJobs(m_ident); Assignment asst = GetInfo(asstID); //Check permission Authorize(asst.CourseID, "delete", asstID, null); //Take auto jobs IProviderTransaction tran = m_dp.BeginTransaction(); AutoJob.AutoJobList jobs = GetAutoJobs(asstID, tran); foreach (AutoJob job in jobs) { jobda.Finish(job.ID, tran); } m_dp.CommitTransaction(tran); //Take submissions and results Components.Submission.SubmissionList allsubs = GetSubmissions(asstID); foreach (Components.Submission sub in allsubs) { subda.Delete(sub.ID); } //Take rubric Rubric rub = GetRubric(asstID); new Rubrics(m_ident).Delete(rub.ID); //Take evaluations Evaluation.EvaluationList allevals = GetEvals(asstID); foreach (Evaluation eval in allevals) { evalda.Delete(eval.ID); } //Take groups Group.GroupList groups = GetGroups(asstID); foreach (Group group in groups) { groupda.Delete(group.PrincipalID, asstID); } //Take assignment m_dp.DeleteAssignment(asstID); //Take content CFile content = fs.GetFile(asst.ContentID); fs.DeleteFile(content); //Log Log("Deleted assignment: " + asst.Description, asst.ID); return(true); }