public void Rollback_Insert()
        {
            UnitOfWorkFactory.GetDefault().Begin();
            _userWriter.Add(new User()
            {
                Email = "*****@*****.**", FirstName = "José", Name = "Marcel"
            });
            UnitOfWorkFactory.GetDefault().Rollback();
            User user = _userFinder.GetByEmail("*****@*****.**");

            Assert.IsNull(user);
        }
        public void Commit_Insert()
        {
            UnitOfWorkFactory.GetDefault().Begin();
            _userWriter.Add(new User()
            {
                Email = "*****@*****.**", FirstName = "Claudie", Name = "Dubois"
            });
            UnitOfWorkFactory.GetDefault().Commit();
            User user = _userFinder.GetByEmail("*****@*****.**");

            Assert.IsNotNull(user);
            Assert.AreEqual(user.Email, "*****@*****.**");
            Assert.AreEqual(user.Name, "Dubois");
            Assert.AreEqual(user.FirstName, "Claudie");
        }
        private void context_EndRequest(object sender, EventArgs e)
        {
            IUnitOfWork instance = UnitOfWorkFactory.GetDefault();

            try
            {
                instance.Commit();
            }
            catch
            {
                instance.RollBack();
                //throw;
            }
            finally
            {
                instance.Dispose();
            }
        }
        public void Rollback_Insert_Fail()
        {
            UnitOfWorkFactory.GetDefault().Begin();
            try
            {
                _userWriter.Add(new User()
                {
                    Email = "*****@*****.**", FirstName = "Marc", Name = "Furo"
                });
                _userWriter.Add(new User()
                {
                    Email = "*****@*****.**", FirstName = "Marc", Name = "Furo"
                });
                UnitOfWorkFactory.GetDefault().Commit();
            }
            catch
            {
                UnitOfWorkFactory.GetDefault().Rollback();
            }
            User user = _userFinder.GetByEmail("*****@*****.**");

            Assert.IsNull(user);
        }
        private void context_BeginRequest(object sender, EventArgs e)
        {
            IUnitOfWork instance = UnitOfWorkFactory.GetDefault();

            instance.Begin();
        }