public static List <WorkflowLane> GetAllLanes(WorkflowLaneSet workflowLaneSet) { List <WorkflowLane> Allitems = new List <WorkflowLane>(); if (workflowLaneSet != null) { foreach (WorkflowLane item in workflowLaneSet.Lanes) { WorkflowLane.getChildren(item, Allitems); } } return(Allitems); }
private static void getChildren(WorkflowLane current, List <WorkflowLane> Allitems) { if (!Allitems.Any(c => c.ID == current.ID)) { Allitems.Add(current); } if (current.ChildLaneSets != null) { foreach (WorkflowChildLaneSet Childitem in current.ChildLaneSets) { if (Childitem.Lanes != null) { foreach (WorkflowLane item in Childitem.Lanes) { WorkflowLane.getChildren(item, Allitems); } } } } }