From b26c553d1258c1372c20699f3fb9069f56148995 Mon Sep 17 00:00:00 2001 From: csimonapastore Date: Sat, 30 Nov 2024 00:26:05 +0100 Subject: [PATCH] Fixed multiple db contexts --- MainProject/Program.cs | 1 + MainProject/Utils/ProgramUtils.cs | 43 ++++++++++++++----------------- 2 files changed, 21 insertions(+), 23 deletions(-) diff --git a/MainProject/Program.cs b/MainProject/Program.cs index 95dcd1b..39bc52b 100644 --- a/MainProject/Program.cs +++ b/MainProject/Program.cs @@ -39,6 +39,7 @@ internal static class Program AppSettings appSettings = ProgramUtils.AddConfiguration(ref builder); ProgramUtils.AddServices(ref builder); + ProgramUtils.AddScopes(ref builder); ProgramUtils.AddOpenApi(ref builder, appSettings); ProgramUtils.AddDbContext(ref builder, appSettings); WebApplication app = builder.Build(); diff --git a/MainProject/Utils/ProgramUtils.cs b/MainProject/Utils/ProgramUtils.cs index 3f67904..42c462e 100644 --- a/MainProject/Utils/ProgramUtils.cs +++ b/MainProject/Utils/ProgramUtils.cs @@ -130,42 +130,39 @@ public static class ProgramUtils public static void AddDbContext(ref WebApplicationBuilder builder, AppSettings appSettings) { Logger.Info("[ProgramUtils][AddDbContext] Adding DbContext"); - var databaseAdded = ""; - - var connectionString = appSettings?.DatabaseSettings?.SqlServerConnectionString ?? String.Empty; - - if (!String.IsNullOrEmpty(connectionString)) + var messages = String.Empty; + if (!String.IsNullOrEmpty(appSettings.DatabaseSettings?.SqlServerConnectionString)) { + var connectionString = appSettings.DatabaseSettings?.SqlServerConnectionString ?? String.Empty; connectionString = connectionString.Replace("SQLSERVER_DB_SERVER", Environment.GetEnvironmentVariable("SQLSERVER_DB_SERVER")); - builder.Services.AddDbContext(options => - options.UseSqlServer(connectionString)); - - databaseAdded += "SqlServer"; + options.UseSqlServer(connectionString) + ); + messages = "SqlServerContext"; } - connectionString = appSettings?.DatabaseSettings?.MongoDbConnectionString ?? String.Empty; - - if (!String.IsNullOrEmpty(connectionString)) + if (!String.IsNullOrEmpty(appSettings.DatabaseSettings?.MongoDbConnectionString)) { + var connectionString = appSettings.DatabaseSettings?.MongoDbConnectionString ?? String.Empty; connectionString = connectionString.Replace("MONGO_DB_SERVER", Environment.GetEnvironmentVariable("MONGODB_DB_SERVER")); - - var mongoClient = new MongoClient(connectionString); - var databaseName = connectionString.Split("/").LastOrDefault(); - if (!String.IsNullOrEmpty(databaseName)) { - var dbContextOptions = new DbContextOptionsBuilder() - .UseMongoDB(mongoClient, databaseName); + var client = new MongoClient(connectionString); + builder.Services.AddDbContext(options => + options.UseMongoDB(client, databaseName) + ); + messages = messages + (String.IsNullOrEmpty(messages) ? "" : ", ") + "MongoDbContext"; } - - databaseAdded += (String.IsNullOrEmpty(databaseAdded) ? "" : ", ") + "MongoDB"; } + messages = String.IsNullOrEmpty(messages) ? "No context" : messages; + Logger.Info($"[ProgramUtils][AddDbContext] {messages} added"); + } - var message = String.IsNullOrEmpty(databaseAdded) ? "No DbContext added" : $"{databaseAdded} added"; - - Logger.Info($"[ProgramUtils][AddDbContext] {message}"); + public static void AddScopes(ref WebApplicationBuilder builder) + { + Logger.Info("[ProgramUtils][AddScopes] Adding scopes"); + Logger.Info("[ProgramUtils][AddScopes] Done scopes"); } } \ No newline at end of file