コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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;
            }
        }