private void FindSubPrograms(PipeProgram parent) { parent.connectedPrograms.ForEach(z => { if (!programsInGroup.Any(p => p.name == z)) { var childProgram = programs.First(x => x.name == z); programsInGroup.Add(childProgram); FindSubPrograms(childProgram); } }); }
private void FindConnectedProgram(PipeProgram parent, List <PipeProgram> group) { parent.connectedPrograms.ForEach(z => { if (!group.Any(p => p.name == z)) { var childProgram = programs.First(x => x.name == z); group.Add(childProgram); programs.Remove(childProgram); FindConnectedProgram(childProgram, group); } }); }