Missing will not include series and episodes that are not monitored

pull/6/head
Mark McDowall 12 years ago
parent 8388e0a77c
commit 92bab993ae

@ -16,6 +16,7 @@ namespace NzbDrone.Core.Test.TvTests.EpisodeRepositoryTests
var series = Builder<Series>.CreateNew() var series = Builder<Series>.CreateNew()
.With(s => s.Id = 0) .With(s => s.Id = 0)
.With(s => s.Runtime = 30) .With(s => s.Runtime = 30)
.With(s => s.Monitored = true)
.Build(); .Build();
series.Id = Db.Insert(series).Id; series.Id = Db.Insert(series).Id;

@ -49,6 +49,7 @@ namespace NzbDrone.Core.Datastore
Mapper.Entity<Episode>().RegisterModel("Episodes") Mapper.Entity<Episode>().RegisterModel("Episodes")
.Ignore(e => e.SeriesTitle) .Ignore(e => e.SeriesTitle)
.Ignore(e => e.Series)
.Ignore(e => e.HasFile) .Ignore(e => e.HasFile)
.Relationship() .Relationship()
.HasOne(episode => episode.EpisodeFile, episode => episode.EpisodeFileId); .HasOne(episode => episode.EpisodeFile, episode => episode.EpisodeFileId);

@ -26,6 +26,8 @@ namespace NzbDrone.Core.Tv
public LazyLoaded<EpisodeFile> EpisodeFile { get; set; } public LazyLoaded<EpisodeFile> EpisodeFile { get; set; }
public Series Series { get; set; }
public Boolean HasFile public Boolean HasFile
{ {
get { return EpisodeFileId > 0; } get { return EpisodeFileId > 0; }

@ -84,9 +84,12 @@ namespace NzbDrone.Core.Tv
startingSeasonNumber = 0; startingSeasonNumber = 0;
} }
var pagingQuery = Query.Where(e => e.EpisodeFileId == 0) var pagingQuery = Query.Join<Episode, Series>(JoinType.Inner, e => e.Series, (e, s) => e.SeriesId == s.Id)
.Where(e => e.EpisodeFileId == 0)
.AndWhere(e => e.SeasonNumber >= startingSeasonNumber) .AndWhere(e => e.SeasonNumber >= startingSeasonNumber)
.AndWhere(e => e.AirDate <= currentTime) .AndWhere(e => e.AirDate <= currentTime)
.AndWhere(e => e.Monitored)
.AndWhere(e => e.Series.Monitored)
.OrderBy(pagingSpec.OrderByClause(), pagingSpec.ToSortDirection()) .OrderBy(pagingSpec.OrderByClause(), pagingSpec.ToSortDirection())
.Skip(pagingSpec.PagingOffset()) .Skip(pagingSpec.PagingOffset())
.Take(pagingSpec.PageSize); .Take(pagingSpec.PageSize);

Loading…
Cancel
Save