public ActionResult Create(string siteShortName, Guid CourseID, Guid TermID, CourseTerm courseTerm) { if (ModelState.IsValid) { try { courseTerm.CourseID = CourseID; courseTerm.TermID = TermID; courseTerm.Site = site; dataRepository.CreateCourseTerm(courseTerm); AssessTrack.Models.File file = FileUploader.GetFile("Syllabus",Request); if (file != null) { courseTerm.File = file; FileUploader.SaveFile(dataRepository, file); dataRepository.Save(); FlashMessageHelper.AddMessage("New syllabus uploaded."); } return RedirectToAction("Index", new { siteShortName = siteShortName }); } catch (RuleViolationException) { ModelState.AddModelErrors(courseTerm.GetRuleViolations()); } catch (Exception ex) { ModelState.AddModelError("_FORM", ex.Message); } } return View(new CourseTermViewModel(site, courseTerm, CourseID, TermID)); }
public List<AssessmentType> GetTestBankAssessmentTypes(CourseTerm courseTerm) { return (from at in courseTerm.AssessmentTypes where at.QuestionBank orderby at.Name select at).ToList(); }
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 void DeleteCourseTerm(CourseTerm courseTerm) { foreach (var assessmentType in courseTerm.AssessmentTypes) { DeleteAssessmentType(assessmentType); } dc.Invitations.DeleteAllOnSubmit(courseTerm.Invitations); dc.CourseTermMessages.DeleteAllOnSubmit(courseTerm.CourseTermMessages); dc.CourseTermMembers.DeleteAllOnSubmit(courseTerm.CourseTermMembers); dc.Tags.DeleteAllOnSubmit(courseTerm.Tags); dc.CourseTerms.DeleteOnSubmit(courseTerm); }
public static string CourseTermLink(this HtmlHelper html, CourseTerm courseTerm, string before, string after) { Site site = courseTerm.Site; string courseTermLink = HtmlHelper.GenerateRouteLink(html.ViewContext.RequestContext, html.RouteCollection, courseTerm.Name, null, new System.Web.Routing.RouteValueDictionary( new { action = "Details", controller = "CourseTerm", siteShortName = site.ShortName, courseTermShortName = courseTerm.ShortName }), null); string finallink = before + courseTermLink + after; return finallink; }
public static bool CheckAuthorization(HttpContext httpContext, Site site, CourseTerm courseTerm, AuthScope scope, int minLevel, int maxLevel) { AssessTrackDataRepository data = new AssessTrackDataRepository(); if (httpContext == null) { throw new ArgumentNullException("httpContext"); } IPrincipal user = httpContext.User; if (!user.Identity.IsAuthenticated) { return false; } //Get the user's profile and see if they have //the required access level Profile profile = data.GetLoggedInProfile(); switch (scope) { case AuthScope.Application: { if (profile.AccessLevel < minLevel || profile.AccessLevel > maxLevel) return false; break; } case AuthScope.Site: { SiteMember member = data.GetSiteMemberByMembershipID(site,profile.MembershipID); if (member == null || (member.AccessLevel < minLevel || member.AccessLevel > maxLevel)) return false; } break; case AuthScope.CourseTerm: { CourseTermMember member = data.GetCourseTermMemberByMembershipID(courseTerm, profile.MembershipID); if (member == null || (member.AccessLevel < minLevel || member.AccessLevel > maxLevel)) return false; } break; default: //TODO Do some logging here maybe? return false; } return true; }
public void CreateCourseTerm(CourseTerm courseTerm) { using (TransactionScope scope = new TransactionScope()) { Guid userid = GetLoggedInProfile().MembershipID; dc.CourseTerms.InsertOnSubmit(courseTerm); CourseTermMember member = new CourseTermMember() { CourseTerm = courseTerm, MembershipID = userid, AccessLevel = 10 }; dc.CourseTermMembers.InsertOnSubmit(member); dc.SubmitChanges(); scope.Complete(); } }
public CourseTermViewModel(Site site, CourseTerm courseTerm, Guid courseid, Guid termid) { CourseList = new SelectList(site.Courses.ToList(), "CourseID", "Name", courseid); TermList = new SelectList(site.Terms.ToList(), "TermID", "Name", termid); CourseTerm = courseTerm; }
public CourseTermViewModel(Site site, CourseTerm courseTerm) { CourseList = new SelectList(site.Courses.ToList(), "CourseID", "Name"); TermList = new SelectList(site.Terms.ToList(), "TermID", "Name"); CourseTerm = courseTerm; }
public CourseTermJoinModel(IEnumerable<CourseTerm> courseTerms, CourseTerm selected) { if (selected != null) { CourseTermsList = new SelectList(courseTerms, "CourseTermID", "Name", selected.CourseTermID); } else { CourseTermsList = new SelectList(courseTerms, "CourseTermID", "Name"); } }
public SelectList GetTagsSelectList(CourseTerm courseTerm) { return GetTagsSelectList(courseTerm,null); }
public bool IsCourseTermMember(CourseTerm courseTerm, Profile profile) { CourseTermMember ctMember = (from ctm in dc.CourseTermMembers where ctm.CourseTerm == courseTerm && ctm.Profile == profile select ctm).SingleOrDefault(); return (ctMember != null); }
public SubmissionExceptionFormModel(List<Assessment> Assessments, CourseTerm ct) { AssessmentsList = new SelectList(Assessments, "AssessmentID", "Name"); StudentsList = new SelectList(ct.GetMembers(1, 1), "MembershipID", "FullName"); }
public SubmissionExceptionFormModel(CourseTerm ct) : this(ct.Assessments.OrderBy(a => a.Name).ToList(),ct) { }
public bool IsCourseTermMember(CourseTerm courseTerm) { Profile p = GetLoggedInProfile(); return IsCourseTermMember(courseTerm, p); }
// This method must be thread-safe since it is called by the thread-safe OnCacheAuthorization() method. protected virtual bool AuthorizeCore(HttpContextBase httpContext, Site site, CourseTerm courseTerm) { return AuthHelper.CheckAuthorization(HttpContext.Current, site, courseTerm, scope, minLevel, maxLevel); }
public SelectList GetTagsSelectList(CourseTerm courseTerm, object selectedValue) { return new SelectList(courseTerm.Tags, "TagID", "Name", selectedValue); }
public List<CourseTermMember> GetStudentsInCourseTerm(CourseTerm courseTerm) { return courseTerm.GetMembers(1, 1); }
public List<CourseTermMember> GetExcludedUsersInCourseTerm(CourseTerm courseTerm) { return courseTerm.GetMembers(0, 0); }
public List<CourseTermMember> GetSuperUsersInCourseTerm(CourseTerm courseTerm) { return courseTerm.GetMembers(6, 9); }
public List<CourseTermMember> GetPowerUsersInCourseTerm(CourseTerm courseTerm) { return courseTerm.GetMembers(2, 5); }
public bool JoinCourseTerm(CourseTerm courseTerm) { Profile profile = GetLoggedInProfile(); if (IsCourseTermMember(courseTerm, profile)) return false; CourseTermMember member = new CourseTermMember() { CourseTerm = courseTerm, Profile = profile, AccessLevel = 1 }; dc.CourseTermMembers.InsertOnSubmit(member); dc.SubmitChanges(); return true; }
public Tag GetTagByName(CourseTerm courseTerm, string name) { return courseTerm.Tags.SingleOrDefault(t => t.Name == name); }
public SubmissionExceptionFormModel(List<Assessment> Assessments, CourseTerm ct, object selectedStudent, object selectedAssessment, DateTime dueDate) { AssessmentsList = new SelectList(Assessments, "AssessmentID", "Name", selectedAssessment); StudentsList = new SelectList(ct.GetMembers(1, 1), "MembershipID", "FullName", selectedStudent); DueDate = dueDate; }
public List<Tag> GetTags(CourseTerm courseTerm, bool includeEmptyTags) { var tags = courseTerm.Tags.ToList(); if (!includeEmptyTags) { tags = tags.Where(t => GetTaggedItems(t).Count > 0).ToList(); } return tags.OrderBy(t => t.Name).ToList(); }
public List<CourseTermMember> GetOwnersInCourseTerm(CourseTerm courseTerm) { return courseTerm.GetMembers(10, 10); }
public ActionResult Create(string siteShortName) { CourseTerm courseTerm = new CourseTerm(); return View(new CourseTermViewModel(site,courseTerm)); }
public List<Profile> GetStudentProfiles(CourseTerm courseTerm) { return courseTerm.GetMemberProfiles(1, 1); }
public CourseTermIndexModel(CourseTerm ct, bool userEnrolled) { CourseTerm = ct; UserEnrolled = userEnrolled; }