public virtual object GetTaskTraceInfo(HttpContext context) { YZRequest request = new YZRequest(context); int taskid = request.GetInt32("TaskID"); BPMTask task; NodeItemCollection nodes = new NodeItemCollection(); LinkItemCollection links = new LinkItemCollection(); BPMStepCollection steps = new BPMStepCollection(); //获得数据 using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); task = BPMTask.Load(cn, taskid); BPMProcess.GetTaskTraceInfo(cn, task.ProcessName, task.ProcessVersion, out nodes, out links); steps = BPMTask.GetAllSteps(cn, taskid); } return(new { Task = this.SerializeTask(task), Process = new { Nodes = nodes, Links = links }, Steps = this.SerializeSteps(steps) }); }
public virtual DataTable Map(DataTable srcTable, NodeItemCollection nodes) { DataTable tagTable = new DataTable(srcTable.TableName); foreach (DataColumn column in srcTable.Columns) { tagTable.Columns.Add(column.ColumnName, column.DataType); } tagTable.Columns.Add("NodeName", typeof(string)); foreach (DataRow srcRow in srcTable.Rows) { NodeItem node = this.Find(nodes, Convert.ToString(srcRow["SpriteID"])); if (node != null) { DataRow tagRow = tagTable.NewRow(); tagTable.Rows.Add(tagRow); tagRow["NodeName"] = node.Name; foreach (DataColumn column in srcTable.Columns) { tagRow[column.ColumnName] = srcRow[column.ColumnName]; } } } return(tagTable); }
private T GetPermission(bool isFirst, int nodeID, int realNodeID, NodeItemCollection nodes) { T set; if (isFirst == false) { if (m_Cached.TryGetValue(realNodeID, out set)) { return(set); } } if (true == this.TryGetValue(nodeID, out set)) { if (set.NodeID != realNodeID) { T clone = (T)set.Clone(); clone.RealNodeID = realNodeID; if (false == m_Cached.ContainsKey(realNodeID)) { lock (m_Cached) { if (false == m_Cached.ContainsKey(realNodeID)) { m_Cached.Add(realNodeID, clone); } } } return(clone); } return(set); } if (nodeID != 0) { NodeItem nodeItem = nodes.GetValue(nodeID); if (nodeItem != null) { T t = GetPermission(false, nodeItem.ParentID, realNodeID, nodes); return(t); } } if (nodeID == 0) { T t = new T(); t.RealNodeID = realNodeID; return(t); } return(default(T)); }
protected virtual NodeItem Find(NodeItemCollection nodes, string spriteid) { foreach (NodeItem node in nodes) { if (String.Compare(node.RelatedSpriteId, spriteid, true) == 0) { return(node); } } return(null); }
public virtual object GetProcessDefine(HttpContext context) { YZRequest request = new YZRequest(context); string processName = request.GetString("processName"); Version version = request.GetVersion("version"); NodeItemCollection nodes = new NodeItemCollection(); LinkItemCollection links = new LinkItemCollection(); //获得数据 using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); BPMProcess.GetTaskTraceInfo(cn, processName, version, out nodes, out links); } return(new { Nodes = nodes, Links = links }); }