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));
 }