public CorrelatedStateMachineSubscriptionConnector(StateMachine <TInstance> stateMachine, ISagaRepository <TInstance> sagaRepository, Event <TMessage> dataEvent, IEnumerable <State> states, StateMachinePolicyFactory <TInstance> policyFactory, Expression <Func <TInstance, bool> > removeExpression) { _stateMachine = stateMachine; _sagaRepository = sagaRepository; _dataEvent = dataEvent; _policy = policyFactory.GetPolicy <TMessage>(states, x => x.CorrelationId, removeExpression); }
public ExpressionStateMachineSubscriptionConnector(StateMachine <TInstance> stateMachine, ISagaRepository <TInstance> sagaRepository, Event <TMessage> dataEvent, IEnumerable <State> states, StateMachinePolicyFactory <TInstance> policyFactory, Expression <Func <TInstance, bool> > removeExpression, Expression <Func <TInstance, TMessage, bool> > selector, Func <TMessage, Guid> correlationIdSelector) { _stateMachine = stateMachine; _sagaRepository = sagaRepository; _dataEvent = dataEvent; _selector = selector; _policy = policyFactory.GetPolicy(states, correlationIdSelector, removeExpression); }