Exemplo n.º 1
0
        /// <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);
                }
            }
        }
Exemplo n.º 2
0
        // 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);
        }
Exemplo n.º 3
0
        /// <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);
            }
        }
Exemplo n.º 4
0
 private CampusCache(Rock.Model.Campus model) : base(model)
 {
 }