public WorkflowDefinition BuildActionManager() { RegistryContainer.Register <WorkflowActionManager>( new WorkflowActionManager(() => new WorkflowStateManager(WorkflowStates[InitialWorkflowStateName]), () => this)); return(this); }
public WorkflowDefinition RegisterTypes() { RegistryContainer.Register <WorkflowActionRegistry>(new WorkflowActionRegistry(WorkflowActions)); RegistryContainer.Register <WorkflowStateRegistry>(new WorkflowStateRegistry(WorkflowStates)); RegistryContainer.Register <WorkflowEventRegistry>(new WorkflowEventRegistry(WorkflowEventActions)); RegistryContainer.Register <WorkflowListenerRegistry>(new WorkflowListenerRegistry(WorkflowListeners)); RegistryContainer.Register <WorkflowObjectTypeRegistry>(new WorkflowObjectTypeRegistry(WorkflowObjectTypes)); RegistryContainer.Register <WorkflowDatabaseEngine>(new WorkflowDatabaseEngine(() => new WorkflowSQLConnection(DatabaseConfig))); RegistryContainer.Register <WorkflowDefinition>(this); return(this); }
public static WorkflowCondition BuildFromConfig(WorkflowConditionalActionConfig workflowConditionalActionConfig) { var conditionalActions = new Dictionary <object, Func <WorkflowAction> >(); var registry = RegistryContainer.Resolve <WorkflowActionRegistry>(); workflowConditionalActionConfig .WorkflowConditions .ConditionalActions .ForEach(condition => conditionalActions[condition.OptionValue] = () => registry[condition.WorkflowAction]); return(new WorkflowCondition(workflowConditionalActionConfig.WorkflowConditions.ConditionalParamter, conditionalActions)); }
private void SetNewManager(WorkflowStateManager manager) { RegistryContainer.Register <WorkflowActionManager>( new WorkflowActionManager(() => manager, () => this)); }
public WorkflowActionManager CurrentActionManager() { return(RegistryContainer.Resolve <WorkflowActionManager>()); }
public WorkflowDefinition FindAction(Action <WorkflowActionRegistry> registryAction) { registryAction(RegistryContainer.Resolve <WorkflowActionRegistry>()); return(this); }