Пример #1
0
        private CoursePage GetCoursePage()
        {
            RockContext       rockContext       = new RockContext();
            CoursePageService coursePageService = new CoursePageService(rockContext);

            return(GetCoursePage(coursePageService));
        }
Пример #2
0
        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);
        }
Пример #3
0
        /// <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();
        }
Пример #4
0
        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();
        }
Пример #5
0
        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();
        }
Пример #6
0
        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);
        }
Пример #7
0
        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);
        }