From c2739e85499cf090ebd6f4e99b210244c2039197 Mon Sep 17 00:00:00 2001 From: Infarh Date: Fri, 18 Nov 2022 20:48:41 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9A=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83?= =?UTF-8?q?=D1=80=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81?= =?UTF-8?q?=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB?= =?UTF-8?q?=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=BA=20=D0=91=D0=94=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D0=B5=D0=B7=20=D1=81=D0=B8=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D0=BC=D1=83=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8=D0=B3=D1=83=D1=80?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D1=80=D0=B8=D0=BB=D0=BE=D0=B6?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/ServiceCollectionExtensions.cs | 19 ++++++++++++++++--- UI/SciMaterials.UI.MVC/appsettings.json | 6 +++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs b/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs index 16175912..5da1e92d 100644 --- a/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs +++ b/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs @@ -1,4 +1,6 @@ -using Microsoft.Extensions.Configuration; +using System.Data.Common; + +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using SciMaterials.Contracts.Database.Configuration; using SciMaterials.Contracts.Database.Initialization; @@ -15,11 +17,22 @@ public static class ServiceCollectionExtensions public static IServiceCollection AddDatabaseProviders(this IServiceCollection services, IConfiguration configuration) { - var dbSettings = configuration.GetSection("DbSettings") + var db_settings = configuration.GetSection("DbSettings"); + var dbSettings = db_settings .Get(); var providerName = dbSettings.GetProviderName(); - var connectionString = configuration.GetSection("DbSettings").GetConnectionString(dbSettings.DbProvider); + var connectionString = db_settings.GetConnectionString(dbSettings.DbProvider); + + var connection_settings = db_settings.GetSection("ConnectionSettings"); + + var connection_string_builder = new DbConnectionStringBuilder { ConnectionString = connectionString }; + foreach (var parameter in connection_settings.GetChildren()) + if(parameter.Value is { Length: > 0 } value) + { + connection_string_builder[parameter.Key] = value; + } + switch (providerName.ToLower()) { diff --git a/UI/SciMaterials.UI.MVC/appsettings.json b/UI/SciMaterials.UI.MVC/appsettings.json index 19834909..727e8b8a 100644 --- a/UI/SciMaterials.UI.MVC/appsettings.json +++ b/UI/SciMaterials.UI.MVC/appsettings.json @@ -14,7 +14,11 @@ }, "DbProvider": "SqlServer.SQLEXPRESS", "RemoveAtStart": "true", - "UseDataSeeder": "true" + "UseDataSeeder": "true", + "ConnectionSettings": { + "User Id": null, + "Password": null + } }, "Logging": { "LogLevel": { From a75ae8eae9d5ca8043f2b45b8f130553730daea3 Mon Sep 17 00:00:00 2001 From: Infarh Date: Fri, 18 Nov 2022 20:55:09 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A0=D0=B5=D0=BA=D0=BE=D0=BD=D1=84=D0=B8?= =?UTF-8?q?=D0=B3=D1=83=D1=80=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/ServiceCollectionExtensions.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs b/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs index 5da1e92d..9d4eafb5 100644 --- a/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs +++ b/Services/SciMaterials.Services.Database/Extensions/ServiceCollectionExtensions.cs @@ -33,6 +33,7 @@ public static IServiceCollection AddDatabaseProviders(this IServiceCollection se connection_string_builder[parameter.Key] = value; } + connectionString = connection_string_builder.ConnectionString; switch (providerName.ToLower()) {