@ -4,7 +4,6 @@ using System.Linq;
using Dapper ;
using NLog ;
using NzbDrone.Core.Datastore ;
using NzbDrone.Core.Languages ;
using NzbDrone.Core.MediaFiles ;
using NzbDrone.Core.Messaging.Events ;
using NzbDrone.Core.Qualities ;
@ -23,7 +22,7 @@ namespace NzbDrone.Core.Tv
List < Episode > GetEpisodeByFileId ( int fileId ) ;
List < Episode > EpisodesWithFiles ( int seriesId ) ;
PagingSpec < Episode > EpisodesWithoutFiles ( PagingSpec < Episode > pagingSpec , bool includeSpecials ) ;
PagingSpec < Episode > EpisodesWhereCutoffUnmet ( PagingSpec < Episode > pagingSpec , List < QualitiesBelowCutoff > qualitiesBelowCutoff , List < LanguagesBelowCutoff > languagesBelowCutoff , bool includeSpecials ) ;
PagingSpec < Episode > EpisodesWhereCutoffUnmet ( PagingSpec < Episode > pagingSpec , List < QualitiesBelowCutoff > qualitiesBelowCutoff , bool includeSpecials ) ;
List < Episode > FindEpisodesBySceneNumbering ( int seriesId , int seasonNumber , int episodeNumber ) ;
List < Episode > FindEpisodesBySceneNumbering ( int seriesId , int sceneAbsoluteEpisodeNumber ) ;
List < Episode > EpisodesBetweenDates ( DateTime startDate , DateTime endDate , bool includeUnmonitored ) ;
@ -124,7 +123,7 @@ namespace NzbDrone.Core.Tv
return pagingSpec ;
}
public PagingSpec < Episode > EpisodesWhereCutoffUnmet ( PagingSpec < Episode > pagingSpec , List < QualitiesBelowCutoff > qualitiesBelowCutoff , List < LanguagesBelowCutoff > languagesBelowCutoff , bool includeSpecials )
public PagingSpec < Episode > EpisodesWhereCutoffUnmet ( PagingSpec < Episode > pagingSpec , List < QualitiesBelowCutoff > qualitiesBelowCutoff , bool includeSpecials )
{
var startingSeasonNumber = 1 ;
@ -133,10 +132,10 @@ namespace NzbDrone.Core.Tv
startingSeasonNumber = 0 ;
}
pagingSpec . Records = GetPagedRecords ( EpisodesWhereCutoffUnmetBuilder ( qualitiesBelowCutoff , languagesBelowCutoff, startingSeasonNumber) , pagingSpec , PagedQuery ) ;
pagingSpec . Records = GetPagedRecords ( EpisodesWhereCutoffUnmetBuilder ( qualitiesBelowCutoff , startingSeasonNumber) , pagingSpec , PagedQuery ) ;
var countTemplate = $"SELECT COUNT(*) FROM (SELECT /**select**/ FROM \" { TableMapping . Mapper . TableNameMapping ( typeof ( Episode ) ) } \ " /**join**/ /**innerjoin**/ /**leftjoin**/ /**where**/ /**groupby**/ /**having**/) AS \"Inner\"" ;
pagingSpec . TotalRecords = GetPagedRecordCount ( EpisodesWhereCutoffUnmetBuilder ( qualitiesBelowCutoff , languagesBelowCutoff, startingSeasonNumber) . Select ( typeof ( Episode ) ) , pagingSpec , countTemplate ) ;
pagingSpec . TotalRecords = GetPagedRecordCount ( EpisodesWhereCutoffUnmetBuilder ( qualitiesBelowCutoff , startingSeasonNumber) . Select ( typeof ( Episode ) ) , pagingSpec , countTemplate ) ;
return pagingSpec ;
}
@ -225,7 +224,7 @@ namespace NzbDrone.Core.Tv
currentTime . ToString ( "yyyy-MM-dd HH:mm:ss" ) ) ;
}
private SqlBuilder EpisodesWhereCutoffUnmetBuilder ( List < QualitiesBelowCutoff > qualitiesBelowCutoff , List < LanguagesBelowCutoff > languagesBelowCutoff , int startingSeasonNumber ) = > Builder ( )
private SqlBuilder EpisodesWhereCutoffUnmetBuilder ( List < QualitiesBelowCutoff > qualitiesBelowCutoff , int startingSeasonNumber ) = > Builder ( )
. Join < Episode , Series > ( ( e , s ) = > e . SeriesId = = s . Id )
. LeftJoin < Episode , EpisodeFile > ( ( e , ef ) = > e . EpisodeFileId = = ef . Id )
. Where < Episode > ( e = > e . EpisodeFileId ! = 0 )