chore: deleted all the stuff we don't need here
This commit is contained in:
@@ -1,54 +1,5 @@
|
||||
using GamificationService.Models.Database;
|
||||
using GamificationService.Services.CurrentUsers;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
||||
|
||||
namespace GamificationService.Database.Extensions;
|
||||
|
||||
public static class ChangeTrackerExtensions
|
||||
{
|
||||
public static void SetAuditProperties(this ChangeTracker changeTracker, ICurrentUserService currentUserService)
|
||||
{
|
||||
changeTracker.DetectChanges();
|
||||
IEnumerable<EntityEntry> entities =
|
||||
changeTracker
|
||||
.Entries()
|
||||
.Where(t => t.Entity is AuditableEntity &&
|
||||
(
|
||||
t.State == EntityState.Deleted
|
||||
|| t.State == EntityState.Added
|
||||
|| t.State == EntityState.Modified
|
||||
));
|
||||
|
||||
if (entities.Any())
|
||||
{
|
||||
DateTimeOffset timestamp = DateTimeOffset.UtcNow;
|
||||
|
||||
string user = currentUserService.GetCurrentUser().Login ?? "Unknown";
|
||||
|
||||
foreach (EntityEntry entry in entities)
|
||||
{
|
||||
AuditableEntity entity = (AuditableEntity)entry.Entity;
|
||||
|
||||
switch (entry.State)
|
||||
{
|
||||
case EntityState.Added:
|
||||
entity.CreatedOn = timestamp;
|
||||
entity.CreatedBy = user;
|
||||
entity.UpdatedOn = timestamp;
|
||||
entity.UpdatedBy = user;
|
||||
break;
|
||||
case EntityState.Modified:
|
||||
entity.UpdatedOn = timestamp;
|
||||
entity.UpdatedBy = user;
|
||||
break;
|
||||
case EntityState.Deleted:
|
||||
entity.UpdatedOn = timestamp;
|
||||
entity.UpdatedBy = user;
|
||||
entry.State = EntityState.Deleted;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user