public TransactionExecutionSaga(
     IChaosKitty chaosKitty,
     ITransactionExecutionsRepository repository,
     IStateSwitcher <TransactionExecutionAggregate> stateSwitcher)
 {
     _chaosKitty    = chaosKitty;
     _repository    = repository;
     _stateSwitcher = stateSwitcher;
 }
 public AcquireLockCommandHandler(IDistributedLocker locker,
                                  IChaosKitty chaosKitty,
                                  ITransactionExecutionsRepository repository,
                                  ILogFactory logFactory)
 {
     _locker     = locker;
     _chaosKitty = chaosKitty;
     _repository = repository;
     _log        = logFactory.CreateLog(this);
 }
 public LockSourceAddressCommandsHandler(
     ILogFactory logFactory,
     IChaosKitty chaosKitty,
     ITransactionExecutionsRepository transactionExecutionsRepository,
     ISourceAddresLocksRepoistory sourceAddresLocksRepoistory,
     RetryDelayProvider retryDelayProvider)
 {
     _log        = logFactory.CreateLog(this);
     _chaosKitty = chaosKitty;
     _transactionExecutionsRepository = transactionExecutionsRepository;
     _sourceAddresLocksRepoistory     = sourceAddresLocksRepoistory;
     _retryDelayProvider = retryDelayProvider;
 }
 public TransactionExecutionSaga(ITransactionExecutionsRepository repository,
                                 IChaosKitty chaosKitty)
 {
     _repository = repository;
     _chaosKitty = chaosKitty;
 }