Browse Source

Refactor.

pull/112/head
Halil İbrahim Kalkan 9 years ago
parent
commit
e35ebf0a6b
  1. 2
      src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkManager.cs
  2. 15
      src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkOptions.cs
  3. 37
      src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkStartOptions.cs
  4. 9
      src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkTransactionBehavior.cs

2
src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkManager.cs

@ -91,7 +91,7 @@ namespace Volo.Abp.Uow
unitOfWork.SetOuter(outerUow);
unitOfWork.IsReserved = options.ReservationName != null;
unitOfWork.ReservationName = options.ReservationName;
unitOfWork.SetOptions(options);
unitOfWork.SetOptions(options); //TODO: Should not call this for reservation?
_ambientUnitOfWork.SetUnitOfWork(unitOfWork);

15
src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkOptions.cs

@ -0,0 +1,15 @@
using System.Data;
namespace Volo.Abp.Uow
{
/// <summary>
/// Global (default) unit of work options
/// </summary>
public class UnitOfWorkOptions
{
//TODO: Implement default options!
public UnitOfWorkTransactionBehavior TransactionBehavior { get; set; }
public IsolationLevel? IsolationLevel { get; set; }
}
}

37
src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkStartOptions.cs

@ -1,6 +1,5 @@
using System;
using System.Data;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Uow
{
@ -18,40 +17,4 @@ namespace Volo.Abp.Uow
public TimeSpan? Timeout { get; set; }
}
/// <summary>
/// Global (default) unit of work options
/// </summary>
public class UnitOfWorkOptions
{
public IUnitOfWorkTransactionBehavior IsTransactional { get; set; }
public IsolationLevel? IsolationLevel { get; set; }
}
public interface IUnitOfWorkTransactionBehavior
{
UnitOfWorkStartOptions Set(UnitOfWorkTransactionBehaviorContext context);
}
public class ConventionalUnitOfWorkTransactionBehavior : IUnitOfWorkTransactionBehavior
{
public UnitOfWorkStartOptions Set(UnitOfWorkTransactionBehaviorContext context)
{
throw new NotImplementedException();
}
}
public class UnitOfWorkTransactionBehaviorContext : IServiceProviderAccessor
{
public UnitOfWorkStartOptions Options { get; }
public IServiceProvider ServiceProvider { get; }
public UnitOfWorkTransactionBehaviorContext(UnitOfWorkStartOptions options, IServiceProvider serviceProvider)
{
Options = options;
ServiceProvider = serviceProvider;
}
}
}

9
src/Volo.Abp/Volo/Abp/Uow/UnitOfWorkTransactionBehavior.cs

@ -0,0 +1,9 @@
namespace Volo.Abp.Uow
{
public enum UnitOfWorkTransactionBehavior
{
Auto,
Enabled,
Disabled
}
}
Loading…
Cancel
Save