using System; using System.Collections.Generic; using System.Transactions; namespace Abp.Domain.Uow { /// /// Used to get/set default options for a unit of work. /// public interface IUnitOfWorkDefaultOptions { /// /// Scope option. /// TransactionScopeOption Scope { get; set; } /// /// Should unit of works be transactional. /// Default: true. /// bool IsTransactional { get; set; } /// /// A boolean value indicates that System.Transactions.TransactionScope is available for current application. /// Default: true. /// bool IsTransactionScopeAvailable { get; set; } /// /// Gets/sets a timeout value for unit of works. /// TimeSpan? Timeout { get; set; } /// /// Gets/sets isolation level of transaction. /// This is used if is true. /// IsolationLevel? IsolationLevel { get; set; } /// /// Gets list of all data filter configurations. /// IReadOnlyList Filters { get; } /// /// A list of selectors to determine conventional Unit Of Work classes. /// List> ConventionalUowSelectors { get; } /// /// Registers a data filter to unit of work system. /// /// Name of the filter. /// Is filter enabled by default. void RegisterFilter(string filterName, bool isEnabledByDefault); /// /// Overrides a data filter definition. /// /// Name of the filter. /// Is filter enabled by default. void OverrideFilter(string filterName, bool isEnabledByDefault); } }