setTime(0, 0); $episodeAirDate = Carbon::parse($episodeInShow->airDate); return $episodeAirDate >= $monitorStartDate; } private function episodeExists(TmdbEpisodeDto $episodeInShow, Map $downloadedEpisodes): bool { return $downloadedEpisodes->filter( fn(object $episode) => $episode->episode === $episodeInShow->episodeNumber && $episode->season === $episodeInShow->seasonNumber )->count() > 0; } private function monitorExists(Monitor $monitor, TmdbEpisodeDto $episode): bool { return $this->monitorRepository->findOneBy([ 'imdbId' => $monitor->getImdbId(), 'title' => $monitor->getTitle(), 'monitorType' => 'tvepisode', 'season' => $episode->seasonNumber, 'episode' => $episode->episodeNumber, 'status' => ['New', 'Active', 'In Progress'] ]) !== null; } private function refreshData(Monitor $monitor) { if (null === $monitor->getPoster()) { $this->logger->info('> [MonitorTvShowHandler] Refreshing poster for "' . $monitor->getTitle() . '"'); $poster = $this->tmdb->tvshowDetails($monitor->getImdbId())->poster; if (null !== $poster && "" !== $poster) { $monitor->setPoster($poster); } } } }