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()); }
private GetPageSectionDetailsByPageVersionIdQuery GetSectionQuery(PageVersion page) { var sectionQuery = new GetPageSectionDetailsByPageVersionIdQuery(page.PageVersionId); return(sectionQuery); }
/// <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)); }