public void Can_Save_Load_Bid() { Assert.AreEqual(1, items.FindAll().Count); Bid bid = new Bid( new MonetaryAmount(200, "GBP"), iMac, tobin); iMac.AddBid(bid); Assert.AreEqual(1, iMac.Bids.Count); Assert.AreEqual(1, items.FindAll().Count); NHibernateHelper.Session.Save(bid); NHibernateHelper.CommitTransaction(); NHibernateHelper.CloseSession(); //test that can load the bid "manually" and that //the .Item and .Bidder associations are set Bid loaded = NHibernateHelper.Session.Get <Bid>(bid.Id); Assert.IsNotNull(loaded, "No loaded bid found"); Assert.IsTrue(iMac.Equals(loaded.Item), "Items not same"); Assert.AreEqual(iMac, loaded.Item); Assert.IsTrue(tobin.Equals(loaded.Bidder), "Bidder not the same"); Assert.AreEqual(tobin, loaded.Bidder); //test that we can reload the Item and that the Bids are restored also Item reloaded = items.GetById(iMac.Id); Assert.AreEqual(1, reloaded.Bids.Count); Assert.AreEqual(bid, reloaded.Bids[0]); }
public void Can_Save_Load_CategorizedItem() { Category myItems = new Category("My Items"); categories.MakePersistent(myItems); CategorizedItem ci = new CategorizedItem(tobin.Username, myItems, iMac); //TODO: Remove explicit saving of categorized item in this test. This should be persisted by reachability? NHibernateHelper.Session.Save(ci); NHibernateHelper.CommitTransaction(); Item reloaded = items.GetById(iMac.Id); Assert.AreEqual(1, reloaded.CategorizedItems.Count); }
public void Can_Save_Load_Category() { Category computers = new Category("Computer Equipment"); computers.AddChildCategory(new Category("Apple")); computers.AddChildCategory(new Category("Dell")); categories.MakePersistent(computers); NHibernateHelper.CommitTransaction(); NHibernateHelper.CloseSession(); IList <Category> rootCategories = categories.FindAll(true); Assert.AreEqual(1, rootCategories.Count); Assert.AreEqual(2, computers.ChildCategories.Count); }
public override void OnResultExecuted(ResultExecutedContext filterContext) { try { if ((filterContext.Exception != null) && (!filterContext.ExceptionHandled)) { NHibernateHelper.RollbackTransaction(); } else { NHibernateHelper.CommitTransaction(); } } finally { NHibernateHelper.DisposeSession(); } base.OnResultExecuted(filterContext); }
public void SetUpData() { //create database CreateDatabase(); //create common test data tobin = CreateTobin(); iMac = CreateAppleiMac(tobin); //save them using DAOs items = new ItemDAO(); users = new UserDAO(); users.MakePersistent(tobin); items.MakePersistent(iMac); //commit NHibernateHelper.CommitTransaction(); NHibernateHelper.CloseSession(); }
public void Can_Save_Load_BillingDetails() { BillingDetails cardDetails = new CreditCard("Tobin Harris", tobin, "111222333444", CreditCardType.MasterCard, "05", "08"); BillingDetails bankDetails = new BankAccount("Tobin Harris", tobin, "12345566", "HSBC", "X-Y-Z"); tobin.AddBillingDetails(cardDetails); tobin.AddBillingDetails(bankDetails); Assert.AreEqual(2, tobin.BillingDetails.Count); users.MakePersistent(tobin); NHibernateHelper.CommitTransaction(); NHibernateHelper.CloseSession(); User reloaded = users.GetById(tobin.Id); Assert.AreEqual(tobin, reloaded); Assert.AreEqual(2, reloaded.BillingDetails.Count); Assert.IsTrue(reloaded.BillingDetails.Contains(cardDetails)); Assert.IsTrue(reloaded.BillingDetails.Contains(bankDetails)); }
private void ApplicationEndRequest(object sender, EventArgs e) { if (RequestMayNeedIterationWithPersistence(sender as HttpApplication)) { try { if (NHibernateHelper.GetCurrentSession().IsOpen&& NHibernateHelper.GetCurrentSession().Transaction.IsActive) { NHibernateHelper.CommitTransaction(); } } catch (Exception) { NHibernateHelper.RollbackTransaction(); throw; } finally { NHibernateHelper.DisposeSession(); } } }