Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue / Domain Layer / .NET 8 Update #91

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
1c8144f
initial commit
alptuncs Nov 24, 2023
abe94ed
add some test cases & helpers
alptuncs Nov 24, 2023
02fa833
include test project in code coverage report
alptuncs Nov 24, 2023
7f883ab
remove service application from coverage report
alptuncs Nov 24, 2023
5833abc
fix wildcard
alptuncs Nov 24, 2023
516be16
fix exclude
alptuncs Nov 24, 2023
168f8f9
add entity delete case
alptuncs Nov 24, 2023
0b49fdd
use existing helpers for persist and delete assertions
alptuncs Nov 24, 2023
5b10303
Test singleton and transient lifecycle
alptuncs Nov 24, 2023
16df595
add special characters in object property corrupts data, case
alptuncs Nov 24, 2023
5d2347f
add singleton entity tests, !Tests Failing!
alptuncs Nov 24, 2023
20b4217
remove rollback case, move tests to relevant fixtures
alptuncs Nov 28, 2023
88d49a2
Commit Async should take nullable parameter
alptuncs Nov 28, 2023
83cc8ea
Make ASetting generic
alptuncs Nov 28, 2023
48d207e
review changes
SeferMirza Nov 29, 2023
85a0424
review
alptuncs Nov 29, 2023
085bfa4
review
alptuncs Nov 29, 2023
7263419
review
alptuncs Nov 29, 2023
c1fabce
review
SeferMirza Nov 29, 2023
e99255c
review
SeferMirza Nov 29, 2023
bdf4eeb
review changes
SeferMirza Nov 29, 2023
443b192
review, property mapping tests
alptuncs Nov 29, 2023
eefd538
review
alptuncs Nov 29, 2023
3ce612f
review, improve test coverage
alptuncs Nov 29, 2023
215301d
review, minor changes
alptuncs Nov 29, 2023
f38d6c9
Merge pull request #81 from alptuncs/issue/add-service-blueprint-tests
alptuncs Nov 29, 2023
8707423
add changes release notes for v0.4.3
alptuncs Nov 29, 2023
948ba09
remove changes from unreleased
alptuncs Nov 29, 2023
d89b65a
update version to 0.4.3
alptuncs Nov 29, 2023
a2781cb
Merge pull request #82 from mouseless/release/v0.4.3
cihandeniz Nov 29, 2023
0c6ddb2
remove space
SeferMirza Dec 4, 2023
3e8d9c4
Bump vite from 4.5.0 to 4.5.1 in /docs/.theme
dependabot[bot] Dec 5, 2023
c3b8f61
Merge pull request #84 from mouseless/dependabot/npm_and_yarn/docs/do…
cihandeniz Dec 6, 2023
a2dd495
update unreleased.md
dncsvr Dec 11, 2023
ba0cd27
Merge branch 'main' into feature/request-cache
dncsvr Dec 11, 2023
1385eb6
add business extensions with service and implementation type
dncsvr Dec 11, 2023
4def6e6
add scoped caching feature implementation and tests
dncsvr Dec 11, 2023
0b9d4d1
edit `ByRequest`
dncsvr Dec 11, 2023
6ca590b
fix feature implementation name
dncsvr Dec 11, 2023
c452f15
add caching feature documentation
dncsvr Dec 11, 2023
5c9e4a9
add custom dialect for increasing `varchar` capacity
dncsvr Dec 11, 2023
443b68b
add `AnInteger` helper to stubber
dncsvr Dec 11, 2023
5b1ec7e
review changes
dncsvr Dec 11, 2023
f23279b
minor edit
dncsvr Dec 11, 2023
aa8dbeb
review changes
dncsvr Dec 11, 2023
ab87a1c
minor edits
dncsvr Dec 11, 2023
c811bbc
remove extra spaces
dncsvr Dec 11, 2023
94a6c56
minor edit
dncsvr Dec 11, 2023
7f8ce8e
minor edit
dncsvr Dec 11, 2023
db869f6
add improvements information to unreleased.md
dncsvr Dec 11, 2023
d177ee9
Merge pull request #86 from dncsvr/feature/request-cache
dncsvr Dec 11, 2023
b07dc2e
add v0.5.0 release notes
dncsvr Dec 11, 2023
fe5b39d
update version to 0.5.0
dncsvr Dec 11, 2023
97c2e9f
Merge pull request #87 from mouseless/release/v0.5.0
cihandeniz Dec 14, 2023
8c49a76
update framework and language
SeferMirza Dec 21, 2023
a29a1df
update dotnet version on workflow
SeferMirza Dec 21, 2023
dbba1ba
update libraries version
SeferMirza Dec 21, 2023
0ef1e0d
update dotnet v
SeferMirza Dec 21, 2023
7b80fbb
switch to primary constructor
SeferMirza Dec 21, 2023
29070e0
review
SeferMirza Dec 21, 2023
e25e50b
use collection expressions
alptuncs Dec 21, 2023
c719b90
switch to timeprovider ❗ Build Fail❗
SeferMirza Dec 21, 2023
fdad0e6
fix cannot back in time issue
SeferMirza Dec 22, 2023
2265a69
fix namespace
SeferMirza Dec 22, 2023
a0d3fe2
refactor
SeferMirza Dec 22, 2023
c659ef0
switch to fromservices and fix entites endpoint
SeferMirza Dec 22, 2023
b7a15de
use IExeptionHandler
SeferMirza Dec 22, 2023
0b0ba19
remove test & update implement exception handling
SeferMirza Dec 25, 2023
8e8f750
remove extra extension
SeferMirza Dec 25, 2023
42cbae2
review
SeferMirza Dec 25, 2023
b4c0e10
update sample project
SeferMirza Dec 25, 2023
6a687bf
update document
SeferMirza Dec 25, 2023
66a7d7b
review document
SeferMirza Dec 25, 2023
1887694
update package
SeferMirza Dec 25, 2023
2af6307
update internal server error message
SeferMirza Dec 26, 2023
e668958
update release notes
SeferMirza Dec 26, 2023
76c50a8
review
SeferMirza Dec 26, 2023
429a8ef
review
SeferMirza Dec 26, 2023
0fb6313
add extra details to handled exception
alptuncs Dec 26, 2023
3d3c301
use primary constructor
alptuncs Dec 26, 2023
bf64812
review & rename
SeferMirza Dec 26, 2023
8cc4b75
Merge branch 'main' into issue/net-8-update
SeferMirza Dec 26, 2023
fd80f8f
fix document
SeferMirza Dec 26, 2023
b8b8b5a
review
SeferMirza Dec 26, 2023
c3bca2c
review
SeferMirza Dec 26, 2023
69644d9
rename controller method parameters
alptuncs Dec 26, 2023
1eccbf7
use primary constructor in handled exceptions
alptuncs Dec 26, 2023
903a7cd
add handled exception improvements to unreleased
alptuncs Dec 26, 2023
9b3d31b
minor edit
alptuncs Dec 26, 2023
9697125
minor changes
alptuncs Dec 26, 2023
56bf6ef
minor changes
alptuncs Dec 26, 2023
c88e6bf
add status code pages to exception handling feature
alptuncs Dec 26, 2023
7f1bfea
add status code pages to improvements
alptuncs Dec 26, 2023
bb2af52
remove todo
SeferMirza Dec 28, 2023
aed1852
print error log
SeferMirza Dec 28, 2023
1da1b5f
update request logging
SeferMirza Dec 28, 2023
675996b
logging exception handler error
SeferMirza Dec 28, 2023
71dc6b9
apply minor edits
SeferMirza Dec 28, 2023
c678915
apply minor edits
SeferMirza Dec 28, 2023
041c00f
remove unnecessary file
SeferMirza Dec 28, 2023
f4b38ac
minor changes
SeferMirza Dec 28, 2023
f43b412
catch genericado exception
SeferMirza Dec 28, 2023
a36b592
remove unused using
SeferMirza Dec 28, 2023
668e46f
add orm logging middleware, logger
alptuncs Dec 28, 2023
b8f1548
log inner exception
alptuncs Dec 28, 2023
f93a773
give type to logger
SeferMirza Dec 28, 2023
f206465
move exception extension in own file
SeferMirza Dec 29, 2023
5954550
fix wrong method call
SeferMirza Dec 29, 2023
b569e8a
use regex source generator
SeferMirza Dec 29, 2023
f5ef5d9
pass config from parameter
SeferMirza Dec 29, 2023
d03d03c
fix build
SeferMirza Dec 29, 2023
cd17223
remove test code
SeferMirza Dec 29, 2023
814f647
refactor
SeferMirza Dec 29, 2023
d0755b0
rename class
SeferMirza Dec 29, 2023
f12337a
add new test
SeferMirza Dec 29, 2023
90623cc
give offset to the time
SeferMirza Dec 29, 2023
8f7846f
minor changes
SeferMirza Dec 29, 2023
725eec7
Merge pull request #83 from SeferMirza/issue/net-8-update
SeferMirza Dec 29, 2023
475107d
move notes to under release notes
SeferMirza Jan 2, 2024
0e53580
update do version
SeferMirza Jan 2, 2024
9add28b
review
SeferMirza Jan 2, 2024
d8d7c0b
update initial date
SeferMirza Jan 2, 2024
4466251
update release note
SeferMirza Jan 2, 2024
0f86ac4
update release note
SeferMirza Jan 2, 2024
8ad328e
Merge pull request #90 from mouseless/release/v0.6.0
SeferMirza Jan 2, 2024
b5be67c
merge from main
dncsvr Jan 8, 2024
6f92fc6
fix build fail
dncsvr Jan 8, 2024
5c4100d
update samples target framework
dncsvr Jan 8, 2024
9f5955c
use p. constructor in phasebase
SeferMirza Jan 8, 2024
e55f14f
use primary contructor in samples
dncsvr Jan 8, 2024
e3f257b
remove extra space
SeferMirza Jan 8, 2024
73d554e
use primary constructor
dncsvr Jan 8, 2024
bcfe50c
use collection expressions
dncsvr Jan 8, 2024
3fbc47f
use primary constructors
dncsvr Jan 8, 2024
59a5502
edit `IServiceCollection` extensions to use service and implementatio…
dncsvr Jan 8, 2024
4d7bcaf
edit EventScheduler controllers
dncsvr Jan 8, 2024
cfdd88c
fix service.md conflict
dncsvr Jan 8, 2024
87c5780
minor format edit
dncsvr Jan 8, 2024
0e7f1a9
minor changes
SeferMirza Jan 9, 2024
7ac6a41
use primary c. in handledexception
SeferMirza Jan 9, 2024
999f6ce
use primary c. & apply minor change
SeferMirza Jan 9, 2024
64427b7
Merge pull request #92 from SeferMirza/issue/primary-constructors-in-…
SeferMirza Jan 9, 2024
403c02b
Merge branch 'main' into issue/domain-layer/net-8-update
dncsvr Jan 9, 2024
20fe52c
remove extra line
dncsvr Jan 9, 2024
9c2acf7
minor edits
dncsvr Jan 9, 2024
89ccfd7
review changes
dncsvr Jan 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/project-regular-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7
dotnet-version: 8
- name: Build Solution
run: dotnet build -c Release
test:
Expand All @@ -58,7 +58,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7
dotnet-version: 8
- name: Test
if: ${{ matrix.os != 'ubuntu-latest' }}
run: dotnet test -c Release
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7
dotnet-version: 8
- name: Pack
run: |
dotnet pack -o "packages" -c Release
Expand All @@ -76,6 +76,7 @@ jobs:
with:
name: packages
path: packages/

