protected void btnSale_Click(object sender, EventArgs e)
 {
     Books book = new Books();
     book.Name = "Enterprise Arch.";
     book.Amount = 60;
     book.Type = 1;
     UnitOfWork uow = new UnitOfWork();
     uow.BookRepository.Insert(book);
     Session["Book"] = book;
     Session["uow"] = uow;
     Response.Redirect("Sales.aspx");
 }
        public void Should_pass_exceptions_to_the_uow_end()
        {
            var builder = new FakeBuilder();

            var unitOfWork = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(() => unitOfWork);

            var ex = new Exception("Handler failed");
            //since it is a single exception then it will not be an AggregateException
            Assert.That(async () => await InvokeBehavior(builder, ex), Throws.InstanceOf<Exception>().And.SameAs(ex));
            Assert.AreSame(ex, unitOfWork.ExceptionPassedToEnd);
        }
        public async Task Should_not_call_Begin_or_End_when_hasUnitsOfWork_is_false()
        {
            var builder = new FakeBuilder();

            var unitOfWork = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(unitOfWork);

            await InvokeBehavior(builder, hasUnitsOfWork: false);

            Assert.IsFalse(unitOfWork.BeginCalled);
            Assert.IsFalse(unitOfWork.EndCalled);
        }
        public void Should_not_invoke_end_if_begin_was_not_invoked()
        {
            var builder = new FakeBuilder();

            var unitOfWorkThatThrowsFromBegin = new UnitOfWorkThatThrowsFromBegin();
            var unitOfWork = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(unitOfWorkThatThrowsFromBegin, unitOfWork);

            //since it is a single exception then it will not be an AggregateException
            Assert.That(async () => await InvokeBehavior(builder), Throws.InvalidOperationException);
            Assert.False(unitOfWork.EndCalled);

        }
        public void When_first_throw_second_is_cleaned_up()
        {
            var builder = new FakeBuilder();

            var unitOfWorkThatThrowsFromEnd = new UnitOfWorkThatThrowsFromEnd();
            var unitOfWork = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(unitOfWorkThatThrowsFromEnd, unitOfWork);

            //since it is a single exception then it will not be an AggregateException
            Assert.That(async () => await InvokeBehavior(builder), Throws.InvalidOperationException);
            Assert.IsTrue(unitOfWorkThatThrowsFromEnd.BeginCalled);
            Assert.IsTrue(unitOfWorkThatThrowsFromEnd.EndCalled);
            Assert.IsTrue(unitOfWork.BeginCalled);
            Assert.IsTrue(unitOfWork.EndCalled);
        }
Пример #6
0
        static void executeUnitOfWork()
        {
            using (DesignPatternDBEntities entities = new DesignPatternDBEntities())
            {
                UnitOfWork.UnitOfWork UoW = new UnitOfWork.UnitOfWork(entities);

                Customer customer = new Customer();
                Address  address  = new Address();
                Random   rnd      = new Random();
                int      rngNum   = rnd.Next(1, 500);

                customer.FirstName  = "FirstName " + rngNum;
                customer.MiddleName = "MiddleName " + rngNum;
                customer.LastName   = "LastName " + rngNum;

                rngNum                = rnd.Next(1, 500);
                address.City          = "City Number " + rngNum;
                address.StreetAddress = rngNum + " Street";

                rngNum             = rnd.Next(1000, 9999);
                address.ZipCode    = rngNum.ToString();
                address.State      = "QW " + rngNum;
                address.CustomerId = customer.CustomerId;

                UoW.CustomerRepo.Add(customer);

                UoW.AddressRepo.Add(address);

                UoW.Commit();

                var displayCustomer = UoW.CustomerRepo.FindById(customer.CustomerId);
                var displayAddress  = UoW.AddressRepo.FindById(address.Id);

                Console.WriteLine("Newly Created Customer: " + "ID: " + displayCustomer.CustomerId + ", Name: " + displayCustomer.FirstName
                                  + " " + displayCustomer.MiddleName + ", " + displayCustomer.LastName);

                Console.WriteLine("Newly Created Address: " + "ID: " + displayAddress.Id);
                Console.WriteLine("City: " + displayAddress.City);
                Console.WriteLine("Street Address: " + displayAddress.StreetAddress);
                Console.WriteLine("ZipCode: " + displayAddress.ZipCode);
                Console.WriteLine("State: " + displayAddress.State);

                Console.ReadKey();
            }
        }
