public void Reboot(string instanceID, string categoryCode, string id) { WorkflowInstance wfInstance = WorkflowInstance.GetInstance(instanceID); string resourceXml = wfInstance.Resource; CommandBus.Dispatch(new DeleteWFRecord(), instanceID); string newInstanceID = WorkflowEngine.Instance.Start(resourceXml); Bridge bridge = _bridgeService.GetBridge(id); bridge.InstanceID = newInstanceID; CommandBus.Dispatch(new UpdateBridge(), bridge); var user = _actorService.GetUserByID(bridge.Creator); WorkflowInstance instance = WorkflowInstance.GetInstance(newInstanceID); var current = GetCurrent(instance, bridge.Creator); string serialObject = GetAuditNext(current, categoryCode, bridge.Creator, user.Name, out string selectTransitionID); WorkflowEngine.Instance.Jump(new WorkflowContext() { Instance = instance, ActorID = bridge.Creator, Message = String.Empty, TransitionID = selectTransitionID, Current = GetCurrent(instance, bridge.Creator), Data = Newtonsoft.Json.JsonConvert.DeserializeObject(serialObject) }); }
public void Reboot(WorkflowDeleteDto dto) { WorkflowInstance wfInstance = WorkflowInstance.GetInstance(dto.InstanceID); string resourceXml = wfInstance.Resource; CommandBus.Dispatch <string>(new DeleteWFRecord(), dto.InstanceID); string instanceID = WorkflowEngine.Instance.Start(resourceXml); Bridge bridge = _bridgeService.GetBridge(dto.Key); bridge.InstanceID = instanceID; CommandBus.Dispatch <Bridge>(new UpdateBridge(), bridge); WorkflowInstance instance = WorkflowInstance.GetInstance(instanceID); var current = GetCurrent(instance, bridge.Creator); List <Transition> transitions = NodeService.GetExecuteTransition(current); Transition transitionSelect = transitions.FirstOrDefault(); Node nextNode = NodeService.FindNodeByID(transitionSelect.Destination, instanceID); var node = NodeService.GetNode(nextNode); List <string> groupIDs = new List <string>(); List <string> actorIDs = new List <string>(); List <string> carbonIDs = new List <string>(); List <string> organizationIDs = new List <string>(); foreach (Group g in node.Groups) { groupIDs.Add(g.ID.ToString()); } foreach (Carbon c in node.Carbons) { carbonIDs.Add(c.ID.ToString()); } foreach (Actor item in node.Actors) { actorIDs.Add(item.ID); } foreach (Smartflow.Elements.Organization item in node.Organizations) { organizationIDs.Add(item.ID); } var serialObject = Newtonsoft.Json.JsonConvert.SerializeObject(new { CategoryCode = dto.CategoryCode, UUID = bridge.Creator, bridge.Name, Group = string.Join(",", groupIDs), Actor = string.Join(",", actorIDs), Carbon = string.Join(",", carbonIDs), Organization = string.Join(",", organizationIDs) }); WorkflowEngine.Instance.Jump(new WorkflowContext() { Instance = instance, ActorID = bridge.Creator, Message = String.Empty, TransitionID = transitionSelect.NID, Current = GetCurrent(instance, bridge.Creator), Data = Newtonsoft.Json.JsonConvert.DeserializeObject(serialObject) }); }
public BridgeDto GetBridge(string id) { return(_mapper.Map <Bridge, BridgeDto>(_bridgeService.GetBridge(id))); }
public BridgeDto GetBridge(string id) { return(EmitCore.Convert <Bridge, BridgeDto>(_bridgeService.GetBridge(id))); }