event based cleanup when a series is deleted.

This commit is contained in:
Keivan Beigi 2013-03-05 11:49:34 -08:00
commit 4877ce405e
11 changed files with 61 additions and 87 deletions

View file

@ -35,7 +35,9 @@ namespace NzbDrone.Core.Tv
List<Episode> EpisodesBetweenDates(DateTime start, DateTime end);
}
public class EpisodeService : IEpisodeService, IHandle<EpisodeGrabbedEvent>
public class EpisodeService : IEpisodeService,
IHandle<EpisodeGrabbedEvent>,
IHandleAsync<SeriesDeletedEvent>
{
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
@ -371,5 +373,11 @@ namespace NzbDrone.Core.Tv
_episodeRepository.Update(episode);
}
}
public void HandleAsync(SeriesDeletedEvent message)
{
var episodes = GetEpisodeBySeries(message.Series.Id);
_episodeRepository.DeleteMany(episodes);
}
}
}