public void SetProgram(IProgram program) { IProgramRecordingStatus recordingStatus = program as IProgramRecordingStatus; if (recordingStatus != null) { UpdateState(recordingStatus.RecordingStatus); } try { IChannel channel; IChannelAndGroupInfo channelAndGroupInfo = ServiceRegistration.Get <ITvHandler>().ChannelAndGroupInfo; if (program != null && channelAndGroupInfo != null && channelAndGroupInfo.GetChannel(program.ChannelId, out channel)) { ChannelName = channel.Name; } _settingProgram = true; IProgramSeries series = program as IProgramSeries; if (series != null) { SeasonNumber = series.SeasonNumber; EpisodeNumber = series.EpisodeNumber; EpisodeTitle = series.EpisodeTitle; Series = BuildSeriesText(this); } else { SeasonNumber = string.Empty; EpisodeNumber = string.Empty; EpisodeTitle = string.Empty; Series = string.Empty; } if (program != null) { ProgramId = program.ProgramId; Title = program.Title; Description = program.Description; StartTime = program.StartTime; EndTime = program.EndTime; Genre = program.Genre; } else { ProgramId = 0; Title = string.Empty; Description = string.Empty; StartTime = DateTime.Now.GetDay(); EndTime = StartTime.AddDays(1); Genre = string.Empty; } UpdateDuration(); } finally { _settingProgram = false; } }
public void SetProgram(IProgram program) { IProgramRecordingStatus recordingStatus = program as IProgramRecordingStatus; if (recordingStatus != null) { UpdateState(recordingStatus.RecordingStatus); } try { _settingProgram = true; IProgramSeries series = program as IProgramSeries; if (series != null) { SeasonNumber = series.SeasonNumber; EpisodeNumber = series.EpisodeNumber; EpisodeTitle = series.EpisodeTitle; Series = BuildSeriesText(this); } else { SeasonNumber = string.Empty; EpisodeNumber = string.Empty; EpisodeTitle = string.Empty; Series = string.Empty; } if (program != null) { ProgramId = program.ProgramId; Title = program.Title; Description = program.Description; StartTime = program.StartTime; EndTime = program.EndTime; Genre = program.Genre; } else { ProgramId = 0; Title = string.Empty; Description = string.Empty; StartTime = DateTime.Now.GetDay(); EndTime = StartTime.AddDays(1); Genre = string.Empty; } UpdateDuration(); } finally { _settingProgram = false; } }
internal static WebProgramDetailed ProgramDetailed(IProgram program) { if (program == null) { return(new WebProgramDetailed()); } IProgramRecordingStatus recordingStatus = program as IProgramRecordingStatus; IProgramSeries programSeries = program as IProgramSeries; WebProgramBasic webProgramBasic = BaseProgramBasic.ProgramBasic(program); WebProgramDetailed webProgramDetailed = new WebProgramDetailed { // From Basic Description = webProgramBasic.Description, ChannelId = webProgramBasic.ChannelId, StartTime = webProgramBasic.StartTime, EndTime = webProgramBasic.EndTime, Title = webProgramBasic.Title, Id = webProgramBasic.Id, DurationInMinutes = webProgramBasic.DurationInMinutes, Classification = program.Classification, OriginalAirDate = program.OriginalAirDate ?? DateTime.Now, ParentalRating = program.ParentalRating, StarRating = program.StarRating, IsScheduled = webProgramBasic.IsScheduled, Genre = program.Genre, IsRecording = recordingStatus != null && recordingStatus.RecordingStatus != RecordingStatus.None, IsRecordingSeriesPending = recordingStatus != null && recordingStatus.RecordingStatus == RecordingStatus.SeriesScheduled, IsRecordingOncePending = recordingStatus != null && recordingStatus.RecordingStatus == RecordingStatus.Scheduled, IsRecordingSeries = recordingStatus != null && recordingStatus.RecordingStatus == RecordingStatus.RecordingSeries, IsRecordingManual = recordingStatus != null && recordingStatus.RecordingStatus == RecordingStatus.RecordingManual, IsRecordingOnce = recordingStatus != null && recordingStatus.RecordingStatus == RecordingStatus.RecordingOnce, HasConflict = recordingStatus != null && recordingStatus.HasConflict, SeriesNum = programSeries.SeasonNumber, EpisodeNum = programSeries.EpisodeNumber, EpisodeName = programSeries.EpisodeTitle, EpisodeNumber = programSeries.EpisodeNumberDetailed, EpisodePart = programSeries.EpisodePart, }; //webProgramDetailed.IsPartialRecordingSeriesPending; return(webProgramDetailed); }
public void SetProgram(IProgram program, IChannel channel = null) { IProgramRecordingStatus recordingStatus = program as IProgramRecordingStatus; if (recordingStatus != null) { UpdateState(recordingStatus.RecordingStatus); } try { if (channel == null && program != null) { IChannelAndGroupInfoAsync channelAndGroupInfo = ServiceRegistration.Get <ITvHandler>().ChannelAndGroupInfo; if (channelAndGroupInfo != null) { var result = channelAndGroupInfo.GetChannelAsync(program.ChannelId).Result; if (result.Success) { channel = result.Result; } } } ChannelName = channel?.Name ?? ""; ChannelNumber = channel?.ChannelNumber ?? 0; ChannelLogoType = channel.GetFanArtMediaType(); _settingProgram = true; IProgramSeries series = program as IProgramSeries; if (series != null) { SeasonNumber = series.SeasonNumber; EpisodeNumber = series.EpisodeNumber; EpisodeTitle = series.EpisodeTitle; Series = BuildSeriesText(this); } else { SeasonNumber = string.Empty; EpisodeNumber = string.Empty; EpisodeTitle = string.Empty; Series = string.Empty; } if (program != null) { ProgramId = program.ProgramId; Title = program.Title; Description = program.Description; StartTime = program.StartTime; EndTime = program.EndTime; Genre = program.Genre; EpgGenreId = program.EpgGenreId; EpgGenreColor = program.EpgGenreColor; } else { ProgramId = -1; Title = string.Empty; Description = string.Empty; StartTime = DateTime.Now.GetDay(); EndTime = StartTime.AddDays(1); Genre = string.Empty; EpgGenreId = 0; EpgGenreColor = string.Empty; } NoProgramData = ProgramId == -1; UpdateDuration(); } finally { _settingProgram = false; } }