public void Multiple_UnitofWorkCommit() { Action work1 = () => { var t14Repo = LocalServiceLocator.GetService <IT14Repository>(); t14Repo.Add(new T14(Guid.NewGuid().ToString("N"), "ok")); t14Repo.Context.Commit(); //return t14Repo.Context; }; Action work2 = () => { var orderRepository = LocalServiceLocator.GetService <IYmtOrderRepository>(); var order = new YmtOrder("aacd0bc4-34e5-4c0f-a255-214d567698cd", "test_order", 77); order.AddOrderLine(new OrderLine(100)) .AddOrderLine(new OrderLine(120)) .AddOrderLine(new OrderLine(150)) .SetAddress(new ReceiptAddress { City = "A", Zip = "B", Street = "C" }); var verify = order.Validator(); Console.WriteLine(verify.Message); Assert.AreEqual(true, verify.Success); orderRepository.AddOrUpdate(e => e.Id, order); orderRepository.Context.Commit(); //return orderRepository.Context; }; MultipleUnitOfWorkBuilder.Instance.Commit(work1, work2); //using (MultipleUnitOfWorkBuilder.Instance.Append(work1).Append(work2).Commit()) //{ //}; }
public void OneToMany_Order() { var order = new YmtOrder(Guid.NewGuid().ToString(), "test order", 12M); // order.AddOrderLine(new OrderLine(100)) .AddOrderLine(new OrderLine(120)) .AddOrderLine(new OrderLine(150)) .SetAddress(new ReceiptAddress { City = "A", Zip = "B", Street = "C" }); var orderRepository = LocalServiceLocator.GetService <IYmtOrderRepository>(); orderRepository.Add(order); var x = orderRepository.Context.AsyncCommit(); Assert.True(x.Result.ResultData > 0); }
public void AddOrUpdateOrder() { var orderRepository = new YmtOrderRepository(new EFUnitOfWork("orderContext"));//LocalServiceLocator.GetService<IYmtOrderRepository>(); var order = new YmtOrder("0000b222-db89-4c4b-b226-1fc694d3d065", "test order", 60); // order.AddOrderLine(new OrderLine(100)) .AddOrderLine(new OrderLine(120)) .AddOrderLine(new OrderLine(150)) .SetAddress(new ReceiptAddress { City = "A", Zip = "B", Street = "C" }); var verify = order.Validator(); Console.WriteLine(verify.Message); Assert.AreEqual(true, verify.Success); orderRepository.AddOrUpdate(e => e.Id, order); orderRepository.Context.Commit(); }