Beispiel #1
0
 public StateMachineSubscriptionBuilder(StateMachine <TInstance> stateMachine,
                                        StateMachineSagaRepository <TInstance> repository,
                                        ReferenceFactory referenceFactory)
 {
     _connector        = new StateMachineConnector <TInstance>(stateMachine, repository);
     _referenceFactory = referenceFactory;
 }
        public static UnsubscribeAction SubscribeStateMachineSaga <TInstance>(
            this IServiceBus bus, StateMachine <TInstance> stateMachine, ISagaRepository <TInstance> sagaRepository)
            where TInstance : class, SagaStateMachineInstance
        {
            var stateMachineSagaRepositoryConfigurator =
                new StateMachineSagaRepositoryConfiguratorImpl <TInstance>(stateMachine, sagaRepository);

            StateMachineSagaRepository <TInstance> repository = stateMachineSagaRepositoryConfigurator.Configure();

            var connector = new StateMachineConnector <TInstance>(stateMachine, repository);

            return(bus.Configure(x => connector.Connect(x)));
        }
        public static StateMachineSubscriptionConfigurator <TInstance> StateMachineSaga <TInstance>(
            this SubscriptionBusServiceConfigurator configurator, StateMachine <TInstance> stateMachine,
            ISagaRepository <TInstance> sagaRepository)
            where TInstance : class, SagaStateMachineInstance
        {
            var stateMachineSagaRepositoryConfigurator =
                new StateMachineSagaRepositoryConfiguratorImpl <TInstance>(stateMachine, sagaRepository);

            StateMachineSagaRepository <TInstance> repository = stateMachineSagaRepositoryConfigurator.Configure();

            var stateMachineConfigurator = new StateMachineSubscriptionConfiguratorImpl <TInstance>(stateMachine,
                                                                                                    repository);

            var busServiceConfigurator = new SubscriptionBusServiceBuilderConfiguratorImpl(stateMachineConfigurator);

            configurator.AddConfigurator(busServiceConfigurator);

            return(stateMachineConfigurator);
        }
 public StateMachineSubscriptionConfiguratorImpl(StateMachine <TInstance> stateMachine,
                                                 StateMachineSagaRepository <TInstance> repository)
 {
     _stateMachine = stateMachine;
     _repository   = repository;
 }