public void BuildProcessDefinitionTest() { ProcessDefinitionBuildService service = new ProcessDefinitionBuildService(helloWorld1()); ProcessDefinitionImpl processDefinition = service.BuildProcessDefinition(); Assert.AreEqual("Hello world 1", processDefinition.Name); Assert.AreEqual("This is the simples process.", processDefinition.Description); Assert.AreEqual(3, processDefinition.Nodes.Count); Assert.IsNotNull(processDefinition.StartState); Assert.AreEqual("start", processDefinition.StartState.Name); Assert.AreEqual(1, processDefinition.StartState.LeavingTransitions.Count); foreach (var node in processDefinition.Nodes) { INode no = node as INode; if (no != null && no.Name == "first activity state") { Assert.AreEqual("this is the first state", no.Description); Assert.AreEqual(1, no.LeavingTransitions.Count); ActivityStateImpl activityState = no as ActivityStateImpl; if (activityState != null) { Assert.IsNotNull(activityState.AssignmentDelegation); Assert.AreEqual("NetBpm.Workflow.Delegation.Impl.Assignment.AssignmentExpressionResolver, NetBpm", activityState.AssignmentDelegation.ClassName); Assert.AreEqual("<cfg><parameter name=\"expression\">processInitiator</parameter></cfg>", activityState.AssignmentDelegation.Configuration); } } } }
public void DeployProcessArchive(byte[] processArchiveBytes) { ParFile parFile = new ParFile(processArchiveBytes); ProcessDefinitionBuildService buildService = new ProcessDefinitionBuildService(parFile.ProcessDefinition); ProcessDefinitionImpl processDefinition = buildService.BuildProcessDefinition(); using (ISession session = NHibernateHelper.OpenSession()) { DbSession nhSession = new DbSession(session); repository.Save(processDefinition, nhSession); } }