public static void EnsureDaContext(DbConnectionConfig SystemConConfig, params Assembly[] assemblies) { var dbtype = (DbType)SystemConConfig.DBType; var fuType = FlunentDBType.Sqlite; switch (dbtype) { case DbType.Sqlite: fuType = FlunentDBType.Sqlite; break; case DbType.SqlServer: fuType = FlunentDBType.MsSql; break; case DbType.MySql: fuType = FlunentDBType.MySql4; break; case DbType.PostgreSQL: fuType = FlunentDBType.Postgre; break; } MigratorFactory.CreateServices(fuType, SystemConConfig.Connectionstring, MigrationOperation.MigrateUp, 0, assemblies); }
public static ApplicationDbContext GetContext() { var dbConnectionConfig = new DbConnectionConfig(DatabaseName); var dbContextFactory = new DbContextFactory(dbConnectionConfig); return(dbContextFactory.Create(DatabaseName)); }
public DatabaseFactory(DbConnectionConfig dbConnectionConfig) { if (dbConnectionConfig == null) { throw new ArgumentNullException("No database connection details provided"); } _nameOrConnectionString = dbConnectionConfig.ConnectionString; }
public ApplicationContextSqlServer(IOptionsSnapshot <DbConnectionConfig> config) { _dbConnection = config.Value; ChangeTracker.LazyLoadingEnabled = false; if (Database.GetPendingMigrations().Any()) { Database.Migrate(); } }
public DatabaseFactory(DbConnectionConfig dbConnectionConfig) { if (dbConnectionConfig == null) { throw new ArgumentNullException("No database connection details provided"); } _providerName = dbConnectionConfig.ProviderName; _provider = DbProviderFactories.GetFactory(dbConnectionConfig.ProviderName); _connectionString = dbConnectionConfig.ConnectionString; }
public RespondCompanyInfoViewModel GetCompanyInfoViewModel(RequestCompanyInfoViewModel request) { var respond = MemcacheHelper.Get(() => { var filePath = BuildConnectionFilePath.BuildFilePath(request.CompanyID); var _respond = new RespondCompanyInfoViewModel(); if (ExistsFileHelper.ExistsFile(filePath)) { var connectionConfig = ConfigHelper.GetConfig <DbConnectionConfig>(filePath); _respond = new RespondCompanyInfoViewModel { CompanyID = request.CompanyID, ConnectTimeout = connectionConfig.ConnectTimeout, Database = connectionConfig.Database, Password = connectionConfig.Password, Server = connectionConfig.Server, UserID = connectionConfig.UserID }; return(_respond); } var parameter = new CompanyInfoParameter { CompanyID = request.CompanyID }; var dataModel = this.mCompanyInfoDataAccess.GetCompanyInfoDataModelByID(parameter); if (dataModel == null) { return(_respond); } _respond = new RespondCompanyInfoViewModel { CompanyID = dataModel.comid, ConnectTimeout = dataModel.timeout, Database = dataModel.dbase, Password = dataModel.pwd, Server = dataModel.dbserver, UserID = dataModel.uid }; var _DbconnectionConfig = new DbConnectionConfig { ConnectTimeout = dataModel.timeout, Database = dataModel.dbase, Password = dataModel.pwd, Server = dataModel.dbserver, UserID = dataModel.uid }; ConfigHelper.Save(_DbconnectionConfig, filePath); return(_respond); }, string.Format(preCachedKey, "GetCompanyInfoViewModel"), false, request.CompanyID); return(respond); }
private IDbConnection CreateOraConnection(DbConnectionConfig connectionConfig) { var builder = new OracleConnectionStringBuilder(); builder.ConnectionString = connectionConfig.ConnectionString ?? ""; if (!string.IsNullOrWhiteSpace(connectionConfig.UserName)) { builder.UserID = connectionConfig.UserName; } if (!string.IsNullOrEmpty(connectionConfig.Password)) { builder.Password = connectionConfig.Password; } return(new OracleConnection(builder.ConnectionString)); }
public RespondWebViewData <RespondSigninUserViewModel> FindSininUserDataModelByUserID(RequestOnlineSigninUserViewModel request) { var parameter = new OnlineSigninUserParameter { UserID = request.UserID }; var dataModel = this.mSiginUserDataAccess.FindSininUserDataModelByUserID(parameter); if (dataModel == null) { return(new RespondWebViewData <RespondSigninUserViewModel>(WebViewErrorCode.NotExistUserInfo)); } var companyInfoRequest = new RequestCompanyInfoViewModel { CompanyID = dataModel.comid }; var companyInfo = this.mCompanyInfoViewService.GetCompanyInfoViewModel(companyInfoRequest); var connectionConfig = new DbConnectionConfig { ConnectTimeout = companyInfo.ConnectTimeout, Database = companyInfo.Database, Password = companyInfo.Password, Server = companyInfo.Server, UserID = companyInfo.UserID }; FormsAuthenticationTicketManage.RenewTicketIfOld(request.SGuid); var respond = new RespondWebViewData <RespondSigninUserViewModel> { rows = new RespondSigninUserViewModel { CurrentUser = new SigninUser { CompanySerialNum = dataModel.comid, UserID_g = request.SGuid, UserID = dataModel.userid, UserName = dataModel.username, AddressIP = UserIPAddressTool.GetRealUserIPAddress(), ConnectionConfig = connectionConfig, IsManager = dataModel.ismanager, IsSystem = dataModel.issystem } } }; HttpContext.Current.Items.Add(BeforeCompileConstDefined.HttpContext_Login_User, respond.rows.CurrentUser); return(respond); }
public override void Add(IServiceCollection serviceCollection) { string databaseName = "r54"; IDbConnectionConfig dbConnectionConfig = new DbConnectionConfig(databaseName); string connectionString = dbConnectionConfig.GetConnectionString(); serviceCollection.AddTransient(provider => dbConnectionConfig); serviceCollection .AddEntityFrameworkNpgsql() .AddDbContext <ApplicationDbContext>( opt => opt.UseNpgsql(connectionString)) .BuildServiceProvider(); serviceCollection.AddTransient <IDbContextFactory, DbContextFactory>(); serviceCollection.AddTransient(provider => new NpgsqlConnection(connectionString)); }
public IDbConnection Create(string name) { DbConnectionConfig dbConnectionConfig = null; if (configurationList?.TryGetValue(name, out dbConnectionConfig) ?? false) { switch ((dbConnectionConfig.Provider?.ToLower() ?? "")) { case var prv when prv == DbProviders.Oracle: return(CreateOraConnection(dbConnectionConfig)); default: throw new InvalidOperationException($"Тип провайдера данных {dbConnectionConfig.Provider} не поддерживается"); } } throw new InvalidOperationException($"Конфигурация для соединения {name} не найдена"); }
public InmetricsContext(IOptionsSnapshot <DbConnectionConfig> config) { dbConnection = config.Value; try { if (Database.GetPendingMigrations().Count() > 0) { Database.Migrate(); } } catch (Exception) { } ChangeTracker.LazyLoadingEnabled = false; }
public void Connection_Not_Specified_Returns_Default_Connection() { // Arrange var name = Rnd.Str; var connection = new DbConnectionConfig(); var config = new DbConfig { Default = name }; config.Connections.Add(name, connection); // Act var result = config.GetConnection(); // Assert Assert.Equal(connection, result); }
public void Returns_Named_Connection() { // Arrange var name = Rnd.Str; var connection = new DbConnectionConfig(); var config = new DbConfig { Default = Rnd.Str }; config.Connections.Add(name, connection); // Act var result = config.GetConnection(name); // Assert Assert.Equal(connection, result); }
public ApplicationContext(ICurrentUserService currentUserService, IOptionsSnapshot <DbConnectionConfig> config) { _currentUserService = currentUserService; dbConnection = config.Value; ChangeTracker.LazyLoadingEnabled = false; try { if (Database.GetPendingMigrations().Count() > 0) { Database.Migrate(); } } catch (Exception) { } }
public static void Initialize() { Console.WriteLine("Initialization"); IDbConnectionConfig dbConnectionConfig = new DbConnectionConfig(DatabaseName); //Создать БД dbContextFactory = new DbContextFactory(dbConnectionConfig); DbContext = dbContextFactory.Create(DatabaseName); //Ввести базовые данные var seeder = new DataSeeder(); seeder.Seed(DbContext); //Прервать текущие сессии DbContext.Accounts.FromSql(new RawSqlString("ALTER DATABASE {0} SET postgres WITH ROLLBACK IMMEDIATE"), DatabaseName); //Очиста аккаунта TruncateAccountsTable(); string connectionString = dbConnectionConfig.GetConnectionString(); //Создать сервисы NpgsqlConnection npgsqlConnection = new NpgsqlConnection(connectionString); ISkinsDbReaderService skinsDbReaderService = new SkinsDbReaderService(DbContext); IDbWarshipsStatisticsReader dbWarshipsStatisticsReader = new DbWarshipsStatisticsReader(npgsqlConnection); IDbAccountWarshipReaderService dbAccountWarshipReaderService = new DbAccountWarshipReaderService(dbWarshipsStatisticsReader, skinsDbReaderService); AccountResourcesDbReader accountResourcesDbReader = new AccountResourcesDbReader(npgsqlConnection); AccountReaderService = new AccountDbReaderService(dbAccountWarshipReaderService, accountResourcesDbReader); NotShownRewardsReaderService = new NotShownRewardsReaderService(DbContext); DefaultAccountFactoryService = new DefaultAccountFactoryService(DbContext); var accountRegistrationService = new AccountRegistrationService(DefaultAccountFactoryService); var warshipsCharacteristicsService = new WarshipsCharacteristicsService(); AccountMapperService accountMapperService = new AccountMapperService(warshipsCharacteristicsService); AccountFacadeService = new AccountFacadeService(AccountReaderService, accountRegistrationService); var bundleVersionService = new BundleVersionService(); LobbyModelFacadeService = new LobbyModelFacadeService(AccountFacadeService, NotShownRewardsReaderService, accountMapperService, bundleVersionService); UsernameValidatorService usernameValidatorService = new UsernameValidatorService(); UsernameChangingService usernameChangingService = new UsernameChangingService(usernameValidatorService, DbContext); LobbyModelController = new LobbyModelController(LobbyModelFacadeService, usernameChangingService); WarshipImprovementCostChecker = new WarshipImprovementCostChecker(); WarshipImprovementFacadeService = new WarshipImprovementFacadeService(AccountReaderService, DbContext, WarshipImprovementCostChecker); }
public static (DbConnectionConfig config, ILog log, IDbClient client, IDbConnection connection, Db db) Get() { var connectionString = Rnd.Str; var config = new DbConnectionConfig { ConnectionString = connectionString }; var log = Substitute.For <ILog>(); var connection = Substitute.For <IDbConnection>(); var client = Substitute.For <IDbClient>(); client.Connect(Arg.Any <string>()).Returns(connection); var db = Substitute.ForPartsOf <Db>(client, config, log); return(config, log, client, connection, db); }
public void Returns_Default_Connection_When_Authentication_Name_Not_Set() { // Arrange var name = Rnd.Str; var connection = new DbConnectionConfig(); var config = new DbConfig { Default = name, Connections = new Dictionary <string, DbConnectionConfig> { { name, connection } } }; // Act var result = config.GetAuthenticationConnection(); // Assert Assert.Equal(connection, result); }
private static void ConfigureArchiveDataLayer(IServiceCollection services, IDictionary <string, DbConnectionConfig> dbConnectionList) { DbConnectionConfig dbConnectionConfig = null; if (dbConnectionList?.TryGetValue(QueriesConstants.ArchiveDbName, out dbConnectionConfig) ?? false) { switch ((dbConnectionConfig.Provider?.ToLower() ?? "")) { case var prv when prv == DbProviders.Oracle: { ConfigureOraArchiveDataLayer(services, dbConnectionConfig); break; } default: throw new InvalidOperationException($"Тип провайдера данных {dbConnectionConfig.Provider} не поддерживается"); } } throw new InvalidOperationException($"Конфигурация для соединения {QueriesConstants.ArchiveDbName} не найдена"); }
public void Decorate(DbConnectionConfig dbConfig, string dbProviderType) { dbConfig.Server = Get(dbProviderType + _dbHostSuffix).DefaultIfNullOrEmpty(dbConfig.Server); dbConfig.Database = Get(dbProviderType + _dbNameSuffix).DefaultIfNullOrEmpty(dbConfig.Database); dbConfig.UserId = Get(dbProviderType + _dbUserNameSuffix).DefaultIfNullOrEmpty(dbConfig.UserId); dbConfig.Port = Get(dbProviderType + _dbPortSuffix).ToInt(-1).GreaterThanZero(dbConfig.Port); // If a specific password is set, use it period. Otherwise, take the configured value and append the API KEY var if we have one var envPwValue = Get(dbProviderType + _dbPasswordSuffix); if (StringExtensions.IsNotNullOrEmpty(envPwValue)) { dbConfig.Password = envPwValue; return; } var apiKey = Get(_demoDdApiKey) ?? string.Empty; dbConfig.Password = dbConfig.Password + apiKey; }
public IDbConnectionConfig ParseConnectionConfig(Dictionary <string, string> values) { var dbConnectionString = string.Empty; foreach (var key in values.Keys) { var value = values[key]; dbConnectionString += $"{key}={value};"; } var parsedConfig = new DbConnectionConfig { Name = _config.Name, Provider = _config.Provider, ConnectionString = dbConnectionString }; return(parsedConfig); }
public virtual byte[] GetFileBytes(DbConnectionConfig cpConfig, System system, ILogger logger) { throw new NotImplementedException(); }
public virtual long GetFileLength(DbConnectionConfig cpConfig, System system, ILogger logger) { return(-1); }
public virtual string GetBatchStatus(DbConnectionConfig cpConfig, ILogger logger) { throw new NotImplementedException(); }
public virtual bool SaveMIMEType(DbConnectionConfig cpConfig, ILogger _logger) { throw new NotImplementedException(); }
public virtual bool SaveFileProcessStatus(DbConnectionConfig cpConfig, Guid batchGuid, Dictionary <string, string> fileProcessStatus, ILogger logger) { throw new NotImplementedException(); }
public virtual SecClass GetFileSecurityClassification(DbConnectionConfig cpConfig, System system, ILogger _logger) { throw new NotImplementedException(); }
public virtual string GetFilePermissions(DbConnectionConfig cpConfig, System system, ILogger logger) { throw new NotImplementedException(); }
protected override string GetConnectionString(DbConnectionConfig forConfig) => $"Server={forConfig.Server};Port={forConfig.Port.GreaterThanZero(3306)};Database={forConfig.Database};Uid={forConfig.UserId};Pwd={forConfig.Password};Connection Timeout={forConfig.ConnectTimeout.GreaterThanZero(11)};ConnectionLifeTime={forConfig.ConnectionLifetime.GreaterThanZero(7200)};SslMode=Preferred;";
protected abstract string GetConnectionString(DbConnectionConfig forConfig);
private static void ConfigureOraArchiveDataLayer(IServiceCollection services, DbConnectionConfig dbConnectionConfig) { IQueryObjectBuilderFactory oraBuilderFactory = new QueryObjectBuilderFactoryOra(dbConnectionConfig.SchemaOwner ?? ""); services.AddSingleton(oraBuilderFactory); }