public PowerThread Build() { PowerThread result = new PowerThread(ObjectId, Name); result.Roles = BuildRoles(result.Context); result.Views = BuildViews(result.Context); result.Forms = BuildForms(result.Context); result.Variables = BuildVariables(result.Context); result.Nodes = BuildNodes(result.Context); // 引用关系 PatchNodes(result.Context); result.SetCurrentNode(PowerThreadDefaultNodes.DefaultStartNode); result.SetState(Enums.PowerThreadState.Initial); return(result); }
public PowerThread BuildFromSink(Guid threadId, string sinkJson) { if (sinkJson != null) { PowerThread result = JsonConvert.DeserializeObject <PowerThread>(sinkJson); /**/ result.Context = new PowerThreadContext(result); result.CurrentNode = result.Nodes.First(p => p.ObjectId == result.CurrentNode.ObjectId); PatchNodes(result.Context); return(result); } return(null); }
public PowerThreadContext(PowerThread powerThread) { this.PowerThread = powerThread; }