public void OnFlushEntity(NHibernate.Event.FlushEntityEvent e) { if (e.EntityEntry.Status != NHibernate.Engine.Status.Deleted || !(e.Entity is IUsesRegistry) || (e.Entity as IUsesRegistry).Registry == null) { return; } (e.Entity as IUsesRegistry).Registry.Delete(e.Session.Transaction); }
public void OnFlushEntity(NHibernate.Event.FlushEntityEvent e) { if (e.EntityEntry.Status == NHibernate.Engine.Status.Deleted) { return; } if (e.Entity is IOnFlush) { (e.Entity as IOnFlush).OnFlush(this, e); } }
public void OnFlushEntity(NHibernate.Event.FlushEntityEvent e) { if (e.EntityEntry.Status == NHibernate.Engine.Status.Deleted || !(e.Entity is IUsesAudit)) { return; } if (HasDirtyProperties(e)) { DoAudit(e.Entity as IUsesAudit); } }
public virtual void OnFlush(EventHandlerBase sender, NHibernate.Event.FlushEntityEvent e) { if (Tester != null) { Tester.OnFlush++; if (Tester.ThrowOnFlush) { throw new Exception("Store.OnFlush()"); } } }
public bool HasDirtyProperties(NHibernate.Event.FlushEntityEvent e) { if (!e.EntityEntry.RequiresDirtyCheck(e.Entity) || !e.EntityEntry.ExistsInDatabase || e.EntityEntry.LoadedState == null) { return(false); } object[] currentState = e.EntityEntry.Persister.GetPropertyValues(e.Entity, e.Session.EntityMode); object[] loadedState = e.EntityEntry.LoadedState; for (int i = 0; i < e.EntityEntry.Persister.EntityMetamodel.Properties.Length; i++) { if (!NHibernate.Intercept.LazyPropertyInitializer.UnfetchedProperty.Equals(currentState[i]) && e.EntityEntry.Persister.EntityMetamodel.Properties[i].Type.IsDirty(loadedState[i], currentState[i], e.Session)) { return(true); } } return(false); }