Ejemplo n.º 1
0
 /// <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;
 }
Ejemplo n.º 2
0
 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));
     }
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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();
        }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
        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;
            }
        }
Ejemplo n.º 7
0
        /// <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;
        }
Ejemplo n.º 8
0
        /// <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);
        }
Ejemplo n.º 9
0
        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);
            }
        }