From bc4905d2f4ab6580f89e577c16cc99b83096d3a3 Mon Sep 17 00:00:00 2001 From: TekH Date: Thu, 28 May 2026 20:23:14 +0200 Subject: [PATCH] Refactor DI setup and simplify service registration Centralized dependency injection setup by adding a reference to `EnvelopeGenerator.DependencyInjection` in the project file and replacing multiple `using` directives with a single one. Replaced obsolete `AddEnvelopeGeneratorInfrastructureServices` and `AddEnvelopeGeneratorServices` methods with the new `AddEnvelopeGenerator` method, consolidating service and infrastructure setup. Encapsulated `EGDbContext` configuration within `AddEnvelopeGenerator` and removed obsolete `#pragma` directives. Simplified mail service registration by replacing manual `IEnvelopeMailService` setup with `AddEnvelopeMailService`. These changes improve maintainability, reduce redundancy, and modernize the codebase. --- .../EnvelopeGenerator.Web.csproj | 1 + EnvelopeGenerator.Web/Program.cs | 35 +++++++------------ 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj index 6c0e5d59..d0071918 100644 --- a/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj +++ b/EnvelopeGenerator.Web/EnvelopeGenerator.Web.csproj @@ -2175,6 +2175,7 @@ + diff --git a/EnvelopeGenerator.Web/Program.cs b/EnvelopeGenerator.Web/Program.cs index 4e158971..c4b2b521 100644 --- a/EnvelopeGenerator.Web/Program.cs +++ b/EnvelopeGenerator.Web/Program.cs @@ -1,4 +1,3 @@ -using EnvelopeGenerator.Application.Services; using Microsoft.EntityFrameworkCore; using NLog; using Quartz; @@ -9,14 +8,13 @@ using EnvelopeGenerator.Web.Models; using System.Text.Encodings.Web; using Ganss.Xss; using Microsoft.Extensions.Options; -using EnvelopeGenerator.Application; using DigitalData.EmailProfilerDispatcher; using EnvelopeGenerator.Infrastructure; using EnvelopeGenerator.Web.Sanitizers; using EnvelopeGenerator.Web.Models.Annotation; using DigitalData.UserManager.DependencyInjection; using EnvelopeGenerator.Web.Middleware; -using EnvelopeGenerator.Application.Common.Interfaces.Services; +using EnvelopeGenerator.DependencyInjection; using EnvelopeGenerator.Web; var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger(); @@ -103,25 +101,18 @@ try }); // Add envelope generator services -#pragma warning disable CS0618 // Type or member is obsolete - builder.Services.AddEnvelopeGeneratorInfrastructureServices( - opt => + builder.Services.AddEnvelopeGenerator(config, opt => + { + opt.AddDbTriggerParams(config); + opt.AddDbContext((provider, options) => { - opt.AddDbTriggerParams(config); - opt.AddDbContext((provider, options) => - { - var logger = provider.GetRequiredService>(); - options.UseSqlServer(connStr) - .LogTo(log => logger.LogInformation("{log}", log), Microsoft.Extensions.Logging.LogLevel.Trace) - .EnableSensitiveDataLogging() - .EnableDetailedErrors(); - }); + var logger = provider.GetRequiredService>(); + options.UseSqlServer(connStr) + .LogTo(log => logger.LogInformation("{log}", log), Microsoft.Extensions.Logging.LogLevel.Trace) + .EnableSensitiveDataLogging() + .EnableDetailedErrors(); }); -#pragma warning restore CS0618 // Type or member is obsolete - -#pragma warning disable CS0618 // Type or member is obsolete - builder.Services.AddEnvelopeGeneratorServices(config); -#pragma warning restore CS0618 // Type or member is obsolete + }); builder.Services.Configure(options => { @@ -169,9 +160,7 @@ try builder.Services.AddSingleton(sp => sp.GetRequiredService>().Value); // Register mail services -#pragma warning disable CS0618 // Type or member is obsolete - builder.Services.AddScoped(); -#pragma warning restore CS0618 // Type or member is obsolete + builder.Services.AddEnvelopeMailService(); builder.Services.AddDispatcher();