protected async Task <TenantFeatureCacheItem> GetTenantFeatureCacheItemAsync(int tenantId) { return(await _cacheManager.GetTenantFeatureCache().GetAsync(tenantId, async() => { TTenant tenant; using (var uow = _unitOfWorkManager.Begin()) { using (_unitOfWorkManager.Current.SetTenantId(null)) { tenant = await _tenantRepository.GetAsync(tenantId); } await uow.CompleteAsync(); } var newCacheItem = new TenantFeatureCacheItem { EditionId = tenant.EditionId }; using (var uow = _unitOfWorkManager.Begin()) { using (_unitOfWorkManager.Current.SetTenantId(tenantId)) { var featureSettings = await _tenantFeatureRepository.GetAllListAsync(); foreach (var featureSetting in featureSettings) { newCacheItem.FeatureValues[featureSetting.Name] = featureSetting.Value; } } await uow.CompleteAsync(); } return newCacheItem; })); }
private async Task <TenantFeatureCacheItem> GetTenantFeatureCacheItemAsync(int tenantId) { return(await _cacheManager.GetTenantFeatureCache().GetAsync(tenantId, async() => { var tenant = await _tenantRepository.GetAsync(tenantId); var newCacheItem = new TenantFeatureCacheItem { EditionId = tenant.EditionId }; var featureSettings = await _tenantFeatureRepository.GetAllListAsync(f => f.TenantId == tenantId); foreach (var featureSetting in featureSettings) { newCacheItem.FeatureValues[featureSetting.Name] = featureSetting.Value; } return newCacheItem; })); }
protected virtual TenantFeatureCacheItem GetTenantFeatureCacheItem(int tenantId) { return(_cacheManager.GetTenantFeatureCache().Get(tenantId, () => { TTenant tenant; using (var uow = _unitOfWorkManager.Begin()) { using (_unitOfWorkManager.Current.SetTenantId(null)) { tenant = _tenantRepository.Get(tenantId); uow.Complete(); } } var newCacheItem = new TenantFeatureCacheItem { EditionId = tenant.EditionId }; using (var uow = _unitOfWorkManager.Begin()) { using (_unitOfWorkManager.Current.EnableFilter(AbpDataFilters.MayHaveTenant)) using (_unitOfWorkManager.Current.SetTenantId(tenantId)) { var featureSettings = _tenantFeatureRepository.GetAllList(); foreach (var featureSetting in featureSettings) { newCacheItem.FeatureValues[featureSetting.Name] = featureSetting.Value; } uow.Complete(); } } return newCacheItem; })); }