コード例 #1
0
        private void Handle(FlowNodeInstanceAddedEvent evt)
        {
            var instance = new FlowNodeInstance {
                FlowNodeId = evt.FlowNodeId, EltId = evt.FlowNodeInstanceId
            };

            ElementInstances.Add(instance);
            Version        = evt.Version;
            UpdateDateTime = evt.CreateDateTime;
        }
コード例 #2
0
 public override object Clone()
 {
     return(new ProcessInstanceAggregate
     {
         AggregateId = AggregateId,
         ProcessFileId = ProcessFileId,
         ProcessFileName = ProcessFileName,
         Version = Version,
         CreateDateTime = CreateDateTime,
         UpdateDateTime = UpdateDateTime,
         Status = Status,
         SequenceFlows = SequenceFlows.Select(_ => (SequenceFlow)_.Clone()).ToList(),
         SerializedElementDefs = SerializedElementDefs.Select(_ => (SerializedFlowNodeDefinition)_.Clone()).ToList(),
         ElementInstances = ElementInstances.Select(_ => (FlowNodeInstance)_.Clone()).ToList(),
         ExecutionPathLst = ExecutionPathLst.Select(_ => (ExecutionPath)_.Clone()).ToList(),
         ItemDefs = ItemDefs.Select(_ => (ItemDefinition)_.Clone()).ToList(),
         Messages = Messages.Select(_ => (Message)_.Clone()).ToList(),
         Interfaces = Interfaces.Select(_ => (BPMNInterface)_.Clone()).ToList(),
         StateTransitions = StateTransitions.Select(_ => (StateTransitionToken)_.Clone()).ToList()
     });
 }
コード例 #3
0
 public override object Clone()
 {
     return(new ProcessInstanceAggregate
     {
         AggregateId = AggregateId,
         ProcessFileId = ProcessFileId,
         ProcessFileName = ProcessFileName,
         Version = Version,
         CreateDateTime = CreateDateTime,
         UpdateDateTime = UpdateDateTime,
         Status = Status,
         SequenceFlows = new ConcurrentBag <SequenceFlow>(SequenceFlows.Select(_ => (SequenceFlow)_.Clone())),
         ElementDefs = new ConcurrentBag <BaseFlowNode>(ElementDefs.Select(_ => (BaseFlowNode)_.Clone())),
         ElementInstances = new ConcurrentBag <FlowNodeInstance>(ElementInstances.Select(_ => (FlowNodeInstance)_.Clone())),
         ExecutionPathLst = new ConcurrentBag <ExecutionPath>(ExecutionPathLst.Select(_ => (ExecutionPath)_.Clone())),
         ItemDefs = new ConcurrentBag <ItemDefinition>(ItemDefs.Select(_ => (ItemDefinition)_.Clone())),
         Messages = new ConcurrentBag <Message>(Messages.Select(_ => (Message)_.Clone())),
         Interfaces = new ConcurrentBag <BPMNInterface>(Interfaces.Select(_ => (BPMNInterface)_.Clone())),
         StateTransitions = new ConcurrentBag <StateTransitionNotification>(StateTransitions.Select(_ => (StateTransitionNotification)_.Clone()))
     });
 }
コード例 #4
0
 public FlowNodeInstance GetActiveInstance(string elementId)
 {
     return(ElementInstances.FirstOrDefault(_ => _.EltId == elementId && _.State == FlowNodeStates.Active));
 }
コード例 #5
0
 public FlowNodeInstance GetInstance(string id)
 {
     return(ElementInstances.FirstOrDefault(_ => _.EltId == id));
 }