push-packages:
name: Push Packages
needs: pack-projects
Expand Down Expand Up @@ -118,6 +119,7 @@ jobs:
name: docs
path: docs/.theme/.output/public
if-no-files-found: error

publish-docs:
needs: generate-docs
name: Publish Docs
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/samples-regular-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: 7
dotnet-version: 8
- name: samples/event-scheduler
working-directory: samples/event-scheduler
run: |
Expand Down
4 changes: 2 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<Project>

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<LangVersion>11.0</LangVersion>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>12.0</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
Expand Down
20 changes: 11 additions & 9 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,22 @@
<PackageVersion Include="BenchmarkDotNet" Version="0.13.11" />
<PackageVersion Include="coverlet.collector" Version="6.0.0" />
<PackageVersion Include="FluentNHibernate" Version="3.3.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="7.0.13" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="7.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.4" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.1" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.7.2" />
<PackageVersion Include="Moq" Version="4.20.69" />
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.0" />
<PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="8.0.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageVersion Include="Moq" Version="4.20.70" />
<PackageVersion Include="MySql.Data" Version="8.2.0" />
<PackageVersion Include="NHibernate" Version="5.4.6" />
<PackageVersion Include="NUnit" Version="3.14.0" />
<PackageVersion Include="NHibernate" Version="5.5.0" />
<PackageVersion Include="NUnit" Version="4.0.1" />
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageVersion Include="Shouldly" Version="4.2.1" />
<PackageVersion Include="StyleCop.Analyzers.Unstable" Version="1.2.0.507" />
<PackageVersion Include="StyleCop.Analyzers.Unstable" Version="1.2.0.556" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageVersion Include="System.Data.SQLite" Version="1.0.118" />
</ItemGroup>
Expand Down
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,6 @@ run:
fi
test:
dotnet test

