public void Rollback() { IWindsorContainer container = CreateConfiguredContainer(); container.AddFacility("transaction", new TransactionFacility()); container.AddComponent("blogdao", typeof(BlogDao)); container.AddComponent("orderdao", typeof(OrderDao)); container.AddComponent("business", typeof(MyBusinessClass)); container.AddComponent("business2", typeof(MyOtherBusinessClass)); MyOtherBusinessClass service = (MyOtherBusinessClass)container[typeof(MyOtherBusinessClass)]; try { Blog blog = service.CreateWithError(1); } catch (Exception) { // Expected } BlogDao dao = (BlogDao)container["blogdao"]; IList blogs = dao.ObtainBlogs(); Assert.IsNotNull(blogs); Assert.AreEqual(0, blogs.Count); OrderDao odao = (OrderDao)container["orderdao"]; IList orders = odao.ObtainOrders(); Assert.IsNotNull(orders); Assert.AreEqual(0, orders.Count); }
public void BusinessLayerWithTransactions() { IWindsorContainer container = CreateConfiguredContainer(); container.AddFacility("transaction", new TransactionFacility()); container.AddComponent("blogdao", typeof(BlogDao)); container.AddComponent("orderdao", typeof(OrderDao)); container.AddComponent("business", typeof(MyBusinessClass)); container.AddComponent("business2", typeof(MyOtherBusinessClass)); MyOtherBusinessClass service = (MyOtherBusinessClass)container[typeof(MyOtherBusinessClass)]; Blog blog = service.Create(1); BlogDao dao = (BlogDao)container["blogdao"]; IList blogs = dao.ObtainBlogs(); Assert.IsNotNull(blogs); Assert.AreEqual(1, blogs.Count); OrderDao odao = (OrderDao)container["orderdao"]; IList orders = odao.ObtainOrders(); Assert.IsNotNull(orders); Assert.AreEqual(1, orders.Count); }