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.
This commit is contained in:
@@ -2175,6 +2175,7 @@
|
|||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\EnvelopeGenerator.Application\EnvelopeGenerator.Application.csproj" />
|
<ProjectReference Include="..\EnvelopeGenerator.Application\EnvelopeGenerator.Application.csproj" />
|
||||||
|
<ProjectReference Include="..\EnvelopeGenerator.DependencyInjection\EnvelopeGenerator.DependencyInjection.csproj" />
|
||||||
<ProjectReference Include="..\EnvelopeGenerator.Infrastructure\EnvelopeGenerator.Infrastructure.csproj" />
|
<ProjectReference Include="..\EnvelopeGenerator.Infrastructure\EnvelopeGenerator.Infrastructure.csproj" />
|
||||||
<ProjectReference Include="..\EnvelopeGenerator.PdfEditor\EnvelopeGenerator.PdfEditor.csproj" />
|
<ProjectReference Include="..\EnvelopeGenerator.PdfEditor\EnvelopeGenerator.PdfEditor.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
using EnvelopeGenerator.Application.Services;
|
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using NLog;
|
using NLog;
|
||||||
using Quartz;
|
using Quartz;
|
||||||
@@ -9,14 +8,13 @@ using EnvelopeGenerator.Web.Models;
|
|||||||
using System.Text.Encodings.Web;
|
using System.Text.Encodings.Web;
|
||||||
using Ganss.Xss;
|
using Ganss.Xss;
|
||||||
using Microsoft.Extensions.Options;
|
using Microsoft.Extensions.Options;
|
||||||
using EnvelopeGenerator.Application;
|
|
||||||
using DigitalData.EmailProfilerDispatcher;
|
using DigitalData.EmailProfilerDispatcher;
|
||||||
using EnvelopeGenerator.Infrastructure;
|
using EnvelopeGenerator.Infrastructure;
|
||||||
using EnvelopeGenerator.Web.Sanitizers;
|
using EnvelopeGenerator.Web.Sanitizers;
|
||||||
using EnvelopeGenerator.Web.Models.Annotation;
|
using EnvelopeGenerator.Web.Models.Annotation;
|
||||||
using DigitalData.UserManager.DependencyInjection;
|
using DigitalData.UserManager.DependencyInjection;
|
||||||
using EnvelopeGenerator.Web.Middleware;
|
using EnvelopeGenerator.Web.Middleware;
|
||||||
using EnvelopeGenerator.Application.Common.Interfaces.Services;
|
using EnvelopeGenerator.DependencyInjection;
|
||||||
using EnvelopeGenerator.Web;
|
using EnvelopeGenerator.Web;
|
||||||
|
|
||||||
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
|
var logger = LogManager.Setup().LoadConfigurationFromAppSettings().GetCurrentClassLogger();
|
||||||
@@ -103,25 +101,18 @@ try
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Add envelope generator services
|
// Add envelope generator services
|
||||||
#pragma warning disable CS0618 // Type or member is obsolete
|
builder.Services.AddEnvelopeGenerator(config, opt =>
|
||||||
builder.Services.AddEnvelopeGeneratorInfrastructureServices(
|
{
|
||||||
opt =>
|
opt.AddDbTriggerParams(config);
|
||||||
|
opt.AddDbContext((provider, options) =>
|
||||||
{
|
{
|
||||||
opt.AddDbTriggerParams(config);
|
var logger = provider.GetRequiredService<ILogger<EGDbContext>>();
|
||||||
opt.AddDbContext((provider, options) =>
|
options.UseSqlServer(connStr)
|
||||||
{
|
.LogTo(log => logger.LogInformation("{log}", log), Microsoft.Extensions.Logging.LogLevel.Trace)
|
||||||
var logger = provider.GetRequiredService<ILogger<EGDbContext>>();
|
.EnableSensitiveDataLogging()
|
||||||
options.UseSqlServer(connStr)
|
.EnableDetailedErrors();
|
||||||
.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<CookiePolicyOptions>(options =>
|
builder.Services.Configure<CookiePolicyOptions>(options =>
|
||||||
{
|
{
|
||||||
@@ -169,9 +160,7 @@ try
|
|||||||
builder.Services.AddSingleton(sp => sp.GetRequiredService<IOptions<MultiCulture>>().Value);
|
builder.Services.AddSingleton(sp => sp.GetRequiredService<IOptions<MultiCulture>>().Value);
|
||||||
|
|
||||||
// Register mail services
|
// Register mail services
|
||||||
#pragma warning disable CS0618 // Type or member is obsolete
|
builder.Services.AddEnvelopeMailService();
|
||||||
builder.Services.AddScoped<IEnvelopeMailService, EnvelopeMailService>();
|
|
||||||
#pragma warning restore CS0618 // Type or member is obsolete
|
|
||||||
|
|
||||||
builder.Services.AddDispatcher<EGDbContext>();
|
builder.Services.AddDispatcher<EGDbContext>();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user