# dotnet test -c Release --collect:"XPlat Code Coverage" --logger trx --results-directory .coverage --settings test/runsettings.xml
# reportgenerator -reports:.coverage\0d84daea-0041-4f8d-a93c-51d3d348fa69\coverage.cobertura.xml;.coverage\d606db4f-8ea5-4e9f-a304-f37b22a1f34b\coverage.cobertura.xml -targetdir:.coverage/report
22 changes: 18 additions & 4 deletions docs/.theme/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions docs/architecture/feature.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,9 @@ below;

`WelcomePageGreetingFeature.cs`
```csharp
public class WelcomePageGreetingFeature : IFeature<GreetingConfigurator>
public class WelcomePageGreetingFeature(string _path)
: IFeature<GreetingConfigurator>
{
readonly string _path;

public WelcomePageGreetingFeature(string path) => _path = path;

public void Configure(LayerConfigurator configurator)
{
configurator.ConfigureApplicationBuilder(app =>
Expand Down
7 changes: 3 additions & 4 deletions docs/architecture/layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,9 @@ is `PhaseOrder.Normal`. If you need to change the order, pass the desired order
to this parameter as shown below;

```csharp
public class DoThisEarlyOn : PhaseBase
{
public DoThisEarlyOn() : base(PhaseOrder.Early) { }
}
public class DoThisEarlyOn()
: PhaseBase(PhaseOrder.Early)
{ }
```

## Providing Configuration
Expand Down
23 changes: 12 additions & 11 deletions docs/blueprints/service.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,18 @@ Layers in this blueprint are;

Features with default options are;

| Features | Run | Test | Required |
| ------------------ | ----------- | --------------- | -------- |
| Business | Default | Default | Yes |
| Core | Dotnet | Mock | |
| Database | Sqlite | InMemory | Yes |
| Documentation | Default | | |
| Exception Handling | Default | | |
| Greeting | Hello World | | |
| Logging | Request | | |
| Mocking Overrider | | First Interface | |
| Orm | Default | Default | |
| Features | Run | Test | Required |
| ------------------ | ------------- | --------------- | -------- |
| Business | Default | Default | Yes |
| Caching | Scoped Memory | Scoped Memory | |
| Core | Dotnet | Mock | |
| Database | Sqlite | InMemory | Yes |
| Documentation | Default | | |
| Exception Handling | Default | | |
| Greeting | Hello World | | |
| Logging | Request | | |
| Mocking Overrider | | First Interface | |
| Orm | Default | Default | |

Phase execution order;

Expand Down
18 changes: 18 additions & 0 deletions docs/features/caching.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Caching

Implementations of this feature provides predefined caching behaviour.

Add this feature using `AddCaching()` extension;

```csharp
app.Features.AddCaching(...);
```

## Scoped Memory

This feature implementation registers `Func<IMemoryCache>` factory with scoped
`MemoryCache` implementation to provide request in-memory caching.

```csharp
c => c.ScopedMemory()
```
6 changes: 3 additions & 3 deletions docs/features/core.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Core

This feature registers `ISystem` to services.
This feature registers `TimeProvider.System` to services.

Add this feature using `AddCore()` extension;

Expand All @@ -10,8 +10,8 @@ app.Features.AddCore(...);

## Dotnet

Adds a local implementation of `ISystem` interface to services to be used
throughout your application.
Adds a local implementation of `TimeProvider` to services to be used throughout
your application.

```csharp
c => c.Dotnet()
Expand Down
2 changes: 1 addition & 1 deletion docs/features/exception-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ app.Features.AddExceptionHandling(...);
Adds default exception handler.

