public void DeletedSoftDeleteEntitiesAreNotReallyDeleted() { int id; IDeleteEventListener[] defaultListeners = cfg.EventListeners.DeleteEventListeners; cfg.EventListeners.DeleteEventListeners = new IDeleteEventListener[] { new SoftDeleteEventListener() }; using (ISession session = OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = new SoftDeleter(); sd.DeleteDate = DateTime.Parse("1/1/07 1:00:00 pm"); session.Save(sd); id = sd.Id; transaction.Commit(); } session.Clear(); using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = session.Get <SoftDeleter>(id); session.Delete(sd); transaction.Commit(); } session.Clear(); using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = session.Get <SoftDeleter>(id); Assert.IsTrue(sd.Deleted); Assert.IsNotNull(sd.DeleteDate); Assert.AreNotEqual(DateTime.Parse("1/1/07 1:00:00 pm"), sd.DeleteDate.Value); transaction.Commit(); } session.Clear(); } cfg.EventListeners.DeleteEventListeners = defaultListeners; using (ISession session = OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = session.Get <SoftDeleter>(id); session.Delete(sd); // session.Flush(); transaction.Commit(); } } }
public void DeletedSoftDeleteEntitiesAreNotReallyDeleted() { int id; IDeleteEventListener[] defaultListeners = cfg.EventListeners.DeleteEventListeners; cfg.EventListeners.DeleteEventListeners = new IDeleteEventListener[] { new SoftDeleteEventListener() }; using (ISession session = OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = new SoftDeleter(); sd.DeleteDate = DateTime.Parse("1/1/07 1:00:00 pm"); session.Save(sd); id = sd.Id; transaction.Commit(); } session.Clear(); using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = session.Get<SoftDeleter>(id); session.Delete(sd); transaction.Commit(); } session.Clear(); using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = session.Get<SoftDeleter>(id); Assert.IsTrue(sd.Deleted); Assert.IsNotNull(sd.DeleteDate); Assert.AreNotEqual(DateTime.Parse("1/1/07 1:00:00 pm"), sd.DeleteDate.Value); transaction.Commit(); } session.Clear(); } cfg.EventListeners.DeleteEventListeners = defaultListeners; using (ISession session = OpenSession()) { using (ITransaction transaction = session.BeginTransaction()) { SoftDeleter sd = session.Get<SoftDeleter>(id); session.Delete(sd); // session.Flush(); transaction.Commit(); } } }