/// <summary>
        /// Provides a more advanced way of intializing the underlying caches by providing overrides and additional data access methods.
        /// </summary>
        /// <param name="lazyLoadManagerArguments">Arguments cannot be null.</param>
        /// <returns></returns>
        public static void CreateAndIntialize(LazyLoadManagerArguments lazyLoadManagerArguments)
        {
            if (lazyLoadManagerArguments == null)
            {
                throw new NullReferenceException("lazyLoadManagerArguments cannot be null");
            }

            new LazyLoadDbAppSettingManager().Create(lazyLoadManagerArguments);
        }
Example #2
0
        public void LazyLoadDbAppSettingManager_IntailizeCache()
        {
            DummySettingCache           cache        = new DummySettingCache();
            LazyLoadDbAppSettingManager cacheManager = new LazyLoadDbAppSettingManager(new LazyLoadProviderFactory(), cache);

            Assert.IsNotNull(cacheManager);

            LazyLoadManagerArguments arguments = new LazyLoadManagerArguments();

            cacheManager.Create(arguments);

            Assert.IsTrue(cache.HitCount == 1);
        }
Example #3
0
        public void LazyLoadDbAppSettingManager_CacheAlreadyIntailized()
        {
            LazyLoadDbAppSettingManager cacheManager = new LazyLoadDbAppSettingManager(new LazyLoadProviderFactory(), new DummySettingCacheIntailized());

            Assert.IsNotNull(cacheManager);

            LazyLoadManagerArguments arguments = new LazyLoadManagerArguments();

            cacheManager.Create(arguments);

            Assert.IsNull(arguments.LazyLoadSettingDao);
            Assert.IsNull(arguments.SaveNewSettingDao);
        }
Example #4
0
        public void LazyLoadDbAppSettingManager_UseDefaults()
        {
            LazyLoadDbAppSettingManager cacheManager = new LazyLoadDbAppSettingManager(new LazyLoadProviderFactory(), new DummySettingCache());

            Assert.IsNotNull(cacheManager);

            LazyLoadManagerArguments arguments = new LazyLoadManagerArguments();

            cacheManager.Create(arguments);

            Assert.IsNotNull(arguments.LazyLoadSettingDao);
            Assert.IsTrue(arguments.LazyLoadSettingDao.GetType() == typeof(DefaultLazyLoadSettingDao));
            Assert.IsNotNull(arguments.SaveNewSettingDao);
            Assert.IsTrue(arguments.SaveNewSettingDao.GetType() == typeof(DefaultSaveNewSettingDao));
        }
        internal LazyLoadDbAppSettingManager Create(LazyLoadManagerArguments lazyLoadManagerArguments)
        {
            if (SettingCacheInstance.SettingCacheProvider?.IsInitalized ?? false)
            {
                return(this);
            }

            _lazyLoadManagerArguments = lazyLoadManagerArguments;
            _lazyLoadManagerArguments.LazyLoadSettingDao = _lazyLoadManagerArguments.LazyLoadSettingDao ?? new DefaultLazyLoadSettingDao();
            _lazyLoadManagerArguments.SaveNewSettingDao  = _lazyLoadManagerArguments.SaveNewSettingDao ?? new DefaultSaveNewSettingDao();

            ISettingCacheProvider settingCacheProvider = _settingCacheProviderFactory.GetSettingCacheProvider(lazyLoadManagerArguments);

            SettingCacheInstance.InitializeCache(settingCacheProvider);

            return(this);
        }
Example #6
0
 internal LazyLoadSettingCacheProvider(LazyLoadManagerArguments managerArguments)
 {
     _managerArguments = managerArguments;
 }