private void OnSavingChanges(object sender, DataContext.SaveEventArgs e) { var entityEntries = Context.ChangeTracker.Entries() .Where(e => e.State == EntityState.Modified || e.State == EntityState.Added || e.State == EntityState.Deleted) .Where(e => e.Entity is T) .ToList(); if (entityEntries.Count > 0) { foreach (var entityEntry in entityEntries) { var entity = (T)entityEntry.Entity; if (entityEntry.State == EntityState.Added) { entity.CreationDate = entity.ModificationDate = DateTime.UtcNow; entity.CreationUserId = entity.ModificationUserId = UserId; e.AddedEntities.Add(entityEntry); } else if (entityEntry.State == EntityState.Deleted) { TrackChange(entityEntry, ChangeAction.Delete); } else if (entityEntry.State == EntityState.Modified) { entity.ModificationDate = DateTime.UtcNow; entity.ModificationUserId = UserId; TrackChange(entityEntry, ChangeAction.Update); } } } }
private void OnSavedChanges(object sender, DataContext.SaveEventArgs e) { if (e.AddedEntities.Count > 0) { foreach (var entry in e.AddedEntities) { TrackChange(entry, ChangeAction.Add); } } }