public GradeSection(AssessmentType assessmentType, Profile profile, AssessTrackDataRepository repo, bool includeExtraCredit, DateTime date) { AssessmentType = assessmentType; TotalPoints = MaxPoints = 0; Grades = new List<Grade>(); CourseTermMember member = repo.GetCourseTermMemberByMembershipID(assessmentType.CourseTerm, profile.MembershipID); List<Assessment> assessments = repo.GetAllNonTestBankAssessments(assessmentType.CourseTerm, includeExtraCredit, assessmentType, member).Where(test => test.DueDate.CompareTo(date) < 0).ToList(); foreach (Assessment assessment in assessments) { Grade grade = new Grade(assessment, profile); Grades.Add(grade); if ((grade.SubmissionRecord != null && grade.SubmissionRecord.GradedBy != null) || (DateTime.Now.CompareTo(assessment.DueDate) > 0 && grade.SubmissionRecord == null)) { MaxPoints += assessment.Weight; TotalPoints += grade.Points; } } //if (TotalPoints > 0 && MaxPoints == 0) //if everything is extra credit //{ // MaxPoints = 1; //to avoid division by zero //} if (MaxPoints == 0) { Percentage = 0; Weight = 0; } else { Percentage = (TotalPoints / MaxPoints) * 100; Weight = assessmentType.Weight; } }
public void DeleteAssessmentType(AssessmentType assessmentType) { foreach (var assessment in assessmentType.Assessments) { DeleteAssessment(assessment); } dc.AssessmentTypes.DeleteOnSubmit(assessmentType); }
public List<Assessment> GetAllNonTestBankAssessments(CourseTerm courseTerm, bool includeExtraCredit, AssessmentType filterby) { var assessments = from asmt in courseTerm.Assessments where !asmt.AssessmentType.QuestionBank && asmt.IsVisible select asmt; if (!includeExtraCredit) assessments = assessments.Where(a => !a.IsExtraCredit); if (filterby != null) assessments = assessments.Where(a => a.AssessmentType == filterby); return assessments.OrderBy(a => a.Name).ToList(); }
public List<Assessment> GetAllNonTestBankAssessments(CourseTerm courseTerm, bool includeExtraCredit, AssessmentType filterby, CourseTermMember member) { var assessments = from asmt in (courseTerm != null)? courseTerm.Assessments.AsQueryable() : dc.Assessments.AsQueryable() where !asmt.AssessmentType.QuestionBank && asmt.IsVisible select asmt; if (!includeExtraCredit) assessments = assessments.Where(a => !a.IsExtraCredit); if (filterby != null) assessments = assessments.Where(a => a.AssessmentType == filterby); if (member.AccessLevel == 1 ) assessments = assessments.Where(a => a.Section == null || (member.Section.HasValue && a.Section.Value == member.Section.Value)); return assessments.OrderBy(a => a.Name).ToList(); }
public ActionResult Create(string courseTermShortName, string siteShortName, AssessmentType newType) { if (ModelState.IsValid) { try { courseTerm.AssessmentTypes.Add(newType); dataRepository.Save(); return RedirectToAction("Index", new { siteShortName = siteShortName, courseTermShortName = courseTermShortName }); } catch (RuleViolationException) { ModelState.AddModelErrors(newType.GetRuleViolations()); } catch (Exception ex) { ModelState.AddModelError("_FORM", ex); } } return View(newType); }
// // GET: /AssessmentType/Create public ActionResult Create(string courseTermShortName, string siteShortName) { AssessmentType newType = new AssessmentType() { Weight = 0, QuestionBank = false, CourseTerm = courseTerm }; return View(newType); }
public List<Assessment> GetAllNonTestBankAssessments(CourseTerm courseTerm, bool includeExtraCredit, AssessmentType filterby) { Guid userID = UserHelpers.GetCurrentUserID(); CourseTermMember member = GetCourseTermMemberByMembershipID(courseTerm, userID); return GetAllNonTestBankAssessments(courseTerm, includeExtraCredit, filterby, member); }