private IQueryable <PageVersionBlock> QueryPageBlocks(GetPageRegionDetailsByPageVersionIdQuery query)
 {
     return(_dbContext
            .PageVersionBlocks
            .AsNoTracking()
            .FilterActive()
            .Where(m => m.PageVersionId == query.PageVersionId));
 }
        public async Task <ICollection <PageRegionDetails> > ExecuteAsync(GetPageRegionDetailsByPageVersionIdQuery query, IExecutionContext executionContext)
        {
            var regions = await GetRegions(query).ToListAsync();

            var dbPageBlocks = await QueryPageBlocks(query).ToListAsync();

            var allBlockTypes = await _queryExecutor.ExecuteAsync(new GetAllPageBlockTypeSummariesQuery(), executionContext);

            MapRegions(regions, dbPageBlocks, allBlockTypes);

            return(regions);
        }
        private IQueryable <PageRegionDetails> GetRegions(GetPageRegionDetailsByPageVersionIdQuery query)
        {
            var dbQuery = _dbContext
                          .PageVersions
                          .AsNoTracking()
                          .FilterActive()
                          .FilterByPageVersionId(query.PageVersionId)
                          .SelectMany(v => v.PageTemplate.PageTemplateRegions)
                          .Where(s => !s.IsCustomEntityRegion)
                          .OrderBy(s => s.UpdateDate)
                          .Select(s => new PageRegionDetails()
            {
                PageTemplateRegionId = s.PageTemplateRegionId,
                Name = s.Name
            });

            return(dbQuery);
        }
예제 #4
0
        private GetPageRegionDetailsByPageVersionIdQuery GetRegionsQuery(PageVersion page)
        {
            var regionsQuery = new GetPageRegionDetailsByPageVersionIdQuery(page.PageVersionId);

            return(regionsQuery);
        }
 public IEnumerable <IPermissionApplication> GetPermissions(GetPageRegionDetailsByPageVersionIdQuery query)
 {
     yield return(new PageReadPermission());
 }
        public IDomainRepositoryQueryContext <ICollection <PageRegionDetails> > AsDetails()
        {
            var query = new GetPageRegionDetailsByPageVersionIdQuery(_pageVersionId);

            return(DomainRepositoryQueryContextFactory.Create(query, ExtendableContentRepository));
        }