Witam.
Piszę z pytaniem, ponieważ już próbowałem wielu rzeczy i jednak jestem na to za głupi. Potrzebuje nakierowania jak sprawdzić czy dwa elementy kalendarza się zazębiają.
To niestety nie działa
private bool IsInRange(DateTime start1, DateTime end1, DateTime start2, DateTime end2)
{
return (start1 == start2 && end1 == end2) ||
(start1 < start2 && end1 < end2 && start1 < end2 && end1 > start2) ||
(start1 > start2 && end1 > end2 && start1 < end2 && end1 > start2) ||
(start1 > start2 && end1 < end2 && start1 < end2 && end1 > start2) ||
(start1 < start2 && end1 == end2 && start1 < end2 && end1 > start2) ||
(start1 == start2 && end1 < end2 && start1 < end2 && end1 > start2);
}
Większość odpowiedzi na SO jest gdy chce sprawdzić czy data (jedna) zawiera się w przedziale dat. Ja niestety muszę sprawdzić czy przedziały dat się zazębiają. Czy to na zrzucie to nie jest przypadkiem ten warunek start1 == start2 && end1 < end2 && start1 < end2 && end1 > start2
?