```csharp
c => c.Default()
c => c.Default(typeUrlFormat: "https://my-service.com/errors/{0}")
```
11 changes: 9 additions & 2 deletions docs/release-notes/v0-4.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
# v0.4

## v0.4.3

### Improvements

- `CommitAsync` now accepts nullable parameters
- Added generic overload for `MockMe.ASetting()`

## v0.4.2

### Improvements

- Improved exception message when there is no valid json in the database.
- Added `GetRequiredValue<T>` extension to `IConfiguration` with default value
option
- Mock `IConfiguration` return values for not defined settings can now be
- Mock `IConfiguration` return values for not defined settings can now be
configured by overriding `ServiceSpec.GetDefaultSettingsValue()`

### Bugfixes
Expand Down Expand Up @@ -93,4 +100,4 @@ Visit [Regular expressions][] for more details.
| NUnit | 3.13.3 | 3.14.0 |

[Central Package Management]: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-7#central-package-management
[Regular expressions]: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-7#regular-expressions
[Regular expressions]: https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-7#regular-expressions
20 changes: 20 additions & 0 deletions docs/release-notes/v0-5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# v0.5

## v0.5.0

### Features

- Beta features are available in do-blueprints-service package;
- `Caching` feature is now added with `ScopedMemory` implementation

### Improvements

