public void RegisterProcessManager <TState>(IProcessDependencyFactory <TState> processDependenciesfactory) where TState : class, IProcessState
        {
            _containerConfigurations.Add(new ProcessManagerConfiguration <TState>(processDependenciesfactory));
            _maps.Add(processDependenciesfactory.CreateRouteMap());


            //   RegisterStateAggregate<ProcessStateActor<TState>>(container);
            //    container.Register<ProcessStateActor<TState>>(c => new ProcessStateActor<TState>(persistentChildsRecycleConfiguration, process.GetType().BeautyName()));
            //var persistentChildsRecycleConfiguration = _processDependencyFactory.StateDependencyFactory.CreateRecycleConfiguration();
            //container.Register<ProcessManagerHubActor<TState>>(c => new ProcessManagerHubActor<TState>(persistentChildsRecycleConfiguration, process.GetType().BeautyName()));
            //for direct access to process state from repositories and for generalization
            //RegisterAggregate<ProcessStateAggregate<TState>>(processDependenciesfactory.StateDependencyFactory);

            var stateConfig = new ProcessStateAggregateConfiguration <TState>(processDependenciesfactory.StateDependencyFactory);

            _containerConfigurations.Add(stateConfig);
            _containerConfigurations.Add(new AggregateConfiguration <AggregateActor <ProcessStateAggregate <TState> >, ProcessStateAggregate <TState> >(processDependenciesfactory.StateDependencyFactory));

            _maps.Add(processDependenciesfactory.StateDependencyFactory.CreateRouteMap());
        }
Exemple #2
0
 internal ProcessManagerConfiguration(IProcessDependencyFactory <TState> factory)
 {
     _processDependencyFactory = factory;
 }