public async Task <PageTemplateDetails> ExecuteAsync(GetPageTemplateDetailsByIdQuery query, IExecutionContext executionContext) { var queryModel = new PageTemplateDetailsQueryModel(); queryModel.PageTemplate = await _dbContext .PageTemplates .AsNoTracking() .Include(t => t.PageTemplateRegions) .Where(l => l.PageTemplateId == query.PageTemplateId) .SingleOrDefaultAsync(); if (queryModel.PageTemplate == null) { return(null); } if (!string.IsNullOrEmpty(queryModel.PageTemplate.CustomEntityDefinitionCode)) { var definitionQuery = new GetCustomEntityDefinitionMicroSummaryByCodeQuery(queryModel.PageTemplate.CustomEntityDefinitionCode); queryModel.CustomEntityDefinition = await _queryExecutor.ExecuteAsync(definitionQuery, executionContext); } queryModel.NumPages = await _dbContext .PageVersions .AsNoTracking() .Where(v => v.PageTemplateId == query.PageTemplateId) .Select(v => v.Page) .Distinct() .CountAsync(); var template = _pageTemplateDetailsMapper.Map(queryModel); return(template); }
public IDomainRepositoryQueryContext <CustomEntityDefinitionMicroSummary> AsMicroSummary() { var query = new GetCustomEntityDefinitionMicroSummaryByCodeQuery(_customEntityDefinitionCode); return(DomainRepositoryQueryContextFactory.Create(query, ExtendableContentRepository)); }