public void Setup() { _machine = new SuperShopper(); AutomatonymousStateUserType <SuperShopper> .SaveAsString(_machine); _sessionFactory = new SqlLiteSessionFactoryProvider(typeof(ShoppingChoreMap)).GetSessionFactory(); _repository = new NHibernateSagaRepository <ShoppingChore>(_sessionFactory); _stateMachineRepository = new AutomatonymousStateMachineSagaRepository <ShoppingChore>(_repository, x => false, Enumerable.Empty <StateMachineEventCorrelation <ShoppingChore> >()); _correlationId = NewId.NextGuid(); _test = TestFactory.ForSaga <ShoppingChore>().New(x => { x.UseStateMachineBuilder(_machine); x.UseSagaRepository(_stateMachineRepository); x.Publish(new GirlfriendYelling { CorrelationId = _correlationId }); x.Publish(new GotHitByACar { CorrelationId = _correlationId }); }); _test.Execute(); }
protected override void ConfigureLifetimeScope(ContainerBuilder builder) { builder.Register(CreateImageRetrievalSessionFactory) .SingleInstance(); builder.RegisterType <NHibernateSagaRepository <ImageRetrievalState> >() .As <ISagaRepository <ImageRetrievalState> >() .SingleInstance(); builder.RegisterType <AutofacStateMachineActivityFactory>() .As <IStateMachineActivityFactory>() .InstancePerLifetimeScope(); builder.RegisterType <SendRetrieveImageCommandConfigurationSettings>() .As <SendRetrieveImageCommandSettings>() .SingleInstance(); builder.RegisterType <SendRetrieveImageCommandActivity>(); builder.Register(context => { var stateMachineActivityFactory = context.Resolve <IStateMachineActivityFactory>(); var machine = new ImageRetrievalStateMachine(stateMachineActivityFactory); AutomatonymousStateUserType <ImageRetrievalStateMachine> .SaveAsString(machine); return(machine); }).SingleInstance(); builder.RegisterType <ImageRetrievalStateBusInstance>() .As <IServiceBusInstance>(); base.ConfigureLifetimeScope(builder); }
public void Setup() { _machine = new SuperShopper(); AutomatonymousStateUserType <SuperShopper> .SaveAsString(_machine); _sessionFactory = new SQLiteSessionFactoryProvider(typeof(ShoppingChoreMap)) .GetSessionFactory(); }
public static void StateProperty <T, TMachine>(this IClassMapper <T> mapper, Expression <Func <T, State> > stateExpression, TMachine machine) where T : class where TMachine : StateMachine, new() { AutomatonymousStateUserType <TMachine> .SaveAsString(machine); mapper.Property(stateExpression, x => { x.Type <AutomatonymousStateUserType <TMachine> >(); x.NotNullable(true); x.Length(80); }); }