public async Task UnitOfWorkManager_Reservation_Test() { _unitOfWorkManager.Current.ShouldBeNull(); using (var uow1 = _unitOfWorkManager.Reserve("Reservation1")) { _unitOfWorkManager.Current.ShouldBeNull(); using (var uow2 = _unitOfWorkManager.Begin()) { _unitOfWorkManager.Current.ShouldNotBeNull(); _unitOfWorkManager.Current.Id.ShouldNotBe(uow1.Id); await uow2.CompleteAsync(); } _unitOfWorkManager.Current.ShouldBeNull(); _unitOfWorkManager.BeginReserved("Reservation1"); _unitOfWorkManager.Current.ShouldNotBeNull(); _unitOfWorkManager.Current.Id.ShouldBe(uow1.Id); await uow1.CompleteAsync(); } _unitOfWorkManager.Current.ShouldBeNull(); }
public static void BeginReserved([NotNull] this IUnitOfWorkManager unitOfWorkManager, [NotNull] string reservationName) { Check.NotNull(unitOfWorkManager, nameof(unitOfWorkManager)); Check.NotNull(reservationName, nameof(reservationName)); unitOfWorkManager.BeginReserved(reservationName, new PlusUnitOfWorkOptions()); }