Skip to content

Commit b4c5d1a

Browse files
committed
Moved Providers implementation files to the Providers folder of the Infra assembly.
While this introduces a hard dependency between client side UI projects and Infra, inc un-needed anciliairy nuget dependencies, it can be split into multiple infra assemblies in future, mitigating this impact.
1 parent 91189ad commit b4c5d1a

File tree

6 files changed

+23
-25
lines changed

6 files changed

+23
-25
lines changed

src/AdminAssistant.Blazor/Client/AdminAssistant.Blazor.Client.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
</ItemGroup>
4343

4444
<ItemGroup>
45+
<ProjectReference Include="..\..\AdminAssistant.Infra\AdminAssistant.Infra.csproj" />
4546
<ProjectReference Include="..\..\AdminAssistant.UI\AdminAssistant.UI.csproj" />
4647
</ItemGroup>
4748

src/AdminAssistant.Desktop/WPF/AdminAssistant.WPF/AdminAssistant.WPF.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
</ItemGroup>
4242

4343
<ItemGroup>
44+
<ProjectReference Include="..\..\..\AdminAssistant.Infra\AdminAssistant.Infra.csproj" />
4445
<ProjectReference Include="..\..\..\AdminAssistant.UI\AdminAssistant.UI.csproj" />
4546
</ItemGroup>
4647

src/AdminAssistant.Infra/DependencyInjectionExtensions.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Diagnostics.CodeAnalysis;
44
using AdminAssistant.Infra.DAL.EntityFramework;
55
using AdminAssistant.Infra.DAL.Modules.AccountsModule;
6+
using AdminAssistant.Infra.Providers;
67
using AdminAssistant.DomainModel.Shared;
78
using Microsoft.EntityFrameworkCore;
89
using MediatR;
@@ -56,6 +57,23 @@ public static void AddAdminAssistantServerSideInfra(this IServiceCollection serv
5657
AddCoreDAL(services);
5758
}
5859

60+
public static void AddAdminAssistantClientSideProviders(this IServiceCollection services)
61+
{
62+
// TODO: For now take a hard dependency between client side UI projects and Infra, inc un-needed anciliairy dependencies.
63+
// This can be resolved in furuture by splitting infra into multiple assemblies, but this is not worth doing
64+
// until it gets bigger sure to implementation of other integrations.
65+
services.AddTransient<ILoggingProvider, ClientSideLoggingProvider>();
66+
67+
AddSharedProviders(services);
68+
}
69+
70+
public static void AddAdminAssistantServerSideProviders(this IServiceCollection services)
71+
{
72+
services.AddTransient<ILoggingProvider, ServerSideLoggingProvider>();
73+
74+
AddSharedProviders(services);
75+
}
76+
5977
private static void AddAccountsDAL(this IServiceCollection services)
6078
{
6179
services.AddTransient<IBankAccountInfoRepository, BankAccountInfoRepository>();
@@ -70,6 +88,9 @@ private static void AddCoreDAL(this IServiceCollection services)
7088
{
7189
services.AddTransient<ICurrencyRepository, CurrencyRepository>();
7290
}
91+
92+
private static void AddSharedProviders(this IServiceCollection services)
93+
=> services.AddTransient<IDateTimeProvider, DateTimeProvider>();
7394
}
7495
}
7596

src/AdminAssistant/DependencyInjectionExtensions.cs

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)