/** * Does the given alert match the given covoit. * * @param CovoitAlert $alert * @param Covoit $covoit * @return bool */ private function match(CovoitAlert $alert, Covoit $covoit) { if ($alert->getStartCity() && $alert->getStartCity()->getId() != $covoit->getStartCity()->getId()) { return false; } if ($alert->getEndCity() && $alert->getEndCity()->getId() != $covoit->getEndCity()->getId()) { return false; } if ($alert->getPriceMax() && $alert->getPriceMax() < $covoit->getPrice()) { return false; } if ($alert->getStartDate() && $alert->getEndDate()) { if ($alert->getStartDate() > $covoit->getDate() || $alert->getEndDate() < $covoit->getDate()) { return false; } } elseif ($alert->getStartDate() && !$alert->getEndDate()) { if ($alert->getStartDate() != $covoit->getDate()) { return false; } } elseif (!$alert->getStartDate() && $alert->getEndDate()) { if ($alert->getEndDate() < $covoit->getDate()) { return false; } } return true; }