public MongoDBContext(IPlayersMongoDbSetings mongoDbSettings) { var client = GetDatabaseClient(mongoDbSettings); _database = client.GetDatabase(mongoDbSettings.DatabaseName); _playersCollection = _database.GetCollection <PlayerGameSession>(mongoDbSettings.PlayersCollectionName); }
private MongoClient GetDatabaseClient(IPlayersMongoDbSetings mongoDbSettings) { var mongoSettings = new MongoClientSettings(); mongoSettings.UseSsl = mongoDbSettings.UseSSL; mongoSettings.SocketTimeout = new TimeSpan(0, 0, 0, 0, mongoDbSettings.SocketConnectionTimeOutMs); mongoSettings.SslSettings = new SslSettings { CheckCertificateRevocation = true }; if (!string.IsNullOrEmpty(mongoDbSettings.UserName) && !string.IsNullOrEmpty(mongoDbSettings.Password)) { mongoSettings.Credential = MongoCredential.CreateCredential(mongoDbSettings.DatabaseName, mongoDbSettings.UserName, mongoDbSettings.Password); } return(new MongoClient(mongoSettings)); }