/// <summary> /// Returns Campus object from cache. If campus does not already exist in cache, it /// will be read and added to cache /// </summary> /// <param name="id"></param> /// <returns></returns> public static CampusCache Read(int id) { string cacheKey = CampusCache.CacheKey(id); ObjectCache cache = MemoryCache.Default; CampusCache campus = cache[cacheKey] as CampusCache; if (campus != null) { return(campus); } else { Rock.Model.CampusService campusService = new Rock.Model.CampusService(); Rock.Model.Campus campusModel = campusService.Get(id); if (campusModel != null) { campusModel.LoadAttributes(); campus = CampusCache.CopyModel(campusModel); cache.Set(cacheKey, campus, new CacheItemPolicy()); return(campus); } else { return(null); } } }
// Copies the Model object to the Cached object private static CampusCache CopyModel(Rock.Model.Campus campusModel) { // Creates new object by copying properties of model var campus = new Rock.Web.Cache.CampusCache(campusModel); return(campus); }
/// <summary> /// Adds Campus model to cache, and returns cached object /// </summary> /// <param name="campusModel"></param> /// <returns></returns> public static CampusCache Read(Rock.Model.Campus campusModel) { string cacheKey = CampusCache.CacheKey(campusModel.Id); ObjectCache cache = MemoryCache.Default; CampusCache campus = cache[cacheKey] as CampusCache; if (campus != null) { return(campus); } else { campus = CampusCache.CopyModel(campusModel); cache.Set(cacheKey, campus, new CacheItemPolicy()); return(campus); } }
private CampusCache(Rock.Model.Campus model) : base(model) { }