using System.Transactions; namespace Abp.Domain.Uow { /// /// Unit of work manager. /// Used to begin and control a unit of work. /// public interface IUnitOfWorkManager { /// /// Gets currently active unit of work (or null if not exists). /// IActiveUnitOfWork Current { get; } /// /// Begins a new unit of work. /// /// A handle to be able to complete the unit of work IUnitOfWorkCompleteHandle Begin(); /// /// Begins a new unit of work. /// /// A handle to be able to complete the unit of work IUnitOfWorkCompleteHandle Begin(TransactionScopeOption scope); /// /// Begins a new unit of work. /// /// A handle to be able to complete the unit of work IUnitOfWorkCompleteHandle Begin(UnitOfWorkOptions options); } }