private CoursePage GetCoursePage() { RockContext rockContext = new RockContext(); CoursePageService coursePageService = new CoursePageService(rockContext); return(GetCoursePage(coursePageService)); }
private Course GetCourse() { RockContext rockContext = new RockContext(); var courseId = PageParameter(PageParameterKeys.CourseId).AsIntegerOrNull(); if (courseId != null) { CourseService courseService = new CourseService(rockContext); return(courseService.Get(courseId.Value)); } var chapterId = PageParameter(PageParameterKeys.ChapterId).AsIntegerOrNull(); if (chapterId != null) { ChapterService chapterService = new ChapterService(rockContext); var chapter = chapterService.Get(chapterId.Value); return(chapter.Course); } var coursePageId = PageParameter(PageParameterKeys.CoursePageId).AsIntegerOrNull(); if (coursePageId != null) { CoursePageService coursePageService = new CoursePageService(rockContext); return(coursePageService.Get(coursePageId.Value).Chapter.Course); } return(null); }
/// <summary> /// Binds the grid. /// </summary> private void BindGrid() { RockContext rockContext = new RockContext(); CoursePageService coursePageService = new CoursePageService(rockContext); var chapterId = PageParameter(PageParameterKey.ChapterId).AsInteger(); var qry = coursePageService.Queryable() .Where(c => c.ChapterId == chapterId) .OrderBy(c => c.Order) .ToList(); var pages = new List <CoursePageDisplay>(); foreach (var item in qry) { pages.Add(new CoursePageDisplay { Id = item.Id, Name = item.Name, //Type = ( ( CoursePageComponent ) CoursePageContainer.Instance.Dictionary // .Where( c => c.Value.Value.EntityType.Id == item.EntityTypeId ) // .Select( c => c.Value.Value ) // .FirstOrDefault() ) // .Name }); } gList.DataSource = pages; gList.DataBind(); }
private void GList_GridReorder(object sender, GridReorderEventArgs e) { var rockContext = new RockContext(); CoursePageService coursePageService = new CoursePageService(rockContext); var chapterId = PageParameter(PageParameterKey.ChapterId).AsInteger(); var items = coursePageService.Queryable().Where(p => p.ChapterId == chapterId).OrderBy(i => i.Order).ToList(); coursePageService.Reorder(items, e.OldIndex, e.NewIndex); rockContext.SaveChanges(); BindGrid(); }
protected void btnDelete_Click(object sender, RowEventArgs e) { var id = ( int )e.RowKeyValue; RockContext rockContext = new RockContext(); CoursePageService coursePageService = new CoursePageService(rockContext); var coursePage = coursePageService.Get(id); if (coursePage != null) { coursePageService.Delete(coursePage); rockContext.SaveChanges(); } BindGrid(); }
protected void btnSavePage_Click(object sender, EventArgs e) { RockContext rockContext = new RockContext(); CoursePageService coursePageService = new CoursePageService(rockContext); var coursePage = GetCoursePage(coursePageService); var pageCourseComponent = GetCoursePageComponent(coursePage); if (coursePage.Id == 0) { var chapterId = PageParameter(PageParameterKey.ChapterId).AsInteger(); var coursePages = coursePageService .Queryable() .Where(p => p.ChapterId == chapterId) .OrderBy(cc => cc.Order).ToList(); int order = 0; if (coursePages.Any()) { order = coursePages.Last().Order + 1; } if (!EntityGuid.HasValue) { EntityGuid = Guid.NewGuid(); } coursePage = new CoursePage { ChapterId = chapterId, EntityTypeId = pageCourseComponent.TypeId, Guid = EntityGuid.Value, Order = order }; coursePageService.Add(coursePage); } coursePage.Name = tbName.Text; pageCourseComponent.ConfigureCoursePage(coursePage, controls); rockContext.SaveChanges(); var queryString = new Dictionary <string, string> { { PageParameterKey.ChapterId, coursePage.ChapterId.ToString() } }; ClientNavigate(queryString); }
private CoursePage GetCoursePage(CoursePageService coursePageService) { var coursePageId = PageParameter(PageParameterKey.CoursePageId).AsIntegerOrNull(); if (!coursePageId.HasValue) //if there is no page parameter for the page the user doesn't want it { return(null); } var coursePage = coursePageService.Get(coursePageId.Value); if (coursePage == null) { var chapterId = PageParameter(PageParameterKey.ChapterId).AsInteger(); var coursePages = coursePageService .Queryable() .Where(p => p.ChapterId == chapterId) .OrderBy(cc => cc.Order).ToList(); int order = 0; if (coursePages.Any()) { order = coursePages.Last().Order + 1; } if (!EntityGuid.HasValue) { EntityGuid = Guid.NewGuid(); } var pageCourseComponent = GetCoursePageComponent(coursePage); coursePage = new CoursePage { ChapterId = chapterId, EntityTypeId = PageComponentId ?? 0, Guid = EntityGuid.Value, Order = order, Configuration = string.Empty }; } return(coursePage); }