private void RenderStatus(WfProcessCurrentInfoCollection atpc, UserIMAddressCollection extendInfo, HtmlTextWriter writer) { WfProcessCurrentInfo atp = null; if (this.ProcessID.IsNotEmpty()) { atp = atpc.Find(a => string.Compare(a.InstanceID, this.ProcessID, true) == 0); } else { if (this.ResourceID.IsNotEmpty()) { atp = atpc.Find(a => string.Compare(a.ResourceID, this.ResourceID, true) == 0); } } if (atp != null) { writer.Write(WebControlUtility.GetControlHtml(CreateStatusDisplayControl(atp, extendInfo))); } }
protected override void OnAfterQuery(System.Data.DataView result) { base.OnAfterQuery(result); List <string> resourceIDList = new List <string>(); List <string> processIDList = new List <string>(); foreach (DataRowView rowView in result) { if (!resourceIDList.Contains(rowView["RESOURCE_ID"].ToString())) { resourceIDList.Add(rowView["RESOURCE_ID"].ToString()); } if (!processIDList.Contains(rowView["PROCESS_ID"].ToString())) { processIDList.Add(rowView["PROCESS_ID"].ToString()); } } var atpc = new WfProcessCurrentInfoCollection(); WfProcessCurrentInfoCollection resourceAtpc = WfProcessCurrentInfoAdapter.Instance.Load(resourceIDList.ToArray()); WfProcessCurrentInfoCollection processAtpc = WfProcessCurrentInfoAdapter.Instance.LoadByProcessID(processIDList.ToArray()); resourceAtpc.ForEach(atp => { if (atpc.Exists(p => p.InstanceID == atp.InstanceID) == false) { atpc.Add(atp); } }); processAtpc.ForEach(atp => { if (atpc.Exists(p => p.InstanceID == atp.InstanceID) == false) { atpc.Add(atp); } }); result.Table.Columns.Add("Status"); foreach (DataRowView rowView in result) { var processInfo = atpc.Find(p => p.InstanceID == rowView["PROCESS_ID"].ToString() || p.ResourceID == rowView["RESOURCE_ID"].ToString()); rowView["Status"] = processInfo != null ? (int)processInfo.Status : 0; } }
protected override void OnAfterQuery(System.Data.DataView result) { base.OnAfterQuery(result); List<string> resourceIDList = new List<string>(); List<string> processIDList = new List<string>(); foreach (DataRowView rowView in result) { if (!resourceIDList.Contains(rowView["RESOURCE_ID"].ToString())) resourceIDList.Add(rowView["RESOURCE_ID"].ToString()); if (!processIDList.Contains(rowView["PROCESS_ID"].ToString())) processIDList.Add(rowView["PROCESS_ID"].ToString()); } var atpc = new WfProcessCurrentInfoCollection(); WfProcessCurrentInfoCollection resourceAtpc = WfProcessCurrentInfoAdapter.Instance.Load(resourceIDList.ToArray()); WfProcessCurrentInfoCollection processAtpc = WfProcessCurrentInfoAdapter.Instance.LoadByProcessID(processIDList.ToArray()); resourceAtpc.ForEach(atp => { if (atpc.Exists(p => p.InstanceID == atp.InstanceID) == false) atpc.Add(atp); }); processAtpc.ForEach(atp => { if (atpc.Exists(p => p.InstanceID == atp.InstanceID) == false) atpc.Add(atp); }); result.Table.Columns.Add("Status"); foreach (DataRowView rowView in result) { var processInfo = atpc.Find(p => p.InstanceID == rowView["PROCESS_ID"].ToString() || p.ResourceID == rowView["RESOURCE_ID"].ToString()); rowView["Status"] = processInfo != null ? (int)processInfo.Status : 0; } }
private void RenderStatus(WfProcessCurrentInfoCollection atpc, UserIMAddressCollection extendInfo, HtmlTextWriter writer) { WfProcessCurrentInfo atp = null; if (this.ProcessID.IsNotEmpty()) { atp = atpc.Find(a => string.Compare(a.InstanceID, this.ProcessID, true) == 0); } else { if (this.ResourceID.IsNotEmpty()) atp = atpc.Find(a => string.Compare(a.ResourceID, this.ResourceID, true) == 0); } if (atp != null) writer.Write(WebControlUtility.GetControlHtml(CreateStatusDisplayControl(atp, extendInfo))); }