示例#1
0
        public static Program ToProgram(this WebProgramBasic p)
        {
            if (p == null)
            {
                return(null);
            }

            return(Program.Retrieve(p.Id));
        }
示例#2
0
        public TVGuideProgramViewModel(WebProgramBasic program, DateTime guideStart, DateTime guideEnd)
        {
            Id        = program.Id;
            Title     = program.Title;
            StartTime = program.StartTime;
            EndTime   = program.EndTime;

            this.guideStart = guideStart;
            this.guideEnd   = guideEnd;
        }
示例#3
0
        public static RecordingStatus GetRecordingStatus(WebProgramBasic programDetailed)
        {
            RecordingStatus recordingStatus = RecordingStatus.None;

            if (programDetailed.IsScheduled)
            {
                recordingStatus |= RecordingStatus.Scheduled;
            }
            return(recordingStatus);
        }
示例#4
0
 public AddScheduleViewModel(WebProgramBasic program)
 {
     ProgramId    = program.Id;
     ProgramTitle = program.Title;
     Types        = ScheduleViewModel.ScheduleTypeNames
                    .Select(x => new SelectListItem()
     {
         Value = ((int)x.Key).ToString(), Text = x.Value
     })
                    .ToList();
 }
示例#5
0
        public ProgramDetailsViewModel(WebProgramBasic program)
        {
            Id          = program.Id;
            Title       = program.Title;
            Description = program.Description;
            StartTime   = program.StartTime;
            EndTime     = program.EndTime;
            IsScheduled = program.IsScheduled;

            var channel = MPEServices.TAS.GetChannelBasicById(program.IdChannel);

            ChannelName = channel.DisplayName;
        }
        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);
        }
示例#7
0
        public static async Task <WebProgramBasic> ProcessAsync(IOwinContext context, string programId)
        {
            if (!ServiceRegistration.IsRegistered <ITvProvider>())
            {
                throw new BadRequestException("GetProgramBasicById: ITvProvider not found");
            }

            IProgram program = await TVAccess.GetProgramAsync(context, int.Parse(programId));

            if (program == null)
            {
                throw new NotFoundException(string.Format("GetProgramBasicById: Couldn't get Now/Next Info for channel with Id: {0}", programId));
            }

            WebProgramBasic webProgramBasic = ProgramBasic(program);

            return(webProgramBasic);
        }
        internal static WebProgramBasic ProgramBasic(IProgram program)
        {
            if (program == null)
            {
                return(new WebProgramBasic());
            }

            IProgramRecordingStatus recordingStatus = program as IProgramRecordingStatus;

            WebProgramBasic webProgramBasic = new WebProgramBasic
            {
                Description       = program.Description,
                ChannelId         = program.ChannelId,
                StartTime         = program.StartTime,
                EndTime           = program.EndTime,
                Title             = program.Title,
                Id                = program.ProgramId,
                DurationInMinutes = Convert.ToInt32(program.EndTime.Subtract(program.StartTime).TotalMinutes),
                IsScheduled       = recordingStatus?.RecordingStatus != RecordingStatus.None
            };

            return(webProgramBasic);
        }
 public static RecordingStatus GetRecordingStatus(WebProgramBasic programDetailed)
 {
     RecordingStatus recordingStatus = RecordingStatus.None;
       if (programDetailed.IsScheduled)
     recordingStatus |= RecordingStatus.Scheduled;
       return recordingStatus;
 }