Fixed: Refresh queue items for changed series
This commit is contained in:
parent
c81ae65461
commit
789cbd5496
|
@ -28,7 +28,8 @@ namespace NzbDrone.Core.Download.TrackedDownloads
|
||||||
|
|
||||||
public class TrackedDownloadService : ITrackedDownloadService,
|
public class TrackedDownloadService : ITrackedDownloadService,
|
||||||
IHandle<EpisodeInfoRefreshedEvent>,
|
IHandle<EpisodeInfoRefreshedEvent>,
|
||||||
IHandle<SeriesDeletedEvent>
|
IHandle<SeriesDeletedEvent>,
|
||||||
|
IHandle<SeriesEditedEvent>
|
||||||
{
|
{
|
||||||
private readonly IParsingService _parsingService;
|
private readonly IParsingService _parsingService;
|
||||||
private readonly IHistoryService _historyService;
|
private readonly IHistoryService _historyService;
|
||||||
|
@ -281,16 +282,35 @@ namespace NzbDrone.Core.Download.TrackedDownloads
|
||||||
public void Handle(SeriesDeletedEvent message)
|
public void Handle(SeriesDeletedEvent message)
|
||||||
{
|
{
|
||||||
var cachedItems = _cache.Values.Where(t =>
|
var cachedItems = _cache.Values.Where(t =>
|
||||||
t.RemoteEpisode?.Series != null &&
|
t.RemoteEpisode?.Series != null &&
|
||||||
message.Series.Any(s => s.Id == t.RemoteEpisode.Series.Id))
|
message.Series.Any(s => s.Id == t.RemoteEpisode.Series.Id))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
if (cachedItems.Any())
|
if (cachedItems.Empty())
|
||||||
{
|
{
|
||||||
cachedItems.ForEach(UpdateCachedItem);
|
return;
|
||||||
|
|
||||||
_eventAggregator.PublishEvent(new TrackedDownloadRefreshedEvent(GetTrackedDownloads()));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cachedItems.ForEach(UpdateCachedItem);
|
||||||
|
|
||||||
|
_eventAggregator.PublishEvent(new TrackedDownloadRefreshedEvent(GetTrackedDownloads()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Handle(SeriesEditedEvent message)
|
||||||
|
{
|
||||||
|
var cachedItems = _cache.Values.Where(t =>
|
||||||
|
t.RemoteEpisode?.Series != null &&
|
||||||
|
message.Series.Id == t.RemoteEpisode.Series.Id)
|
||||||
|
.ToList();
|
||||||
|
|
||||||
|
if (cachedItems.Empty())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
cachedItems.ForEach(UpdateCachedItem);
|
||||||
|
|
||||||
|
_eventAggregator.PublishEvent(new TrackedDownloadRefreshedEvent(GetTrackedDownloads()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -238,6 +238,15 @@ namespace NzbDrone.Core.Tv
|
||||||
_seriesRepository.UpdateMany(series);
|
_seriesRepository.UpdateMany(series);
|
||||||
_logger.Debug("{0} series updated", series.Count);
|
_logger.Debug("{0} series updated", series.Count);
|
||||||
|
|
||||||
|
var updatedSeries = GetSeries(series.Select(s => s.Id));
|
||||||
|
|
||||||
|
foreach (var s in updatedSeries)
|
||||||
|
{
|
||||||
|
var oldSeries = series.Single(c => c.Id == s.Id);
|
||||||
|
|
||||||
|
_eventAggregator.PublishEvent(new SeriesEditedEvent(s, oldSeries));
|
||||||
|
}
|
||||||
|
|
||||||
return series;
|
return series;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue