Exemplo n.º 1
0
        public static void UpdateTimestamp(this Infrastructure.DB.NotSteamContext context)
        {
            var entries = context.ChangeTracker.Entries();

            foreach (var entry in entries.Where(entry => entry.Entity is ITimestamp).Select(entry => entry))
            {
                var entity = (ITimestamp)entry.Entity;
                var now    = DateTime.UtcNow;
                switch (entry.State)
                {
                case EntityState.Modified:
                    entity.UpdatedAt = now;
                    break;

                case EntityState.Added:
                    entity.CreatedAt = now;
                    break;

                default:
                    break;
                }
            }
        }
Exemplo n.º 2
0
        public static void UpdateSoftDeletable(this Infrastructure.DB.NotSteamContext context)
        {
            var entries = context.ChangeTracker.Entries();

            foreach (var entry in entries.Where(entry => entry.Entity is ISoftDeletable).Select(entry => entry))
            {
                var entity = (ISoftDeletable)entry.Entity;
                switch (entry.State)
                {
                case EntityState.Added:
                    entity.IsDeleted = false;
                    break;

                case EntityState.Deleted:
                    entry.State      = EntityState.Modified;
                    entity.IsDeleted = true;
                    break;

                default:
                    break;
                }
            }
        }