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

            new RetrieveAllDbAppSettingManager().Create(retrieveAllManagerArguments);
        }
        public void LazyLoadDbAppSettingManager_IntailizeCache()
        {
            DummySettingCache cache = new DummySettingCache();
            RetrieveAllDbAppSettingManager cacheManager = new RetrieveAllDbAppSettingManager(new RetrieveAllProviderFactory(), cache);

            Assert.IsNotNull(cacheManager);

            RetrieveAllManagerArguments arguments = new RetrieveAllManagerArguments();

            cacheManager.Create(arguments);

            Assert.IsTrue(cache.HitCount == 1);
        }
        public void LazyLoadDbAppSettingManager_CacheAlreadyIntailized()
        {
            RetrieveAllDbAppSettingManager cacheManager = new RetrieveAllDbAppSettingManager(new RetrieveAllProviderFactory(), new DummySettingCacheIntailized());

            Assert.IsNotNull(cacheManager);

            RetrieveAllManagerArguments arguments = new RetrieveAllManagerArguments();

            cacheManager.Create(arguments);

            Assert.IsNull(arguments.RetrieveAllSettingDao);
            Assert.IsNull(arguments.SaveNewSettingDao);
        }
        public void LazyLoadDbAppSettingManager_UseDefaults()
        {
            RetrieveAllDbAppSettingManager cacheManager = new RetrieveAllDbAppSettingManager(new RetrieveAllProviderFactory(), new DummySettingCache());

            Assert.IsNotNull(cacheManager);

            RetrieveAllManagerArguments arguments = new RetrieveAllManagerArguments();

            cacheManager.Create(arguments);

            Assert.IsNotNull(arguments.RetrieveAllSettingDao);
            Assert.IsTrue(arguments.RetrieveAllSettingDao.GetType() == typeof(DefaultRetrieveAllSettingDao));
            Assert.IsNotNull(arguments.SaveNewSettingDao);
            Assert.IsTrue(arguments.SaveNewSettingDao.GetType() == typeof(DefaultSaveNewSettingDao));
        }
        internal RetrieveAllDbAppSettingManager Create(RetrieveAllManagerArguments retrieveAllManagerArguments)
        {
            if (SettingCacheInstance.SettingCacheProvider?.IsInitalized ?? false)
            {
                return(this);
            }

            _retrieveAllManagerArguments = retrieveAllManagerArguments;
            _retrieveAllManagerArguments.RetrieveAllSettingDao = _retrieveAllManagerArguments.RetrieveAllSettingDao ?? new DefaultRetrieveAllSettingDao();
            _retrieveAllManagerArguments.SaveNewSettingDao     = _retrieveAllManagerArguments.SaveNewSettingDao ?? new DefaultSaveNewSettingDao();

            ISettingCacheProvider settingCacheProvider = _settingCacheProviderFactory.GetSettingCacheProvider(retrieveAllManagerArguments);

            SettingCacheInstance.InitializeCache(settingCacheProvider);

            return(this);
        }
Example #6
0
 internal RetrieveAllSettingCacheProvider(RetrieveAllManagerArguments managerArguments)
 {
     _managerArguments = managerArguments;
 }