/// <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); }
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); }
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); }
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); }
internal LazyLoadSettingCacheProvider(LazyLoadManagerArguments managerArguments) { _managerArguments = managerArguments; }