|
|
@ -31,8 +31,11 @@ namespace NzbDrone.Core.DecisionEngine.Specifications
|
|
|
|
public Decision IsSatisfiedBy(RemoteEpisode subject, SearchCriteriaBase searchCriteria)
|
|
|
|
public Decision IsSatisfiedBy(RemoteEpisode subject, SearchCriteriaBase searchCriteria)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var queue = _queueService.GetQueue();
|
|
|
|
var queue = _queueService.GetQueue();
|
|
|
|
var matchingSeries = queue.Where(q => q.RemoteEpisode.Series != null && q.RemoteEpisode.Series.Id == subject.Series.Id);
|
|
|
|
var matchingEpisode = queue.Where(q => q.RemoteEpisode != null &&
|
|
|
|
var matchingEpisode = matchingSeries.Where(q => q.RemoteEpisode.Episodes.Select(e => e.Id).Intersect(subject.Episodes.Select(e => e.Id)).Any());
|
|
|
|
q.RemoteEpisode.Series != null &&
|
|
|
|
|
|
|
|
q.RemoteEpisode.Series.Id == subject.Series.Id &&
|
|
|
|
|
|
|
|
q.RemoteEpisode.Episodes.Select(e => e.Id).Intersect(subject.Episodes.Select(e => e.Id)).Any())
|
|
|
|
|
|
|
|
.ToList();
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var queueItem in matchingEpisode)
|
|
|
|
foreach (var queueItem in matchingEpisode)
|
|
|
|
{
|
|
|
|
{
|
|
|
|