public async Task RunAllAfterHandlers(DonutContext context) { foreach (var handler in _afterHandlers) { await handler.Handle(context); } }
public Task Handle(DonutContext context) { var userId = _currentUser.UserId; var addedEntities = context.ChangeTracker.Entries() .Where(ch => ch.State == EntityState.Added) .Select(ch => ch.Entity) .OfType <IAuditableEntity>() .ToList(); foreach (var entity in addedEntities) { entity.CreatedOn = DateTimeOffset.UtcNow; entity.CreatedBy = userId; entity.LastModifiedOn = DateTimeOffset.UtcNow; entity.LastModifiedBy = userId; } var updatedEntities = context.ChangeTracker.Entries() .Where(ch => ch.State == EntityState.Modified) .Select(ch => ch.Entity) .OfType <IAuditableEntity>() .ToList(); foreach (var entity in updatedEntities) { entity.LastModifiedOn = DateTimeOffset.UtcNow; entity.LastModifiedBy = userId; } return(Task.CompletedTask); }