Fixed: Delete all history for series when series is removed from Sonarr

This commit is contained in:
Mark McDowall 2016-07-20 15:53:49 -07:00
parent 857d661ff1
commit b232cc3081
2 changed files with 14 additions and 1 deletions

View File

@ -15,6 +15,7 @@ namespace NzbDrone.Core.History
History MostRecentForDownloadId(string downloadId);
List<History> FindByDownloadId(string downloadId);
List<History> FindDownloadHistory(int idSeriesId, QualityModel quality);
void DeleteForSeries(int seriesId);
}
public class HistoryRepository : BasicRepository<History>, IHistoryRepository
@ -63,6 +64,11 @@ namespace NzbDrone.Core.History
).ToList();
}
public void DeleteForSeries(int seriesId)
{
Delete(c => c.SeriesId == seriesId);
}
protected override SortBuilder<History> GetPagedQuery(QueryBuilder<History> query, PagingSpec<History> pagingSpec)
{
var baseQuery = query.Join<History, Series>(JoinType.Inner, h => h.Series, (h, s) => h.SeriesId == s.Id)

View File

@ -13,6 +13,7 @@ using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Parser.Model;
using NzbDrone.Core.Profiles;
using NzbDrone.Core.Qualities;
using NzbDrone.Core.Tv.Events;
namespace NzbDrone.Core.History
{
@ -31,7 +32,8 @@ namespace NzbDrone.Core.History
IHandle<EpisodeGrabbedEvent>,
IHandle<EpisodeImportedEvent>,
IHandle<DownloadFailedEvent>,
IHandle<EpisodeFileDeletedEvent>
IHandle<EpisodeFileDeletedEvent>,
IHandle<SeriesDeletedEvent>
{
private readonly IHistoryRepository _historyRepository;
private readonly Logger _logger;
@ -255,5 +257,10 @@ namespace NzbDrone.Core.History
_historyRepository.Insert(history);
}
}
public void Handle(SeriesDeletedEvent message)
{
_historyRepository.DeleteForSeries(message.Series.Id);
}
}
}