Skip to content

Commit b43731d

Browse files
committed
refactored SKU Management to mimic 'Clean Architecture' practices
1 parent 0329a83 commit b43731d

File tree

11 files changed

+63
-16
lines changed

11 files changed

+63
-16
lines changed

CritterCommerce.sln

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fulfillment.UnitTests", "te
4646
EndProject
4747
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Catalog.UnitTests", "tests\Catalog\Catalog.UnitTests\Catalog.UnitTests.csproj", "{FD56AE0F-CE04-4D9C-95FE-1E917260CF53}"
4848
EndProject
49+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Legacy.SkuManagement.Application", "src\Legacy\Legacy.SkuManagement.Application\Legacy.SkuManagement.Application.csproj", "{3D66EF41-47B2-441D-AFB7-62845E74AE7D}"
50+
EndProject
51+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Legacy.SkuManagement.Domain", "src\Legacy\Legacy.SkuManagement.Domain\Legacy.SkuManagement.Domain.csproj", "{141CAE76-0382-40C8-BE34-DAE23E318D49}"
52+
EndProject
4953
Global
5054
GlobalSection(SolutionConfigurationPlatforms) = preSolution
5155
Debug|Any CPU = Debug|Any CPU
@@ -63,6 +67,8 @@ Global
6367
{6454B91A-9695-4C2F-BB89-A1D0187C3C92} = {43E78C6C-71B6-4A46-98CA-1C0FF7434DF0}
6468
{2B68B485-EA15-4A3B-B38F-1C3DFC5ED1B9} = {43E78C6C-71B6-4A46-98CA-1C0FF7434DF0}
6569
{FD56AE0F-CE04-4D9C-95FE-1E917260CF53} = {B44C0F1C-1571-4969-8E71-1FD59E2BEF01}
70+
{3D66EF41-47B2-441D-AFB7-62845E74AE7D} = {E54CD82E-0B91-444B-9910-9833EB3E6416}
71+
{141CAE76-0382-40C8-BE34-DAE23E318D49} = {E54CD82E-0B91-444B-9910-9833EB3E6416}
6672
EndGlobalSection
6773
GlobalSection(ProjectConfigurationPlatforms) = postSolution
6874
{F808B2D2-6C97-41E1-8FCD-45DDBEED3439}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
@@ -109,5 +115,13 @@ Global
109115
{FD56AE0F-CE04-4D9C-95FE-1E917260CF53}.Debug|Any CPU.Build.0 = Debug|Any CPU
110116
{FD56AE0F-CE04-4D9C-95FE-1E917260CF53}.Release|Any CPU.ActiveCfg = Release|Any CPU
111117
{FD56AE0F-CE04-4D9C-95FE-1E917260CF53}.Release|Any CPU.Build.0 = Release|Any CPU
118+
{3D66EF41-47B2-441D-AFB7-62845E74AE7D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
119+
{3D66EF41-47B2-441D-AFB7-62845E74AE7D}.Debug|Any CPU.Build.0 = Debug|Any CPU
120+
{3D66EF41-47B2-441D-AFB7-62845E74AE7D}.Release|Any CPU.ActiveCfg = Release|Any CPU
121+
{3D66EF41-47B2-441D-AFB7-62845E74AE7D}.Release|Any CPU.Build.0 = Release|Any CPU
122+
{141CAE76-0382-40C8-BE34-DAE23E318D49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
123+
{141CAE76-0382-40C8-BE34-DAE23E318D49}.Debug|Any CPU.Build.0 = Debug|Any CPU
124+
{141CAE76-0382-40C8-BE34-DAE23E318D49}.Release|Any CPU.ActiveCfg = Release|Any CPU
125+
{141CAE76-0382-40C8-BE34-DAE23E318D49}.Release|Any CPU.Build.0 = Release|Any CPU
112126
EndGlobalSection
113127
EndGlobal

src/Legacy/Legacy.SkuManagement.Api/Legacy.SkuManagement.Api.csproj

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,11 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="EFCore.NamingConventions" Version="9.0.0" />
9-
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.7">
10-
<PrivateAssets>all</PrivateAssets>
11-
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12-
</PackageReference>
13-
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
148
<PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.4" />
159
</ItemGroup>
1610

11+
<ItemGroup>
12+
<ProjectReference Include="..\Legacy.SkuManagement.Application\Legacy.SkuManagement.Application.csproj" />
13+
</ItemGroup>
14+
1715
</Project>

src/Legacy/Legacy.SkuManagement.Api/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using Legacy.SkuManagement.Api;
1+
using Legacy.SkuManagement;
22
using Microsoft.EntityFrameworkCore;
33

44
var builder = WebApplication.CreateBuilder(args);

src/Legacy/Legacy.SkuManagement.Api/ConfigureSkuDbMigration.cs renamed to src/Legacy/Legacy.SkuManagement.Application/ConfigureSkuDbMigration.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1+
using Microsoft.AspNetCore.Builder;
12
using Microsoft.EntityFrameworkCore;
3+
using Microsoft.Extensions.DependencyInjection;
24

3-
namespace Legacy.SkuManagement.Api;
5+
namespace Legacy.SkuManagement;
46

5-
internal static class ConfigureSkuDbMigration
7+
public static class ConfigureSkuDbMigration
68
{
79
public static void ApplyEfDbMigration(this IApplicationBuilder app)
810
{
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net9.0</TargetFramework>
5+
<RootNamespace>Legacy.SkuManagement</RootNamespace>
6+
</PropertyGroup>
7+
8+
<ItemGroup>
9+
<PackageReference Include="EFCore.NamingConventions" Version="9.0.0" />
10+
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.3.0" />
11+
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.7">
12+
<PrivateAssets>all</PrivateAssets>
13+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
14+
</PackageReference>
15+
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
16+
</ItemGroup>
17+
18+
<ItemGroup>
19+
<ProjectReference Include="..\Legacy.SkuManagement.Domain\Legacy.SkuManagement.Domain.csproj" />
20+
</ItemGroup>
21+
22+
</Project>

src/Legacy/Legacy.SkuManagement.Api/SkuDbContext.cs renamed to src/Legacy/Legacy.SkuManagement.Application/SkuDbContext.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
using Legacy.SkuManagement.Api.SkuReservations;
2-
using Legacy.SkuManagement.Items;
1+
using Legacy.SkuManagement.Domain.Items;
2+
using Legacy.SkuManagement.Domain.SkuReservations;
3+
using Legacy.SkuManagement.SkuReservations;
34
using Microsoft.EntityFrameworkCore;
45

5-
namespace Legacy.SkuManagement.Api;
6+
namespace Legacy.SkuManagement;
67

78
public class SkuDbContext : DbContext
89
{

src/Legacy/Legacy.SkuManagement.Api/SkuReservations/ReserveSku.cs renamed to src/Legacy/Legacy.SkuManagement.Application/SkuReservations/ReserveSku.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
using Legacy.SkuManagement.Domain.SkuReservations;
12
using Microsoft.EntityFrameworkCore;
23

3-
namespace Legacy.SkuManagement.Api.SkuReservations;
4+
namespace Legacy.SkuManagement.SkuReservations;
45

56
public sealed record ReserveSku(int Unit, string Username);
67

src/Legacy/Legacy.SkuManagement.Api/SkuReservations/UnreserveSku.cs renamed to src/Legacy/Legacy.SkuManagement.Application/SkuReservations/UnreserveSku.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
using Microsoft.EntityFrameworkCore;
22

3-
namespace Legacy.SkuManagement.Api.SkuReservations;
3+
namespace Legacy.SkuManagement.SkuReservations;
44

55
public sealed record UnreserveSku(int Unit, string Username);
66

src/Legacy/Legacy.SkuManagement.Api/Items/SkuItemAssignment.cs renamed to src/Legacy/Legacy.SkuManagement.Domain/Items/SkuItemAssignment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
namespace Legacy.SkuManagement.Items;
1+
namespace Legacy.SkuManagement.Domain.Items;
22

33
public class SkuItemAssignment
44
{
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net9.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
</PropertyGroup>
8+
9+
</Project>

0 commit comments

Comments
 (0)