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