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);
        }
Exemple #2
0
 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);
     }
 }
Exemple #4
0
 public virtual void OnFlush(EventHandlerBase sender, NHibernate.Event.FlushEntityEvent e)
 {
     if (Tester != null)
     {
         Tester.OnFlush++;
         if (Tester.ThrowOnFlush)
         {
             throw new Exception("Store.OnFlush()");
         }
     }
 }
Exemple #5
0
 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);
 }