public virtual async Task <IEnumerable <TreeItem <CmsMenu> > > CacheGetByPositionAsync(string position) { string cacheKey = $"{CoreConstants.CmsMenuCacheKey}_agbp_cid{position}"; return(await _asyncCacheService.GetOrCreateAsync(cacheKey, async() => { var query = await _cmsMenuData.FindAllNoTrackingAsync(); if (!string.IsNullOrEmpty(position)) { query = query.Where(q => q.Position.Contains(position, StringComparison.InvariantCulture)).ToList(); } return query.ToList().GenerateTree(q => q.Id, q => q.ParentId, q => q.DisplayOrder, string.Empty); }, CoreConstants.DefaultCacheTime)); }
public virtual async Task <User> CacheGetUserById(string userId) { GuardClausesParameter.NullOrEmpty(userId, nameof(userId)); string cacheKey = $"{CoreConstants.UserCacheKey}gcua_{userId}uid"; return(await _asyncCacheService.GetOrCreateAsync(cacheKey, async() => await _userData.FindAsync(userId), CoreConstants.DefaultCacheTime)); }
public virtual async Task <Currency> GetWorkingCurrency(string tagetCode) { string cacheKey = $"{CoreConstants.CurrencyCacheKey}_getworkingcurrency_{tagetCode}"; return(await _cacheService.GetOrCreateAsync(cacheKey, async() => { Currency workingCurrentcy = null; if (!string.IsNullOrWhiteSpace(tagetCode)) { workingCurrentcy = await _currencyData.FindAsync(q => q.CurrencyCode == tagetCode); } return workingCurrentcy ?? await _currencyData.FindAsync(q => q.IsPrimarySystem); }, CoreConstants.DefaultCacheTime)); }