private async void UpdateMaterialCacheAddViewAsync(int materialId)
        {
            var materialCache = await _cacheManager.GetAsync <GetMaterialDetailQuery.Response>(CacheKeysConstants.Material + materialId);

            if (materialCache != null)
            {
                materialCache.Reads++;
                _cacheManager.Set(CacheKeysConstants.Material + materialId, materialCache);
            }

            var materialsCache =
                await _cacheManager.GetAsync <GetLatestMaterialsQuery.Response>(CacheKeysConstants.MaterialsLatest);

            var material = materialsCache?.Results.FirstOrDefault(x => x.Id == materialId);

            if (material != null)
            {
                material.Reads++;
                _cacheManager.Set(CacheKeysConstants.MaterialsLatest, materialsCache);
            }

            var materialsPinnedCache =
                await _cacheManager.GetAsync <GetPinnedMaterialsQuery.Response>(CacheKeysConstants.MaterialsPinned);

            var materialPinned = materialsPinnedCache?.Results.FirstOrDefault(x => x.Id == materialId);

            if (material != null)
            {
                material.Reads++;
                _cacheManager.Set(CacheKeysConstants.MaterialsPinned, materialPinned);
            }
        }
Esempio n. 2
0
        private async void UpdateMaterialCacheAddViewAsync(int materialId)
        {
            var materialCache = await _cacheManager.GetAsync <GetMaterialDetailQuery.Response>(CacheKeysConstants.Material + materialId);

            if (materialCache != null)
            {
                materialCache.Reads++;
                _cacheManager.Set(CacheKeysConstants.Material + materialId, materialCache);
            }

            var materialsCache =
                await _cacheManager.GetAsync <GetLatestMaterialsQuery.Response>(CacheKeysConstants.MaterialsLatest);

            var matIndex = materialsCache?.Results.FindIndex(x => x.Id == materialId);

            if (matIndex.HasValue)
            {
                materialsCache.Results[matIndex.Value].Reads++;
                _cacheManager.Set(CacheKeysConstants.MaterialsLatest, materialsCache);
            }

            var materialsPinnedCache =
                await _cacheManager.GetAsync <GetPinnedMaterialsQuery.Response>(CacheKeysConstants.MaterialsPinned);

            var matPinnedIndex = materialsPinnedCache?.Results.FindIndex(x => x.Id == materialId);

            if (matPinnedIndex.HasValue)
            {
                materialsPinnedCache.Results[matPinnedIndex.Value].Reads++;
                _cacheManager.Set(CacheKeysConstants.MaterialsPinned, materialsPinnedCache);
            }
        }
 public async Task <MyComplexValue> Get(int id)
 {
     return(await _cacheManager.GetAsync(id));
 }