public virtual PageTemplateDetails Map(PageTemplateDetailsQueryModel queryModel) { var dbPageTemplate = queryModel?.PageTemplate; if (dbPageTemplate == null) { return(null); } var pageTemplate = new PageTemplateDetails() { FullPath = dbPageTemplate.FullPath, IsArchived = dbPageTemplate.IsArchived, Name = dbPageTemplate.Name, PageTemplateId = dbPageTemplate.PageTemplateId, CreateDate = dbPageTemplate.CreateDate, Description = dbPageTemplate.Description, FileName = dbPageTemplate.FileName, PageType = (PageType)dbPageTemplate.PageTypeId, CustomEntityModelType = dbPageTemplate.CustomEntityModelType, UpdateDate = dbPageTemplate.UpdateDate, NumPages = queryModel.NumPages, CustomEntityDefinition = queryModel.CustomEntityDefinition }; pageTemplate.Regions = queryModel .PageTemplate .PageTemplateRegions .Select(MapRegion) .ToList(); return(pageTemplate); }
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); }