Kannst du denn nicht alles in eine Tabelle schreiben und dann einfach mit
SQL fgragen, welche überlappend sind und wieviele es gibt ? Da kommt es dann drauf an, wie du überlappened definierst, reicht es, wenn das Enddatum des einen Termins im Bereich des neuen Termins ist ?
Code:
SELECT * FROM Termine WHERE (Startdate BETWEEN :NewStartDate AND :NewEndDate) -- Alle die im neuen Terminbereich auch anfangen
OR (Enddate BETWEEN :NewStartDate AND :NewEndDate) -- Alle die im neuen Bereich aufhöhren
OR (:NewStartDate BETWEEN StartDate AND EndDate) -- Alle wo der anfang des neuen zwischen start und ende eines vorhanden ist
Denke mal, das sollte alles abdecken
Wenn du da noch einen "Select Count()" drumherum machst, weisst, wieviele bei rumkommen