Rock.Model.GroupMemberWorkflowTriggerService.GetOrAddExisting C# (CSharp) Method

GetOrAddExisting() private static method

Gets the or add existing.
private static GetOrAddExisting ( Func factory ) : List
factory Func The factory.
return List
        private static List<GroupMemberWorkflowTrigger> GetOrAddExisting( Func<List<GroupMemberWorkflowTrigger>> factory )
        {
            RockMemoryCache cache = RockMemoryCache.Default;

            var value = cache.Get( CACHE_KEY ) as List<GroupMemberWorkflowTrigger>;
            if ( value != null )
            {
                return value;
            }

            value = factory();
            if ( value != null )
            {
                cache.Set( CACHE_KEY, value, new CacheItemPolicy() );
            }
            return value;
        }