public async Task <IEnumerable <CustomEntityRoute> > ExecuteAsync(GetCustomEntityRoutesByDefinitionCodeQuery query, IExecutionContext executionContext) { return(await _customEntityCache.GetOrAddAsync(query.CustomEntityDefinitionCode, async() => { var dbRoutes = await GetDbQuery(query).ToListAsync(); return MapRoutes(query, dbRoutes);; })); }
public async Task <ICollection <CustomEntityRoute> > ExecuteAsync(GetCustomEntityRoutesByDefinitionCodeQuery query, IExecutionContext executionContext) { return(await _customEntityCache.GetOrAddAsync(query.CustomEntityDefinitionCode, async() => { var dbRoutes = await _dbContext .CustomEntities .Include(c => c.CustomEntityVersions) .Include(c => c.Locale) .AsNoTracking() .Where(e => e.CustomEntityDefinitionCode == query.CustomEntityDefinitionCode && (e.LocaleId == null || e.Locale.IsActive)) .ToListAsync(); var allLocales = await _queryExecutor.ExecuteAsync(new GetAllActiveLocalesQuery(), executionContext); var localesLookup = allLocales.ToDictionary(l => l.LocaleId); return await MapRoutesAsync(query, dbRoutes, localesLookup);; })); }