Exemplo n.º 1
0
        private Transaction(IMergeableConfig persistable, Action<IMergeableConfig> onCloseTransactionCallback)
        {
            if (persistable is Transaction)
            {
                throw new InvalidOperationException(
                    "Cannot start new transaction as a transaction is already active. Only one active transaction is allowed.");
            }

            this.persistable = persistable.CheckNotNull(nameof(persistable));
            this.onCloseTransactionCallback = onCloseTransactionCallback.CheckNotNull(nameof(onCloseTransactionCallback));
        }
Exemplo n.º 2
0
 public TransactionUnitTests()
 {
     this.persistable = Substitute.For<IMergeableConfig>();
 }
Exemplo n.º 3
0
 public static Transaction Start(IMergeableConfig persistable, Action<IMergeableConfig> onCloseTransactionCallback)
 {
     var transaction = new Transaction(persistable, onCloseTransactionCallback);
     transaction.Init();
     return transaction;
 }