public override void AfterTransactionBegin(IShardedTransaction transaction)
 {
     foreach (var shard in shards)
     {
         transaction.Enlist(shard.EstablishSession());
     }
 }
 public override void AfterTransactionCompletion(IShardedTransaction transaction, bool?success)
 {
 }
 public SetupTransactionOpenSessionEvent(IShardedTransaction shardedTtransaction)
 {
     this.shardedTransaction = shardedTtransaction;
 }
 public virtual void AfterTransactionCompletion(IShardedTransaction transaction, bool?success)
 {
     throw new NotSupportedException();
 }
 public virtual void AfterTransactionBegin(IShardedTransaction transaction)
 {
     throw new NotSupportedException();
 }
 public SetupTransactionOpenSessionEvent(IShardedTransaction shardedTtransaction)
 {
     shardedTransaction = shardedTtransaction;
 }
 public override void AfterTransactionCompletion(IShardedTransaction transaction, bool? success)
 {
 }
 public override void AfterTransactionBegin(IShardedTransaction transaction)
 {
     foreach (var shard in shards)
     {
         transaction.Enlist(shard.EstablishSession());
     }
 }