public void UpdateOrAddConfig(SqlMapConfig updated)
 {
     if (_sqlMapConfigs.TryGetValue(updated.Name, out var existing))
     {
         _sqlMapConfigs.Update(updated.Name, updated);
     }
     else
     {
         _sqlMapConfigs.Add(updated.Name, updated);
     }
 }
Example #2
0
        public ConfigProcessingResult Store()
        {
            var defaultConfig = new SqlMapConfig();

            _storage.SqlMapConfigProvider.AddMultiple(new List <SqlMapConfig> {
                defaultConfig
            });

            return(new ConfigProcessingResult
            {
                FallbackDefaultConfigUsed = true,
            });
        }
Example #3
0
        public SmartSqlMapper(ILoggerFactory loggerFactory, String sqlMapConfigFilePath, IConfigLoader configLoader)
        {
            _loggerFactory    = loggerFactory;
            _logger           = loggerFactory.CreateLogger <SmartSqlMapper>();
            ConfigLoader      = configLoader;
            SqlMapConfig      = ConfigLoader.Load();
            DbProviderFactory = SqlMapConfig.Database.DbProvider.DbProviderFactory;
            SessionStore      = new DbConnectionSessionStore(loggerFactory, this.GetHashCode().ToString());
            SqlBuilder        = new SqlBuilder(loggerFactory, this);
            DataSourceManager = new DataSourceManager(loggerFactory, this);
            CacheManager      = new CacheManager(loggerFactory, this);
            _sqlRuner         = new SqlRuner(loggerFactory, SqlBuilder, this);

            ConfigLoader.OnChanged = SqlConfigOnChanged;
            SqlMapConfig.SetLogger(_loggerFactory.CreateLogger <SmartSqlMapConfig>());
        }
        public void ShouldCallOneTime()
        {
            var defaultSetting = new SqlMapConfig();

            var storageMock = new Mock <IPackageStorage>();

            storageMock.Setup(e => e.SqlMapConfigProvider.AddMultiple(It.IsAny <IEnumerable <SqlMapConfig> >()));

            var instance = new FallbackConfigStrategy(Enumerable.Empty <SqlMapConfig>(), storageMock.Object);

            instance.Store();

            storageMock.Verify(e => e.SqlMapConfigProvider.AddMultiple(new List <SqlMapConfig> {
                defaultSetting
            }));
        }
        public void ShouldCallMultipleTimes()
        {
            var map1 = new SqlMapConfig();
            var map2 = new SqlMapConfig();

            List <SqlMapConfig> maps = new List <SqlMapConfig>
            {
                map1, map2
            };
            var storageMock = new Mock <IPackageStorage>();

            storageMock.Setup(e => e.SqlMapConfigProvider.AddMultiple(It.IsAny <IEnumerable <SqlMapConfig> >()));

            var instance = new MultipleConfigsStorageStrategy(maps, storageMock.Object);

            instance.Store();

            storageMock.Verify(e => e.SqlMapConfigProvider.AddMultiple(maps));
        }
Example #6
0
        public SmartSqlMapper(
            ILoggerFactory loggerFactory,
            String sqlMapConfigFilePath
            , IDbConnectionSessionStore sessionStore
            , IDataSourceManager dataSourceManager
            , ICacheManager cacheManager
            , ISqlBuilder sqlBuilder
            , IConfigLoader configLoader
            )
        {
            _loggerFactory              = loggerFactory;
            _logger                     = loggerFactory.CreateLogger <SmartSqlMapper>();
            SqlMapConfig                = ConfigLoader.Load();
            DbProviderFactory           = SqlMapConfig.Database.DbProvider.DbProviderFactory;
            SessionStore                = sessionStore;
            SqlBuilder                  = sqlBuilder;
            DataSourceManager           = dataSourceManager;
            CacheManager                = cacheManager;
            CacheManager.SmartSqlMapper = this;
            _sqlRuner                   = new SqlRuner(loggerFactory, SqlBuilder, this);

            ConfigLoader.OnChanged = SqlConfigOnChanged;
            SqlMapConfig.SetLogger(_loggerFactory.CreateLogger <SmartSqlMapConfig>());
        }