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()); }
internal ProcessManagerConfiguration(IProcessDependencyFactory <TState> factory) { _processDependencyFactory = factory; }