/// <summary> /// Конструктор с инициализацией полей /// </summary> public Main(IResolutionRoot kernel) { ServerKernel.Kernel = kernel; _worldInitializer = kernel.Get <IWorldInitializer>(); _databaseSynchronizer = kernel.Get <IDatabaseSynchronizer>(); _finishDownloadManager = kernel.Get <IPlayerFinishDownloadManager>(); _playerConnectManager = kernel.Get <IPlayerConnectManager>(); _playerDisconnectManager = kernel.Get <IPlayerDisconnectManager>(); _playerRespawn = kernel.Get <IPlayerRespawnManager>(); _playerDamagedManager = kernel.Get <IPlayerDamagedManager>(); _playerDeathManager = kernel.Get <IPlayerDeathManager>(); _vehicleEnterManager = kernel.Get <IVehicleEnterManager>(); _chatHandler = kernel.Get <IChatHandler>(); _playerManager = kernel.Get <IPlayerManager>(); _vehicleManager = kernel.Get <IVehicleManager>(); _vehicleInfoManager = kernel.Get <IVehicleInfoManager>(); _giftsManager = kernel.Get <IGiftsManager>(); }
public SqlServerFixture() { var config = new ConfigurationBuilder() .AddEnvironmentVariables() .Build(); SqlServerConfig = SqlServerConfigReader.Read(config); var genericScriptsReader = new GenericSqlScriptsReader(new GenericScriptTemplateReader()); var databaseDeleterFactory = new DatabaseDeleterFactory(SqlServerConfig.GetConnectionStringForMasterDatabase(), genericScriptsReader); var systemClock = new RealSystemClock(); _dbSynchronizer = new DatabaseSynchronizer( new OutdatedDatabaseCleaner( new OutdatedDatabaseFinder( SqlServerConfig.GetConnectionStringForMasterDatabase(), SqlServerConfig.DatabaseNameTemplate, systemClock), databaseDeleterFactory), new EmptyDatabaseCreator( SqlServerConfig.GetConnectionStringForMasterDatabase(), SqlServerConfig.GetUniqueDatabaseName(), genericScriptsReader), new DatabaseSchemaApplier( SqlServerConfig.GetConnectionStringForTestDatabase(), new DatabaseScriptsReader()), databaseDeleterFactory.CreateForDb(SqlServerConfig.GetUniqueDatabaseName())); try { _dbSynchronizer.CleanOutdatedDatabases(); _dbSynchronizer.DeleteTestDatabase(); _dbSynchronizer.CreateDatabaseForTests(); } catch (Exception) { _dbSynchronizer.DeleteTestDatabase(); throw; } }