public void RemoveCache(Element element) { var cacheKey = new ElementCacheKey(element); lock (CachedElements) { if (CachedElements.ContainsKey(cacheKey)) { CachedElements.Remove(cacheKey); } } }
public Element Get(string name, string category, string culture) { var cachedKey = new ElementCacheKey(name, category, culture); Element element = CachedElements[cachedKey] as Element; //.FirstOrDefault(i => i.Name == key && i.Category == category && i.Culture == culture.Name); if (element == null) { element = inner.Get(name, category, culture); if (element != null) { AddCache(element); } } return(element); }
public Element Get(string name, string category, string culture) { var cachedKey = new ElementCacheKey(name, category, culture); Element element = CachedElements[cachedKey] as Element; //.FirstOrDefault(i => i.Name == key && i.Category == category && i.Culture == culture.Name); if (element == null) { element = inner.Get(name, category, culture); if (element != null) { AddCache(element); } } return element; }
/// <summary> /// Gets the specified name. /// </summary> /// <param name="name">The name.</param> /// <param name="category">The category.</param> /// <param name="culture">The culture.</param> /// <returns>Element.</returns> public Element Get(string name, string category, string culture) { var cachedKey = new ElementCacheKey(name, category, culture); var element = _cachedElements[cachedKey] as Element; if (element == null) { var statusElement = GetStatusElement(culture); if (statusElement == null) { var preloadedCategoryLocalizations = _innerRepository.Elements().Where(it => it.Culture.Equals(culture, StringComparison.OrdinalIgnoreCase)); foreach (var preloadedCategoryLocalization in preloadedCategoryLocalizations) { AddCache(preloadedCategoryLocalization); } SetStatusElement(default(DateTime), culture); element = _cachedElements[cachedKey] as Element; } } return element; }
/// <summary> /// Gets the specified name. /// </summary> /// <param name="name">The name.</param> /// <param name="category">The category.</param> /// <param name="culture">The culture.</param> /// <returns>Element.</returns> public Element Get(string name, string category, string culture) { var cachedKey = new ElementCacheKey(name, category, culture); var element = _cachedElements[cachedKey] as Element; if (element == null) { var statusElement = GetStatusElement(culture); if (statusElement == null) { var preloadedCategoryLocalizations = _innerRepository.Elements().Where(it => it.Culture.Equals(culture, StringComparison.OrdinalIgnoreCase)); foreach (var preloadedCategoryLocalization in preloadedCategoryLocalizations) { AddCache(preloadedCategoryLocalization); } SetStatusElement(default(DateTime), culture); element = _cachedElements[cachedKey] as Element; } } return(element); }
/// <summary> /// Adds the cache. /// </summary> /// <param name="element">The element.</param> public void AddCache(Element element) { var cacheKey = new ElementCacheKey(element); CachedElements[cacheKey] = element; }
/// <summary> /// Removes the cache. /// </summary> /// <param name="element">The element.</param> public void RemoveCache(Element element) { var cacheKey = new ElementCacheKey(element); lock (CachedElements) { if (CachedElements.ContainsKey(cacheKey)) { CachedElements.Remove(cacheKey); } } }
public void AddCache(Element element) { var cacheKey = new ElementCacheKey(element); CachedElements[cacheKey] = element; }
private Element GetStatusElement(string culture) { var cachedKey = new ElementCacheKey(StatusDateKeyInner, null, culture); return _cachedElements[cachedKey] as Element; }
private Element GetStatusElement(string culture) { var cachedKey = new ElementCacheKey(StatusDateKeyInner, null, culture); return(_cachedElements[cachedKey] as Element); }