Skip to content

Commit 9e78643

Browse files
Merge pull request #830 from TransactionProcessing/task/#821_net9_upgrade
Upgrade to .NET 9.0 and refactor database schema
2 parents d400ae5 + 5872e69 commit 9e78643

File tree

141 files changed

+952
-31510
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

141 files changed

+952
-31510
lines changed

.github/workflows/buildwindowsimage.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ jobs:
1414

1515
steps:
1616
- uses: actions/[email protected]
17+
18+
- name: Install NET 9
19+
uses: actions/[email protected]
20+
with:
21+
dotnet-version: '9.0.x'
1722

1823
- name: Get the version
1924
id: get_version

.github/workflows/createrelease.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ jobs:
1414

1515
steps:
1616
- uses: actions/[email protected]
17+
18+
- name: Install NET 9
19+
uses: actions/[email protected]
20+
with:
21+
dotnet-version: '9.0.x'
1722

1823
- name: Get the version
1924
id: get_version

.github/workflows/nightlybuild.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ jobs:
1616
steps:
1717
- uses: actions/[email protected]
1818

19+
- name: Install NET 9
20+
uses: actions/[email protected]
21+
with:
22+
dotnet-version: '9.0.x'
23+
1924
- name: Set Up Variables
2025
run: echo "action_url=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" >> $GITHUB_ENV
2126

.github/workflows/pullrequest.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@ jobs:
1515

1616
steps:
1717
- uses: actions/[email protected]
18+
19+
- name: Install NET 9
20+
uses: actions/[email protected]
21+
with:
22+
dotnet-version: '9.0.x'
1823

1924
- name: Restore Nuget Packages
2025
run: dotnet restore TransactionProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}

.github/workflows/pushtomaster.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@ jobs:
1919
with:
2020
fetch-depth: 0
2121

22+
- name: Install NET 9
23+
uses: actions/[email protected]
24+
with:
25+
dotnet-version: '9.0.x'
26+
2227
- name: Restore Nuget Packages
2328
run: dotnet restore TransactionProcessor.sln --source ${{ secrets.PUBLICFEEDURL }} --source ${{ secrets.PRIVATEFEED_URL }}
2429

TransactionProcessor.Aggregates.Tests/TransactionProcessor.Aggregates.Tests.csproj

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<DebugType>None</DebugType>
@@ -14,17 +14,18 @@
1414
<PrivateAssets>all</PrivateAssets>
1515
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1616
</PackageReference>
17-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
18-
<PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.3" />
17+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
1918
<PackageReference Include="Shouldly" Version="4.3.0" />
20-
<PackageReference Include="System.ServiceModel.Federation" Version="8.0.0" />
21-
<PackageReference Include="System.ServiceModel.Http" Version="8.0.0" />
22-
<PackageReference Include="System.ServiceModel.NetTcp" Version="8.0.0" />
19+
<PackageReference Include="System.ServiceModel.Federation" Version="8.1.2" />
20+
<PackageReference Include="System.ServiceModel.Http" Version="8.1.2" />
21+
<PackageReference Include="System.ServiceModel.NetTcp" Version="8.1.2" />
2322
<PackageReference Include="xunit" Version="2.9.3" />
24-
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
23+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
2524
<PrivateAssets>all</PrivateAssets>
2625
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2726
</PackageReference>
27+
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="8.12.0" />
28+
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.12.0" />
2829
</ItemGroup>
2930

3031
<ItemGroup>

TransactionProcessor.Aggregates/TransactionProcessor.Aggregates.csproj

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
4+
<TargetFramework>net9.0</TargetFramework>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
11-
<PackageReference Include="Shared.EventStore" Version="2025.5.3" />
10+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.5" />
11+
<PackageReference Include="Shared.EventStore" Version="2025.6.2" />
12+
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="8.12.0" />
13+
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="8.12.0" />
1214
</ItemGroup>
1315

1416
<ItemGroup>

TransactionProcessor.BusinessLogic.Tests/DomainEventHandlers/VoucherDomainEventHandlerTests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,20 +35,20 @@ public enum TestDatabaseType
3535

