/// <summary> /// Clear all results for a submission and rubric /// </summary> public bool ClearResults(int rubID, int subID) { Results resda = new Results(m_ident); Result.ResultList oldress = GetResults(rubID, subID); foreach (Result oldres in oldress) resda.Delete(oldres.ID); return true; }
private void tvRubric_SelectedIndexChange(object sender, TreeViewSelectEventArgs e) { TreeNode node = tvRubric.GetNodeFromIndex(e.NewNode); if (node.NodeData.Split(" ".ToCharArray())[0] == "Rubric") { int rubID = GetRubricID(node); Rubric rub = new Rubrics(Globals.CurrentIdentity).GetInfo(rubID); if (RubricSelect != null) RubricSelect(this, new RubricViewSelectEventArgs(rub)); } else { int resID = GetResultID(node); Result res = new Results(Globals.CurrentIdentity).GetInfo(resID); if (ResultSelect != null) ResultSelect(this, new RubricViewSelectResultEventArgs(res)); } }
private void DoDelete(int subID, int locid) { FileSystem fs = new FileSystem(m_ident); //Take results Results resultda = new Results(m_ident); Result.ResultList ress = GetResults(subID); foreach (Result res in ress) resultda.Delete(res.ID); //Take any tests queued AutoJobs jobda = new AutoJobs(m_ident); AutoJobTest.AutoJobTestList tests = jobda.GetSubTests(subID); foreach (AutoJobTest test in tests) jobda.FinishTest(test); //Take the submission record m_dp.DeleteSubmission(subID); //Take the files CFile subdir = fs.GetFile(locid); if (subdir != null) fs.DeleteFile(subdir); }
private void dgResults_UpdateCommand(object source, DataGridCommandEventArgs e) { TextBox txtGridComment, txtPoints; DropDownList ddlTypes; if (null != (txtGridComment = (TextBox) e.Item.FindControl("txtGridComment"))) { txtPoints = (TextBox) e.Item.FindControl("txtPoints"); ddlTypes = (DropDownList) e.Item.FindControl("ddlTypes"); Results resda = new Results(Globals.CurrentIdentity); SubjResult res = new SubjResult(); res.ID = Convert.ToInt32(dgResults.DataKeys[e.Item.ItemIndex]); res = (SubjResult) resda.GetInfo(res.ID); res.Points = Convert.ToDouble(txtPoints.Text); res.Comment = txtGridComment.Text; res.SubjType = Convert.ToInt32(ddlTypes.SelectedIndex); try { resda.UpdateSubj(res); } catch (DataAccessException er) { PageError(er.Message); } } dgResults.Columns[2].Visible = dgResults.Columns[5].Visible = true; dgResults.EditItemIndex = -1; BindSubj(new Rubrics(Globals.CurrentIdentity).GetInfo(Convert.ToInt32(lblRubID.Text))); ucRubric.UpdateRubric(); }
private void RemoveResults(AutoEvaluation eval) { Rubric rub = new Evaluations(Globals.CurrentIdentity).GetRubric(eval.ID); Result.ResultList ress = new Rubrics(Globals.CurrentIdentity).GetResults(rub.ID); Results resda = new Results(Globals.CurrentIdentity); foreach (Result res in ress) resda.Delete(res.ID); }
protected bool PostResult(AutoJobTest job, string xmloutput) { Results resda = new Results(m_ident); if (job.AutoEval.ResultType == Result.AUTO_TYPE) { new Activities(m_ident).Create(job.JobCreator, Activity.SUBMISSION, job.SubmissionID, "Result posted for evaluation: " + job.AutoEval.Name); if (!job.OnSubmit) { return resda.CreateAuto( job.AutoEval.ID, job.JobCreator, job.SubmissionID, xmloutput); } else { Components.Submission sub = new Submissions(m_ident).GetInfo(job.SubmissionID); new EmailWizard(m_ident).SendByPrincipal(sub.PrincipalID, "FrontDesk Submission Results: " + job.AutoEval.Name, ConvertXmlToText(xmloutput, job.AutoEval.CourseID, job.AutoEval.AsstID)); m_logger.Log("Result emailed to submitter"); if (job.AutoEval.Competitive) { m_logger.Log("Competitive pre-test result stored"); return resda.CreateAuto( job.AutoEval.ID, job.JobCreator, job.SubmissionID, xmloutput); } else return true; } } else { SubjResult.SubjResultList ress = ParseSubjXmlResults(xmloutput, new Submissions(m_ident).GetInfo(job.SubmissionID)); Rubric rub = new Evaluations(m_ident).GetRubric(job.AutoEval.ID); new Rubrics(m_ident).ClearResults(rub.ID, job.SubmissionID); foreach (SubjResult res in ress) resda.CreateSubj(job.SubmissionID, rub.ID, res.Comment, res.FileID, res.Line, res.Points, new ArrayList(), res.SubjType); return true; } }
/// <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; }
/// <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); }
private void LoadComments(CFile file) { Result.ResultList cms = new Results(Globals.CurrentIdentity).GetFileResults(file.ID); m_comments = new Hashtable(); m_linesaffect = new Hashtable(); foreach (SubjResult res in cms) { SubjResult.SubjResultList ress = (SubjResult.SubjResultList) m_comments[res.Line]; if (ress == null) m_comments.Add(res.Line, (ress = new SubjResult.SubjResultList())); ress.Add(res); foreach (int line in res.LinesAffected) if (m_linesaffect[line] == null) m_linesaffect.Add(line, res); } }