Exemplo n.º 1
0
        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);
                    }
                }
            }
        }
Exemplo n.º 2
0
 private void OnSavedChanges(object sender, DataContext.SaveEventArgs e)
 {
     if (e.AddedEntities.Count > 0)
     {
         foreach (var entry in e.AddedEntities)
         {
             TrackChange(entry, ChangeAction.Add);
         }
     }
 }