- Added `CustomMySQL57Dialect` for enabling `varchar` column type with _1023_
max capacity
- Added `TransientWithFactory<TService, TImplementation>` and
`ScopedWithFactory<TService, TImplementation>` extensions for registering
services with implementations
- Added new ServiceSpec extensions:
- `AnInteger` extension for `Stubber`
- `AMemoryCache` extension for `Stubber`
- `ShouldHaveCount` extension for `IMemoryCache`
87 changes: 87 additions & 0 deletions docs/release-notes/v0-6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# v0.6

## v0.6.0

### .NET Upgrade

DO now supports .NET 8! Below you can find a task list to upgrade your projects.

```markdown
- [ ] Upgrade .NET and C# versions
- [ ] in projects
- [ ] in docker files
- [ ] in GitHub workflows
- [ ] Upgrade DO version
- [ ] Syntax improvements
- [ ] Use primary constructors
- [ ] Use collection expressions
- [ ] Use `[FromKeyedServices]` and `[FromServices]` in controllers
```

#### Upgrade .NET and C# versions

- Upgrade the project's `C#` language to `12`.
- Framework version upgrade to `net8.0` in the projects.
- Framework and sdk version upgrade to `8` in `Dockerfile`.
- Upgrade dotnet version `8` in Github actions.

#### Syntax improvements

##### Primary constructors

Use primary constructor, when there is a dependency that needs to be injected at
the constructor without any logic or when the base class constructor is called.
Parameter names start with underscore.

```csharp
public class Entity(IEntityContext<Entity> _context)
{
...
}
```

##### Collection expressions

Use new and simplified collection expressions, where possible.

Visit [Collection expression][] for more details.

#### `[FromServices]` in controllers

Instead of using constructor injection, use `[FromServices]` attribute to inject
dependencies in controllers.

```csharp
public Entity Get([FromServices] IQueryContext<Entity> entityQuery) { }
```

### Improvements

- `ExceptionHandling` now uses
`Microsoft.AspNetCore.Diagnostics.IExceptionHandling`
- `ExceptionHandling` feature now adds `StatusCodePages` middleware.
- Exceptions now return `ProblemDetails` as response
- `ISystem` is replaced with `TimeProvider.System`
- `Mocker`, `TheSystem` extension is renamed to `TheTime`
- Use `FakeTimeProvider` for tests by mocking `TheTime`
- Internal Server Error response included extra details in message, removed
- Extra details can be reached from the logs
- `HandledException` is now abstract
- Added optional `ExtraDetails` collection property to `HandledException`

### Library Upgrades

| Package | Old Version | New Version |
| ----------------------------------------------- | ----------- | ----------- |
| Microsoft.AspNetCore.Mvc.NewtonsoftJson | 7.0.13 | 8.0.0 |
| Microsoft.Extensions.Configuration.Abstractions | 7.0.0 | 8.0.0 |
| Microsoft.Extensions.Configuration.Binder | 7.0.0 | 8.0.0 |
| Microsoft.Extensions.Logging.Abstractions | 7.0.0 | 8.0.0 |
| Microsoft.NET.Test.Sdk | 7.0.0 | 8.0.0 |
| Microsoft.Extensions.TimeProvider.Testing | new | 8.0.0 |
| Moq | 4.20.69 | 4.20.70 |
| NHibernate | 5.4.6 | 5.5.0 |
| NUnit | 3.14.0 | 4.0.1 |
| StyleCop.Analyzers.Unstable | 1.2.0.507 | 1.2.0.556 |

[Collection expression]: https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/collection-expressions
4 changes: 2 additions & 2 deletions samples/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<Project>

<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<LangVersion>11.0</LangVersion>
<TargetFramework>net8.0</TargetFramework>
<LangVersion>12.0</LangVersion>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
Expand Down
Loading