3636
public class VoucherDomainEventHandlerTests
3737
{
38-
private Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementGenericContext>> GetMockDbContextFactory()
38+
private Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementContext>> GetMockDbContextFactory()
3939
{
40-
return new Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementGenericContext>>();
40+
return new Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementContext>>();
4141
}
4242

43-
private async Task<EstateManagementGenericContext> GetContext(String databaseName, TestDatabaseType databaseType = TestDatabaseType.InMemory)
43+
private async Task<EstateManagementContext> GetContext(String databaseName, TestDatabaseType databaseType = TestDatabaseType.InMemory)
4444
{
45-
EstateManagementGenericContext context = null;
45+
EstateManagementContext context = null;
4646
if (databaseType == TestDatabaseType.InMemory)
4747
{
48-
DbContextOptionsBuilder<EstateManagementGenericContext> builder = new DbContextOptionsBuilder<EstateManagementGenericContext>()
48+
DbContextOptionsBuilder<EstateManagementContext> builder = new DbContextOptionsBuilder<EstateManagementContext>()
4949
.UseInMemoryDatabase(databaseName)
5050
.ConfigureWarnings(w => w.Ignore(InMemoryEventId.TransactionIgnoredWarning));
51-
context = new EstateManagementSqlServerContext(builder.Options);
51+
context = new EstateManagementContext(builder.Options);
5252
}
5353
else
5454
{
@@ -72,7 +72,7 @@ public async Task VoucherDomainEventHandler_VoucherIssuedEvent_WithEmailAddress_
7272
aggregateService.Setup(t => t.Get<VoucherAggregate>(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))
7373
.ReturnsAsync(Result.Success(TestData.GetVoucherAggregateWithRecipientEmail()));
7474

75-
EstateManagementGenericContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
75+
EstateManagementContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
7676
context.Transactions.Add(new Database.Entities.Transaction()
7777
{
7878
TransactionId = TestData.TransactionId,
@@ -121,7 +121,7 @@ public async Task VoucherDomainEventHandler_VoucherIssuedEvent_WithRecipientMobi
121121
aggregateService.Setup(t => t.Get<VoucherAggregate>(It.IsAny<Guid>(), It.IsAny<CancellationToken>()))
122122
.ReturnsAsync(Result.Success(TestData.GetVoucherAggregateWithRecipientMobile()));
123123

124-
EstateManagementGenericContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
124+
EstateManagementContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
125125
context.Transactions.Add(new Database.Entities.Transaction()
126126
{
127127
TransactionId = TestData.TransactionId,
@@ -136,7 +136,7 @@ public async Task VoucherDomainEventHandler_VoucherIssuedEvent_WithRecipientMobi
136136
});
137137
await context.SaveChangesAsync(CancellationToken.None);
138138

139-
Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementGenericContext>> dbContextFactory = this.GetMockDbContextFactory();
139+
Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementContext>> dbContextFactory = this.GetMockDbContextFactory();
140140
dbContextFactory.Setup(d => d.GetContext(It.IsAny<Guid>(), It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(context);
141141

142142
Mock<IMessagingServiceClient> messagingServiceClient = new Mock<IMessagingServiceClient>();

TransactionProcessor.BusinessLogic.Tests/Manager/VoucherManagementManagerTests.cs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,20 @@ namespace TransactionProcessor.BusinessLogic.Tests.Manager
2626

2727
public class VoucherManagementManagerTests
2828
{
29-
private Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementGenericContext>> GetMockDbContextFactory()
29+
private Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementContext>> GetMockDbContextFactory()
3030
{
31-
return new Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementGenericContext>>();
31+
return new Mock<Shared.EntityFramework.IDbContextFactory<EstateManagementContext>>();
3232
}
3333

34-
private async Task<EstateManagementGenericContext> GetContext(String databaseName, TestDatabaseType databaseType = TestDatabaseType.InMemory)
34+
private async Task<EstateManagementContext> GetContext(String databaseName, TestDatabaseType databaseType = TestDatabaseType.InMemory)
3535
{
36-
EstateManagementGenericContext context = null;
36+
EstateManagementContext context = null;
3737
if (databaseType == TestDatabaseType.InMemory)
3838
{
39-
DbContextOptionsBuilder<EstateManagementGenericContext> builder = new DbContextOptionsBuilder<EstateManagementGenericContext>()
39+
DbContextOptionsBuilder<EstateManagementContext> builder = new DbContextOptionsBuilder<EstateManagementContext>()
4040
.UseInMemoryDatabase(databaseName)
4141
.ConfigureWarnings(w => w.Ignore(InMemoryEventId.TransactionIgnoredWarning));
42-
context = new EstateManagementSqlServerContext(builder.Options);
42+
context = new EstateManagementContext(builder.Options);
4343
}
4444
else
4545
{
@@ -63,7 +63,7 @@ await context.VoucherProjectionStates.AddAsync(new VoucherProjectionState
6363
});
6464
await context.SaveChangesAsync(CancellationToken.None);
6565

66-
Mock<IDbContextFactory<EstateManagementGenericContext>> dbContextFactory = this.GetMockDbContextFactory();
66+
Mock<IDbContextFactory<EstateManagementContext>> dbContextFactory = this.GetMockDbContextFactory();
6767
dbContextFactory.Setup(d => d.GetContext(It.IsAny<Guid>(), It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(context);
6868

6969
Mock<IAggregateService> aggregateService = new();
@@ -80,11 +80,11 @@ await context.VoucherProjectionStates.AddAsync(new VoucherProjectionState
8080
[Fact]
8181
public async Task VoucherManagementManager_GetVoucherByCode_VoucherNotFound_ErrorThrown()
8282
{
83-
EstateManagementGenericContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
83+
EstateManagementContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
8484

8585
await context.SaveChangesAsync(CancellationToken.None);
8686

87-
Mock<IDbContextFactory<EstateManagementGenericContext>> dbContextFactory = this.GetMockDbContextFactory();
87+
Mock<IDbContextFactory<EstateManagementContext>> dbContextFactory = this.GetMockDbContextFactory();
8888
dbContextFactory.Setup(d => d.GetContext(It.IsAny<Guid>(), It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(context);
8989

9090
Mock<IAggregateService> aggregateService = new();
@@ -103,7 +103,7 @@ public async Task VoucherManagementManager_GetVoucherByTransactionId_VoucherRetr
103103
{
104104
Byte[] b = new Byte[5];
105105

106-
EstateManagementGenericContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
106+
EstateManagementContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
107107
await context.VoucherProjectionStates.AddAsync(new VoucherProjectionState
108108
{
109109
TransactionId = TestData.TransactionId,
@@ -114,7 +114,7 @@ await context.VoucherProjectionStates.AddAsync(new VoucherProjectionState
114114
});
115115
await context.SaveChangesAsync(CancellationToken.None);
116116

117-
Mock<IDbContextFactory<EstateManagementGenericContext>> dbContextFactory = this.GetMockDbContextFactory();
117+
Mock<IDbContextFactory<EstateManagementContext>> dbContextFactory = this.GetMockDbContextFactory();
118118
dbContextFactory.Setup(d => d.GetContext(It.IsAny<Guid>(), It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(context);
119119

120120
Mock<IAggregateService> aggregateService = new();
@@ -131,11 +131,11 @@ await context.VoucherProjectionStates.AddAsync(new VoucherProjectionState
131131
[Fact]
132132
public async Task VoucherManagementManager_GetVoucherByTransactionId_VoucherNotFound_ErrorThrown()
133133
{
134-
EstateManagementGenericContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
134+
EstateManagementContext context = await this.GetContext(Guid.NewGuid().ToString("N"), TestDatabaseType.InMemory);
135135

136136
await context.SaveChangesAsync(CancellationToken.None);
137137

138-
Mock<IDbContextFactory<EstateManagementGenericContext>> dbContextFactory = this.GetMockDbContextFactory();
138+
Mock<IDbContextFactory<EstateManagementContext>> dbContextFactory = this.GetMockDbContextFactory();
139139
dbContextFactory.Setup(d => d.GetContext(It.IsAny<Guid>(), It.IsAny<String>(), It.IsAny<CancellationToken>())).ReturnsAsync(context);
140140

141141
Mock<IAggregateService> aggregateService = new();

0 commit comments

Comments
 (0)