diff --git a/Core.Blueprint.Mongo/Configuration/RegisterBlueprint.cs b/Core.Blueprint.Mongo/Configuration/RegisterBlueprint.cs index e690faa..ec55e3f 100644 --- a/Core.Blueprint.Mongo/Configuration/RegisterBlueprint.cs +++ b/Core.Blueprint.Mongo/Configuration/RegisterBlueprint.cs @@ -22,43 +22,37 @@ namespace Core.Blueprint.DAL.Mongo.Configuration /// The updated with MongoDB services registered. public static IServiceCollection AddMongoLayer(this IServiceCollection services, IConfiguration configuration) { - var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") ?? string.Empty; - + string text = "Local"; services.AddSingleton(); - - var ConnectionString = configuration.GetSection("ConnectionStrings:MongoDB").Value ?? string.Empty; - var Databasename = configuration.GetSection("MongoDb:DatabaseName").Value ?? string.Empty; - var Audience = (environment == "Local") + string ConnectionString = configuration.GetSection("ConnectionStrings:MongoDB").Value ?? string.Empty; + string Databasename = configuration.GetSection("MongoDb:DatabaseName").Value ?? string.Empty; + string Audience = text == "Local" ? configuration.GetSection("MongoDb:LocalAudience").Value : configuration.GetSection("MongoDb:Audience").Value; - if (string.IsNullOrEmpty(ConnectionString) || string.IsNullOrEmpty(Databasename) || string.IsNullOrEmpty(Audience)) + { throw new InvalidOperationException("Mongo connection is not configured correctly."); + } - services.Configure(options => + services.Configure(delegate (MongoDbSettings options) { options.ConnectionString = ConnectionString; options.Databasename = Databasename; options.Audience = Audience; }); - - services.AddSingleton(serviceProvider => + services.AddSingleton((Func)delegate (IServiceProvider serviceProvider) { - var settings = serviceProvider.GetRequiredService>().Value; - var mongoClientSettings = MongoClientSettings.FromConnectionString(settings.ConnectionString); - mongoClientSettings.Credential = MongoCredential.CreateOidcCredential(new AzureIdentityProvider(settings.Audience)); + MongoDbSettings value2 = serviceProvider.GetRequiredService>().Value; + MongoClientSettings mongoClientSettings = MongoClientSettings.FromConnectionString(value2.ConnectionString); + //mongoClientSettings.Credential = MongoCredential.CreateOidcCredential(new AzureIdentityProvider(value2.Audience)); return new MongoClient(mongoClientSettings); }); - - services.AddSingleton(serviceProvider => + services.AddSingleton(delegate (IServiceProvider serviceProvider) { - var settings = serviceProvider.GetRequiredService>().Value; - var client = serviceProvider.GetRequiredService(); - return client.GetDatabase(settings.Databasename); + MongoDbSettings value = serviceProvider.GetRequiredService>().Value; + return serviceProvider.GetRequiredService().GetDatabase(value.Databasename); }); - - services.AddSingleton(serviceProvider => serviceProvider.GetRequiredService>().Value); - + services.AddSingleton((Func)((IServiceProvider serviceProvider) => serviceProvider.GetRequiredService>().Value)); return services; } }