public async Task<IDictionary<int, RootEntityMicroSummary>> ExecuteAsync(GetCustomEntityVersionPageBlockEntityMicroSummariesByIdRangeQuery query, IExecutionContext executionContext) { var results = await Query(query).ToDictionaryAsync(e => e.ChildEntityId, e => (RootEntityMicroSummary)e); EnforcePermissions(results, executionContext); return results; }
private IQueryable <ChildEntityMicroSummary> Query(GetCustomEntityVersionPageBlockEntityMicroSummariesByIdRangeQuery query) { var dbQuery = _dbContext .CustomEntityVersionPageBlocks .AsNoTracking() .Where(m => query.CustomEntityVersionPageBlockIds.Contains(m.CustomEntityVersionPageBlockId)) .Select(m => new ChildEntityMicroSummary() { ChildEntityId = m.CustomEntityVersionPageBlockId, RootEntityId = m.CustomEntityVersion.CustomEntityId, RootEntityTitle = m.CustomEntityVersion.Title, EntityDefinitionCode = m.CustomEntityVersion.CustomEntity.CustomEntityDefinition.EntityDefinition.EntityDefinitionCode, EntityDefinitionName = m.CustomEntityVersion.CustomEntity.CustomEntityDefinition.EntityDefinition.Name, IsPreviousVersion = !m.CustomEntityVersion.CustomEntityPublishStatusQueries.Any() }); return(dbQuery); }