public ISagaRepository <T> CreateSagaRepository <T>() where T : class, ISaga { var repository = _container.Resolve <ISagaRepository <T> >(); var scopeProvider = new UnitySagaScopeProvider <T>(_container); var sagaRepository = new ScopeSagaRepository <T>(repository, scopeProvider); return(sagaRepository); }
public ISagaRepository <T> CreateSagaRepository <T>(Action <ConsumeContext> scopeAction) where T : class, ISaga { var repository = _container.Resolve <ISagaRepository <T> >(); var scopeProvider = new UnitySagaScopeProvider <T>(_container); // if (scopeAction != null) // scopeProvider.AddScopeAction(scopeAction); var sagaRepository = new ScopeSagaRepository <T>(repository, scopeProvider); return(sagaRepository); }
public ISagaRepository <T> CreateSagaRepository <T>(Action <ConsumeContext> scopeAction) where T : class, ISaga { var repository = _container.Resolve <ISagaRepository <T> >(); if (repository is SagaRepository <T> ) { return(repository); } var scopeProvider = new UnitySagaScopeProvider <T>(_container); return(new ScopeSagaRepository <T>(repository, scopeProvider)); }