From 5fcc73dc875919da6a1ebd5c7035d56881ff7f70 Mon Sep 17 00:00:00 2001 From: tonven Date: Thu, 29 Jun 2023 11:33:51 +0200 Subject: [PATCH] replaced DateTimeService with System.TimeProvider --- src/Application/Common/Interfaces/IDateTime.cs | 6 ------ src/Infrastructure/ConfigureServices.cs | 4 +--- .../AuditableEntitySaveChangesInterceptor.cs | 10 +++++----- src/Infrastructure/Services/DateTimeService.cs | 8 -------- 4 files changed, 6 insertions(+), 22 deletions(-) delete mode 100644 src/Application/Common/Interfaces/IDateTime.cs delete mode 100644 src/Infrastructure/Services/DateTimeService.cs diff --git a/src/Application/Common/Interfaces/IDateTime.cs b/src/Application/Common/Interfaces/IDateTime.cs deleted file mode 100644 index 8c7be68c8..000000000 --- a/src/Application/Common/Interfaces/IDateTime.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace CleanArchitecture.Application.Common.Interfaces; - -public interface IDateTime -{ - DateTime Now { get; } -} diff --git a/src/Infrastructure/ConfigureServices.cs b/src/Infrastructure/ConfigureServices.cs index a96824e10..ec0ac8ac7 100644 --- a/src/Infrastructure/ConfigureServices.cs +++ b/src/Infrastructure/ConfigureServices.cs @@ -3,7 +3,6 @@ using CleanArchitecture.Infrastructure.Identity; using CleanArchitecture.Infrastructure.Persistence; using CleanArchitecture.Infrastructure.Persistence.Interceptors; -using CleanArchitecture.Infrastructure.Services; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; @@ -36,8 +35,7 @@ public static IServiceCollection AddInfrastructureServices(this IServiceCollecti .AddDefaultIdentity() .AddRoles() .AddEntityFrameworkStores(); - - services.AddTransient(); + services.AddTransient(); services.AddTransient(); diff --git a/src/Infrastructure/Persistence/Interceptors/AuditableEntitySaveChangesInterceptor.cs b/src/Infrastructure/Persistence/Interceptors/AuditableEntitySaveChangesInterceptor.cs index 70b39146a..fb6b7d6b0 100644 --- a/src/Infrastructure/Persistence/Interceptors/AuditableEntitySaveChangesInterceptor.cs +++ b/src/Infrastructure/Persistence/Interceptors/AuditableEntitySaveChangesInterceptor.cs @@ -9,14 +9,14 @@ namespace CleanArchitecture.Infrastructure.Persistence.Interceptors; public class AuditableEntitySaveChangesInterceptor : SaveChangesInterceptor { private readonly IUser _user; - private readonly IDateTime _dateTime; + private readonly TimeProvider _timeProvider; public AuditableEntitySaveChangesInterceptor( IUser user, - IDateTime dateTime) + TimeProvider timeProvider) { _user = user; - _dateTime = dateTime; + _timeProvider = timeProvider; } public override InterceptionResult SavingChanges(DbContextEventData eventData, InterceptionResult result) @@ -42,13 +42,13 @@ public void UpdateEntities(DbContext? context) if (entry.State == EntityState.Added) { entry.Entity.CreatedBy = _user.Id; - entry.Entity.Created = _dateTime.Now; + entry.Entity.Created = _timeProvider.GetLocalNow().DateTime; } if (entry.State == EntityState.Added || entry.State == EntityState.Modified || entry.HasChangedOwnedEntities()) { entry.Entity.LastModifiedBy = _user.Id; - entry.Entity.LastModified = _dateTime.Now; + entry.Entity.LastModified = _timeProvider.GetLocalNow().DateTime; } } } diff --git a/src/Infrastructure/Services/DateTimeService.cs b/src/Infrastructure/Services/DateTimeService.cs deleted file mode 100644 index 7093a9da7..000000000 --- a/src/Infrastructure/Services/DateTimeService.cs +++ /dev/null @@ -1,8 +0,0 @@ -using CleanArchitecture.Application.Common.Interfaces; - -namespace CleanArchitecture.Infrastructure.Services; - -public class DateTimeService : IDateTime -{ - public DateTime Now => DateTime.Now; -}