@ -1,6 +1,4 @@
using System.Threading ;
using System.Threading.Tasks ;
using MediaBrowser.Common.Extensions ;
using MediaBrowser.Common.Extensions ;
using MediaBrowser.Controller.Drawing ;
using MediaBrowser.Controller.Dto ;
using MediaBrowser.Controller.Entities ;
@ -10,6 +8,9 @@ using MediaBrowser.Model.Entities;
using MediaBrowser.Model.LiveTv ;
using MediaBrowser.Model.Logging ;
using System ;
using System.Collections.Generic ;
using System.Threading ;
using System.Threading.Tasks ;
namespace MediaBrowser.Server.Implementations.LiveTv
{
@ -43,10 +44,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
ChannelId = GetInternalChannelId ( service . Name , info . ChannelId , info . ChannelName ) . ToString ( "N" ) ,
Status = info . Status ,
SeriesTimerId = string . IsNullOrEmpty ( info . SeriesTimerId ) ? null : GetInternalSeriesTimerId ( service . Name , info . SeriesTimerId ) . ToString ( "N" ) ,
RequestedPostPaddingSeconds = info . RequestedPost PaddingSeconds,
RequestedPrePaddingSeconds = info . RequestedPre PaddingSeconds,
RequiredPostPaddingSeconds = info . RequiredPostPaddingSeconds ,
RequiredPrePaddingSeconds = info . RequiredPrePaddingSeconds ,
PrePaddingSeconds = info . Pre PaddingSeconds,
PostPaddingSeconds = info . Post PaddingSeconds,
IsPostPaddingRequired = info . IsPostPaddingRequired ,
IsPrePaddingRequired = info . IsPrePaddingRequired ,
ExternalChannelId = info . ChannelId ,
ExternalSeriesTimerId = info . SeriesTimerId ,
ServiceName = service . Name ,
@ -76,10 +77,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
Name = info . Name ,
StartDate = info . StartDate ,
ExternalId = info . Id ,
RequestedPostPaddingSeconds = info . RequestedPost PaddingSeconds,
RequestedPrePaddingSeconds = info . RequestedPre PaddingSeconds,
RequiredPostPaddingSeconds = info . RequiredPostPaddingSeconds ,
RequiredPrePaddingSeconds = info . RequiredPrePaddingSeconds ,
PrePaddingSeconds = info . Pre PaddingSeconds,
PostPaddingSeconds = info . Post PaddingSeconds,
IsPostPaddingRequired = info . IsPostPaddingRequired ,
IsPrePaddingRequired = info . IsPrePaddingRequired ,
Days = info . Days ,
Priority = info . Priority ,
RecordAnyChannel = info . RecordAnyChannel ,
@ -100,33 +101,38 @@ namespace MediaBrowser.Server.Implementations.LiveTv
dto . ProgramId = GetInternalProgramId ( service . Name , info . ProgramId ) . ToString ( "N" ) ;
}
dto . DayPattern = info . Days = = null ? null : GetDayPattern ( info . Days ) ;
return dto ;
}
public DayPattern ? GetDayPattern ( List < DayOfWeek > days )
{
DayPattern ? pattern = null ;
if ( info . Days ! = null & & info . Days . Count > 0 )
if ( d ays. Count > 0 )
{
if ( info . Days . Count = = 7 )
if ( d ays. Count = = 7 )
{
pattern = DayPattern . Daily ;
}
else if ( info. D ays. Count = = 2 )
else if ( d ays. Count = = 2 )
{
if ( info. D ays. Contains ( DayOfWeek . Saturday ) & & info. D ays. Contains ( DayOfWeek . Sunday ) )
if ( d ays. Contains ( DayOfWeek . Saturday ) & & d ays. Contains ( DayOfWeek . Sunday ) )
{
pattern = DayPattern . Weekends ;
}
}
else if ( info. D ays. Count = = 5 )
else if ( d ays. Count = = 5 )
{
if ( info. D ays. Contains ( DayOfWeek . Monday ) & & info. D ays. Contains ( DayOfWeek . Tuesday ) & & info. D ays. Contains ( DayOfWeek . Wednesday ) & & info. D ays. Contains ( DayOfWeek . Thursday ) & & info. D ays. Contains ( DayOfWeek . Friday ) )
if ( d ays. Contains ( DayOfWeek . Monday ) & & d ays. Contains ( DayOfWeek . Tuesday ) & & d ays. Contains ( DayOfWeek . Wednesday ) & & d ays. Contains ( DayOfWeek . Thursday ) & & d ays. Contains ( DayOfWeek . Friday ) )
{
pattern = DayPattern . Weekdays ;
}
}
}
dto . DayPattern = pattern ;
return dto ;
return pattern ;
}
public RecordingInfoDto GetRecordingInfoDto ( RecordingInfo info , ILiveTvService service , User user = null )
@ -228,7 +234,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
AspectRatio = program . AspectRatio ,
IsRepeat = program . IsRepeat ,
EpisodeTitle = program . EpisodeTitle ,
ChannelName = program . ChannelName
ChannelName = program . ChannelName ,
IsMovie = program . IsMovie ,
IsSeries = program . IsSeries ,
IsSports = program . IsSports
} ;
if ( user ! = null )
@ -306,10 +315,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
StartDate = dto . StartDate ,
Status = dto . Status ,
SeriesTimerId = dto . ExternalSeriesTimerId ,
RequestedPostPaddingSeconds = dto . RequestedPost PaddingSeconds,
RequestedPrePaddingSeconds = dto . RequestedPre PaddingSeconds,
RequiredPostPaddingSeconds = dto . RequiredPostPaddingSeconds ,
RequiredPrePaddingSeconds = dto . RequiredPrePaddingSeconds ,
PrePaddingSeconds = dto . Pre PaddingSeconds,
PostPaddingSeconds = dto . Post PaddingSeconds,
IsPostPaddingRequired = dto . IsPostPaddingRequired ,
IsPrePaddingRequired = dto . IsPrePaddingRequired ,
Priority = dto . Priority
} ;
@ -354,10 +363,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
EndDate = dto . EndDate ,
Name = dto . Name ,
StartDate = dto . StartDate ,
RequestedPostPaddingSeconds = dto . RequestedPost PaddingSeconds,
RequestedPrePaddingSeconds = dto . RequestedPre PaddingSeconds,
RequiredPostPaddingSeconds = dto . RequiredPostPaddingSeconds ,
RequiredPrePaddingSeconds = dto . RequiredPrePaddingSeconds ,
PrePaddingSeconds = dto . Pre PaddingSeconds,
PostPaddingSeconds = dto . Post PaddingSeconds,
IsPostPaddingRequired = dto . IsPostPaddingRequired ,
IsPrePaddingRequired = dto . IsPrePaddingRequired ,
Days = dto . Days ,
Priority = dto . Priority ,
RecordAnyChannel = dto . RecordAnyChannel ,