private IQueryable <PageVersionModule> QueryModules(GetPageSectionDetailsByPageVersionIdQuery query)
 {
     return(_dbContext
            .PageVersionModules
            .AsNoTracking()
            .Where(m => m.PageVersionId == query.PageVersionId));
 }
        public IEnumerable <PageSectionDetails> Execute(GetPageSectionDetailsByPageVersionIdQuery query, IExecutionContext executionContext)
        {
            var sections       = GetSections(query).ToList();
            var dbModules      = QueryModules(query).ToList();
            var allModuleTypes = _queryExecutor.GetAll <PageModuleTypeSummary>(executionContext);

            MapSections(sections, dbModules, allModuleTypes);

            return(sections);
        }
        public async Task <IEnumerable <PageSectionDetails> > ExecuteAsync(GetPageSectionDetailsByPageVersionIdQuery query, IExecutionContext executionContext)
        {
            var sections = await GetSections(query).ToListAsync();

            var dbModules = await QueryModules(query).ToListAsync();

            var allModuleTypes = await _queryExecutor.GetAllAsync <PageModuleTypeSummary>(executionContext);

            MapSections(sections, dbModules, allModuleTypes);

            return(sections);
        }
        private IQueryable <PageSectionDetails> GetSections(GetPageSectionDetailsByPageVersionIdQuery query)
        {
            var dbQuery = _dbContext
                          .PageVersions
                          .AsNoTracking()
                          .Where(v => v.PageVersionId == query.PageVersionId && !v.IsDeleted)
                          .SelectMany(v => v.PageTemplate.PageTemplateSections)
                          .Where(s => !s.IsCustomEntitySection)
                          .OrderBy(s => s.UpdateDate)
                          .Select(s => new PageSectionDetails()
            {
                PageTemplateSectionId = s.PageTemplateSectionId,
                Name = s.Name
            });

            return(dbQuery);
        }
 public IEnumerable <IPermissionApplication> GetPermissions(GetPageSectionDetailsByPageVersionIdQuery query)
 {
     yield return(new PageReadPermission());
 }
Ejemplo n.º 6
0
        private GetPageSectionDetailsByPageVersionIdQuery GetSectionQuery(PageVersion page)
        {
            var sectionQuery = new GetPageSectionDetailsByPageVersionIdQuery(page.PageVersionId);

            return(sectionQuery);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Gets a collection of the content managed sections and
        /// modules for a specific version of a page. These are the
        /// modules that get rendered in the page template linked
        /// to the page version.
        /// </summary>
        /// <param name="pageVersionId">Database id of the page version to get content data for.</param>
        /// <param name="executionContext">Optional execution context to use when executing the query. Useful if you need to temporarily elevate your permission level.</param>
        public Task <IEnumerable <PageSectionDetails> > GetPageSectionDetailsByPageVersionIdAsync(int pageVersionId, IExecutionContext executionContext = null)
        {
            var query = new GetPageSectionDetailsByPageVersionIdQuery(pageVersionId);

            return(_queryExecutor.ExecuteAsync(query, executionContext));
        }