@ -4517,19 +4517,19 @@ namespace Emby.Server.Implementations.Data
}
}
if ( query . HasImdbId . HasValue & & query . HasImdbId . Value )
if ( query . HasImdbId . HasValue )
{
whereClauses . Add ( "ProviderIds like '%imdb=%'" ) ;
whereClauses . Add ( GetProviderIdClause ( query . HasImdbId . Value , "imdb" ) ) ;
}
if ( query . HasTmdbId . HasValue & & query . HasTmdbId . Value )
if ( query . HasTmdbId . HasValue )
{
whereClauses . Add ( "ProviderIds like '%tmdb=%'" ) ;
whereClauses . Add ( GetProviderIdClause ( query . HasTmdbId . Value , "tmdb" ) ) ;
}
if ( query . HasTvdbId . HasValue & & query . HasTvdbId . Value )
if ( query . HasTvdbId . HasValue )
{
whereClauses . Add ( "ProviderIds like '%tvdb=%'" ) ;
whereClauses . Add ( GetProviderIdClause ( query . HasTvdbId . Value , "tvdb" ) ) ;
}
var includedItemByNameTypes = GetItemByNameTypesInQuery ( query ) . SelectMany ( MapIncludeItemTypes ) . ToList ( ) ;
@ -4769,6 +4769,21 @@ namespace Emby.Server.Implementations.Data
return whereClauses ;
}
/// <summary>
/// Formats a where clause for the specified provider.
/// </summary>
/// <param name="includeResults">Whether or not to include items with this provider's ids.</param>
/// <param name="provider">Provider name.</param>
/// <returns>Formatted SQL clause.</returns>
private string GetProviderIdClause ( bool includeResults , string provider )
{
return string . Format (
CultureInfo . InvariantCulture ,
"ProviderIds {0} like '%{1}=%'" ,
includeResults ? string . Empty : "not" ,
provider ) ;
}
private List < string > GetItemByNameTypesInQuery ( InternalItemsQuery query )
{
var list = new List < string > ( ) ;