@ -607,6 +607,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var item = _libraryManager . GetItemById ( id ) as LiveTvProgram ;
var isNew = false ;
var forceUpdate = false ;
if ( item = = null )
{
@ -621,7 +622,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv
} ;
}
item . ChannelType = channelType ;
//item.ChannelType = channelType;
if ( ! string . Equals ( item . ServiceName , serviceName , StringComparison . Ordinal ) )
{
forceUpdate = true ;
}
item . ServiceName = serviceName ;
item . Audio = info . Audio ;
@ -666,7 +671,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
{
await _libraryManager . CreateItem ( item , cancellationToken ) . ConfigureAwait ( false ) ;
}
else if ( string . IsNullOrWhiteSpace ( info . Etag ) )
else if ( forceUpdate | | string . IsNullOrWhiteSpace ( info . Etag ) )
{
await _libraryManager . UpdateItem ( item , ItemUpdateType . MetadataImport , cancellationToken ) . ConfigureAwait ( false ) ;
}
@ -814,7 +819,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv
public async Task < QueryResult < BaseItemDto > > GetPrograms ( ProgramQuery query , DtoOptions options , CancellationToken cancellationToken )
{
var internalQuery = new InternalItemsQuery
var user = string . IsNullOrEmpty ( query . UserId ) ? null : _userManager . GetUserById ( query . UserId ) ;
var internalQuery = new InternalItemsQuery ( user )
{
IncludeItemTypes = new [ ] { typeof ( LiveTvProgram ) . Name } ,
MinEndDate = query . MinEndDate ,
@ -832,11 +839,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
SortOrder = query . SortOrder ? ? SortOrder . Ascending
} ;
var user = string . IsNullOrEmpty ( query . UserId ) ? null : _userManager . GetUserById ( query . UserId ) ;
if ( user ! = null )
{
internalQuery . MaxParentalRating = user . Policy . MaxParentalRating ;
if ( user . Policy . BlockUnratedItems . Contains ( UnratedItem . LiveTvProgram ) )
{
internalQuery . HasParentalRating = true ;
@ -874,7 +878,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv
public async Task < QueryResult < LiveTvProgram > > GetRecommendedProgramsInternal ( RecommendedProgramQuery query , CancellationToken cancellationToken )
{
var internalQuery = new InternalItemsQuery
var user = _userManager . GetUserById ( query . UserId ) ;
var internalQuery = new InternalItemsQuery ( user )
{
IncludeItemTypes = new [ ] { typeof ( LiveTvProgram ) . Name } ,
IsAiring = query . IsAiring ,
@ -895,11 +901,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
}
}
var user = _userManager . GetUserById ( query . UserId ) ;
if ( user ! = null )
{
internalQuery . MaxParentalRating = user . Policy . MaxParentalRating ;
if ( user . Policy . BlockUnratedItems . Contains ( UnratedItem . LiveTvProgram ) )
{
internalQuery . HasParentalRating = true ;
@ -1037,6 +1040,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv
{
var internalProgram = GetInternalProgram ( program . Id ) ;
if ( string . IsNullOrWhiteSpace ( internalProgram . ServiceName ) )
{
continue ;
}
List < TimerInfo > timerList ;
if ( ! timers . TryGetValue ( internalProgram . ServiceName , out timerList ) )
{
@ -1052,7 +1060,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
}
}
var timer = timerList . FirstOrDefault ( i = > string . Equals ( i . ProgramId , internalProgram . ExternalId , StringComparison . OrdinalIgnoreCase ) ) ;
if ( timer ! = null )
@ -1429,18 +1436,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
public void AddInfoToProgramDto ( BaseItem item , BaseItemDto dto , bool addChannelInfo , User user = null )
{
var program = ( LiveTvProgram ) item ;
var service = GetService ( program ) ;
dto . Id = _tvDtoService . GetInternalProgramId ( service . Name , program . ExternalId ) . ToString ( "N" ) ;
dto . StartDate = program . StartDate ;
dto . EpisodeTitle = program . EpisodeTitle ;
dto . Audio = program . Audio ;
if ( program . IsHD . HasValue & & program . IsHD . Value )
{
dto . IsHD = program . IsHD ;
}
if ( program . IsRepeat )
{
dto . IsRepeat = program . IsRepeat ;
@ -1499,7 +1498,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var info = recording ;
dto . Id = item . Id . ToString ( "N" ) ;
dto . SeriesTimerId = string . IsNullOrEmpty ( info . SeriesTimerId )
? null
: _tvDtoService . GetInternalSeriesTimerId ( service . Name , info . SeriesTimerId ) . ToString ( "N" ) ;
@ -1508,8 +1506,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
dto . RecordingStatus = info . Status ;
dto . IsRepeat = info . IsRepeat ;
dto . EpisodeTitle = info . EpisodeTitle ;
dto . Audio = info . Audio ;
dto . IsHD = info . IsHD ;
dto . IsMovie = info . IsMovie ;
dto . IsSeries = info . IsSeries ;
dto . IsSports = info . IsSports ;