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); }
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(); } }
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); }
public List<EntityBase> Execute(UnitOfWork uow) { this.uow = uow; return uow.GetMapper(domainObject).FindMany(GenerateWhereClause()); }
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); }
/// <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); }