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