Пример #7
0
        public void When_first_throw_second_is_cleaned_up()
        {
            var builder = new FuncBuilder();

            var unitOfWorkThatThrowsFromEnd = new UnitOfWorkThatThrowsFromEnd();
            var unitOfWork = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(() => unitOfWorkThatThrowsFromEnd);
            builder.Register<IManageUnitsOfWork>(() => unitOfWork);

            Assert.Throws<AggregateException>(() => InvokeBehavior(builder));
            Assert.IsTrue(unitOfWorkThatThrowsFromEnd.BeginCalled);
            Assert.IsTrue(unitOfWorkThatThrowsFromEnd.EndCalled);
            Assert.IsTrue(unitOfWork.BeginCalled);
            Assert.IsTrue(unitOfWork.EndCalled);
        }
Пример #8
0
 public List<EntityBase> Execute(UnitOfWork uow)
 {
     this.uow = uow;
     return uow.GetMapper(domainObject).FindMany(GenerateWhereClause());
 }
Пример #9
0
 public static void setHilo(UnitOfWork uow)
 {
     Thread.SetData(hilo, uow);
 }
        public void When_first_throw_second_is_cleaned_up()
        {
            var builder = new FuncBuilder();

            var unitOfWorkThatThrowsFromEnd = new UnitOfWorkThatThrowsFromEnd();
            var unitOfWork = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(() => unitOfWorkThatThrowsFromEnd);
            builder.Register<IManageUnitsOfWork>(() => unitOfWork);
            var runner = new UnitOfWorkRunner
                         {
                             Builder = builder
                         };
            runner.Begin();
            Assert.Throws<InvalidOperationException>(runner.End);
            Assert.IsTrue(unitOfWorkThatThrowsFromEnd.BeginCalled);
            Assert.IsTrue(unitOfWorkThatThrowsFromEnd.EndCalled);
            Assert.IsTrue(unitOfWork.BeginCalled);
            Assert.IsTrue(unitOfWork.EndCalled);
        }
Пример #11
0
 /// <summary>
 /// Public constructor.
 /// </summary>
 public AMS_Event_LatestService()
 {
     _unitOfWork = new UOW.UnitOfWork();
 }
        public void Should_invoke_ends_on_all_begins_that_was_called_even_when_begin_throws()
        {
            var builder = new FakeBuilder();

            var normalUnitOfWork = new UnitOfWork();
            var unitOfWorkThatThrows = new UnitOfWorkThatThrowsFromBegin();
            var unitOfWorkThatIsNeverCalled = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(normalUnitOfWork, unitOfWorkThatThrows, unitOfWorkThatIsNeverCalled);

            Assert.That(async () => await InvokeBehavior(builder), Throws.InvalidOperationException);

            Assert.True(normalUnitOfWork.EndCalled);
            Assert.True(unitOfWorkThatThrows.EndCalled);
            Assert.False(unitOfWorkThatIsNeverCalled.EndCalled);
        }
        public void Should_call_all_end_even_if_one_or_more_of_them_throws()
        {
            var builder = new FakeBuilder();

            var unitOfWorkThatThrows = new UnitOfWorkThatThrowsFromEnd();
            var unitOfWork = new UnitOfWork();

            builder.Register<IManageUnitsOfWork>(unitOfWorkThatThrows, unitOfWork);

            Assert.That(async () => await InvokeBehavior(builder), Throws.InvalidOperationException);
            Assert.True(unitOfWork.EndCalled);
        }