Adding database configuration - wip

This commit is contained in:
2024-09-05 01:52:07 +02:00
parent b638c48104
commit 998a4d5ab9
13 changed files with 210 additions and 8 deletions

View File

@@ -1,9 +1,11 @@
using System;
using System.Runtime.CompilerServices;
using Microsoft.EntityFrameworkCore;
using Microsoft.OpenApi.Models;
using MongoDB.Driver;
using NLog;
using BasicDotnetTemplate.MainProject.Core.Database;
using BasicDotnetTemplate.MainProject.Models.Settings;
using System.Reflection;
namespace BasicDotnetTemplate.MainProject.Utils;
@@ -125,4 +127,53 @@ public static class ProgramUtils
Logger.Info("[ProgramUtils][AddMiddlewares] Done middlewares");
}
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))
{
connectionString = connectionString.Replace("SQLSERVER_DB_SERVER", Environment.GetEnvironmentVariable("SQLSERVER_DB_SERVER"));
connectionString = connectionString.Replace("SQLSERVER_DB_DATABASE", Environment.GetEnvironmentVariable("SQLSERVER_DB_DATABASE"));
connectionString = connectionString.Replace("SQLSERVER_DB_USER", Environment.GetEnvironmentVariable("SQLSERVER_DB_USER"));
connectionString = connectionString.Replace("SQLSERVER_DB_PASSWORD", Environment.GetEnvironmentVariable("SQLSERVER_DB_PASSWORD"));
builder.Services.AddDbContext<SqlServerContext>(options =>
options.UseSqlServer(connectionString));
databaseAdded += "SqlServer";
}
connectionString = appSettings?.DatabaseSettings?.MongoDbSettings?.MongoDbConnectionString ?? String.Empty;
if (!String.IsNullOrEmpty(connectionString))
{
connectionString = connectionString.Replace("MONGODB_DB_SERVER", Environment.GetEnvironmentVariable("MONGODB_DB_SERVER"));
connectionString = connectionString.Replace("MONGODB_DB_DATABASE", Environment.GetEnvironmentVariable("MONGODB_DB_DATABASE"));
connectionString = connectionString.Replace("MONGODB_DB_USER", Environment.GetEnvironmentVariable("MONGODB_DB_USER"));
connectionString = connectionString.Replace("MONGODB_DB_PASSWORD", Environment.GetEnvironmentVariable("MONGODB_DB_PASSWORD"));
var mongoClient = new MongoClient(connectionString);
var databaseName = appSettings?.DatabaseSettings?.MongoDbSettings?.DatabaseName ?? Environment.GetEnvironmentVariable("MONGODB_DB_DATABASE") ?? String.Empty;
if (!String.IsNullOrEmpty(databaseName))
{
var dbContextOptions = new DbContextOptionsBuilder<MongoDbContext>()
.UseMongoDB(mongoClient, databaseName);
}
databaseAdded += (String.IsNullOrEmpty(databaseAdded) ? "" : ", ") + "MongoDB";
}
var message = String.IsNullOrEmpty(databaseAdded) ? "No DbContext added" : $"{databaseAdded} added";
Logger.Info($"[ProgramUtils][AddDbContext] {message}");
}
}