예제 #1
0
파일: rubrics.cs 프로젝트: lokygb/FrontDesk
        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);
        }
예제 #2
0
        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')");
        }
예제 #3
0
 /// <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;
 }
예제 #4
0
 /// <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;
 }
예제 #5
0
        private void BindSubGrid()
        {
            int asstID = GetAsstID();

            Components.Submission.SubmissionList subs =
                (new Users(Globals.CurrentIdentity)).GetAsstSubmissions(Globals.CurrentUserName, asstID);

            dgSubmissions.DataSource = subs;
            dgSubmissions.DataBind();
        }
예제 #6
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);
        }