public void DefineProcess(tProcess process, Guid definitionKey) { BpmnProcess procDef = new BpmnProcess(); procDef.DefinitionKey = definitionKey; procDef.Id = process.id; procDef.Name = process.name; procDef.IsExecutable = process.isExecutable; procDef.IsClosed = process.isClosed; processStore.Create(procDef); //SetProperty(process.property); Dictionary <string, Guid> ItemsKeys = new Dictionary <string, Guid>(); //Dictionary<Guid, ProcessItemDefinition> itemProcs = new Dictionary<Guid, ProcessItemDefinition>(); foreach (var item in process.Items.OfType <tFlowNode>()) { BpmnFlowNode node = new BpmnFlowNode(); node.Id = item.id; node.Name = item.name; node.ItemType = ProcessItem.GetProcessType(item); ItemsKeys.Add(item.id, node.Key); flowNodeStore.Create(node); } foreach (var flow in process.Items.OfType <tSequenceFlow>()) { BpmnSequenceFlow seqFlow = new BpmnSequenceFlow(); seqFlow.Id = flow.id; seqFlow.Name = flow.name; Guid ItemSourceRef; if (ItemsKeys.TryGetValue(flow.sourceRef, out ItemSourceRef)) { seqFlow.ItemSourceRef = ItemSourceRef; } Guid ItemTargetRef; if (ItemsKeys.TryGetValue(flow.targetRef, out ItemTargetRef)) { seqFlow.ItemSourceTarget = ItemTargetRef; } if (flow.conditionExpression != null) { seqFlow.ConditionExpression = string.Join(" ", flow.conditionExpression.Text); } sequenceFlowStore.Create(seqFlow); } }
public Task OnCompleteAsync <TInstanceFlow>(IProcessInstance <TInstanceFlow> instance, BpmnSequenceFlow flow, CancellationToken cancellationToken) where TInstanceFlow : IBpmNetInstanceFlow { return(Task.FromResult(0)); }