public static ESTransactionContext CreateContext(TransactionAffinity affinity) { switch(affinity) { case TransactionAffinity.RequiresNew: return new RequiresNewTransactionContext(); case TransactionAffinity.Required: return new RequiredTransactionContext(); case TransactionAffinity.Supported: return new SupportedTransactionContext(); case TransactionAffinity.NotSupported: return new NotSupportedTransactionContext(); default: throw new TransactionContextException("Invalid affinity(" + affinity.ToString() + ". Mapping failed."); } }
public static TransactionContext GetContext(TransactionAffinity transactionAffinity) { TransactionContext ctx = null; switch(transactionAffinity) { case TransactionAffinity.RequiresNew: ctx = new RequiresNewTransactionContext(); break; case TransactionAffinity.Required: ctx = new RequiredTransactionContext(); break; case TransactionAffinity.Supported: ctx = new SupportedTransactionContext(); break; case TransactionAffinity.NotSupported: ctx = new NotSupportedTransactionContext(); break; default: throw new TransactionContextException(transactionAffinity.ToString() + "is not currently supported."); } if(ContextCreated != null) ContextCreated(null, new TCCreatedEventArgs(ctx)); return ctx; }