Есть справочник задач, который может иметь конкретную дату начала и конца или может иметь дату начала как дату начала\конца связанной задачи или дату конца как дату начала\конца связанной задачи. Так вот проблем нет когда в задаче указывается либо конкретная дата конца\начала, либо одна связанная задача на дате начала и\или одна связанная задача на дате конца.
Теперь задача стоит в том, чтобы можно было указать сколько угодно связанных задач, причем у связанных задач может быть также указано сколько угодно связанных задач и т.д.
И теперь как-то нужно у текущей задачи получить крайние даты начала и конца относительно связанных задач.
Мне на ум только лезит - циклично обрабатывать связанные задачи у каждой связанной задачи, но это бренд, т.к. эта иерархия может быть очень большой.
Не могу понять как это можно сделать один-двумя циклами.