/// <summary> /// Returns DefinedValue object from cache. If definedValue does not already exist in cache, it /// will be read and added to cache /// </summary> /// <param name="id"></param> /// <returns></returns> public static DefinedValueCache Read(int id) { string cacheKey = DefinedValueCache.CacheKey(id); ObjectCache cache = MemoryCache.Default; DefinedValueCache definedValue = cache[cacheKey] as DefinedValueCache; if (definedValue != null) { return(definedValue); } else { Rock.Model.DefinedValueService definedValueService = new Rock.Model.DefinedValueService(); Rock.Model.DefinedValue definedValueModel = definedValueService.Get(id); if (definedValueModel != null) { definedValue = CopyModel(definedValueModel); cache.Set(cacheKey, definedValue, new CacheItemPolicy()); return(definedValue); } else { return(null); } } }
/// <summary> /// Reads the specified defined value model. /// </summary> /// <param name="definedValueModel">The defined value model.</param> /// <returns></returns> public static DefinedValueCache Read(Rock.Model.DefinedValue definedValueModel) { string cacheKey = DefinedValueCache.CacheKey(definedValueModel.Id); ObjectCache cache = MemoryCache.Default; DefinedValueCache definedValue = cache[cacheKey] as DefinedValueCache; if (definedValue != null) { return(definedValue); } else { definedValue = DefinedValueCache.CopyModel(definedValueModel); cache.Set(cacheKey, definedValue, new CacheItemPolicy()); return(definedValue); } }
private DefinedValueCache(Rock.Model.DefinedValue model) : base(model) { }
/// <summary> /// Copies the model. /// </summary> /// <param name="definedValueModel">The defined value model.</param> /// <returns></returns> public static DefinedValueCache CopyModel(Rock.Model.DefinedValue definedValueModel) { DefinedValueCache definedValue = new DefinedValueCache(definedValueModel); return(definedValue); }