public bool GetCurrentProgram(IChannel channel, out IProgram program) { program = null; Channel indexChannel = channel as Channel; if (indexChannel == null) { return(false); } if (!CheckConnection(indexChannel.ServerIndex)) { return(false); } try { WebProgramDetailed tvProgram = TvServer(indexChannel.ServerIndex).GetCurrentProgramOnChannel(channel.ChannelId); if (tvProgram != null) { program = new Program(tvProgram, indexChannel.ServerIndex); return(true); } } catch (Exception ex) { ServiceRegistration.Get <ILogger>().Error(ex.Message); } return(false); }
public bool GetRecordingStatus(IProgram program, out RecordingStatus recordingStatus) { recordingStatus = RecordingStatus.None; Program indexProgram = program as Program; if (indexProgram == null) { return(false); } if (!CheckConnection(indexProgram.ServerIndex)) { return(false); } try { WebProgramDetailed programDetailed = TvServer(indexProgram.ServerIndex).GetProgramDetailedById(program.ProgramId); recordingStatus = Program.GetRecordingStatus(programDetailed); } catch { return(false); } return(true); }
public ScheduleViewModel(WebProgramDetailed program) : this(program.StartTime, program.EndTime, program.Title, program.ChannelId) { ProgramId = program.Id; ChannelName = Connections.Current.TAS.GetChannelDetailedById(program.ChannelId).Title; }
public ProgramDetailsViewModel(WebProgramDetailed program) { Program = program; var channel = Connections.Current.TAS.GetChannelDetailedById(program.ChannelId); ChannelName = channel.Title; ChannelId = channel.Id; }
public Program(WebProgramDetailed webProgram, int serverIndex) { ServerIndex = serverIndex; Description = webProgram.Description; StartTime = webProgram.StartTime; EndTime = webProgram.EndTime; Genre = webProgram.Genre; Title = webProgram.Title; ChannelId = webProgram.IdChannel; ProgramId = webProgram.IdProgram; }
public Program(WebProgramDetailed webProgram, int serverIndex) { ServerIndex = serverIndex; Description = webProgram.Description; StartTime = webProgram.StartTime; EndTime = webProgram.EndTime; Genre = webProgram.Genre; Title = webProgram.Title; ChannelId = webProgram.ChannelId; ProgramId = webProgram.Id; RecordingStatus = GetRecordingStatus(webProgram); }
public TVGuideProgramViewModel(WebProgramDetailed program, DateTime guideStart, DateTime guideEnd) { Id = program.Id; Title = String.IsNullOrEmpty(program.Title) ? UIStrings.Unknown : program.Title; // creating links with empty text doesn't work StartTime = program.StartTime; EndTime = program.EndTime; IsScheduled = program.IsScheduled; this.guideStart = guideStart; this.guideEnd = guideEnd; this.program = program; }
public ProgramDetailsViewModel(WebProgramDetailed program) { Id = program.Id; Title = String.IsNullOrEmpty(program.Title) ? UIStrings.Unknown : program.Title; // creating links with empty text doesn't work Description = program.Description; StartTime = program.StartTime; EndTime = program.EndTime; IsScheduled = program.IsScheduled; var channel = Connections.Current.TAS.GetChannelDetailedById(program.ChannelId); ChannelName = channel.Title; ChannelId = channel.Id; }
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 static RecordingStatus GetRecordingStatus(WebProgramDetailed programDetailed) { RecordingStatus recordingStatus = RecordingStatus.None; if (programDetailed.IsRecording || programDetailed.IsRecordingOnce || programDetailed.IsRecordingSeries) { recordingStatus |= RecordingStatus.Recording; } if (programDetailed.IsScheduled || programDetailed.IsRecordingOncePending) { recordingStatus |= RecordingStatus.Scheduled; } if (programDetailed.IsRecordingSeriesPending) { recordingStatus |= RecordingStatus.SeriesScheduled; } return(recordingStatus); }
public static async Task <WebProgramDetailed> ProcessAsync(IOwinContext context, string programId) { if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("GetProgramDetailedById: ITvProvider not found"); } IProgram program = await TVAccess.GetProgramAsync(context, int.Parse(programId)); if (program == null) { throw new NotFoundException(string.Format("GetProgramDetailedById: Couldn't get Now/Next Info for channel with Id: {0}", programId)); } WebProgramDetailed webProgramDetailed = ProgramDetailed(program); return(webProgramDetailed); }
public static async Task <WebProgramDetailed> ProcessAsync(IOwinContext context, string channelId) { if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("GetCurrentProgramOnChannel: ITvProvider not found"); } var programs = await TVAccess.GetChannelNowNextProgramAsync(context, int.Parse(channelId)); if (programs == null) { throw new BadRequestException(string.Format("GetCurrentProgramOnChannel: Couldn't get Now/Next Info for channel with Id: {0}", channelId)); } WebProgramDetailed webProgramDetailed = ProgramDetailed(programs[0]); return(webProgramDetailed); }
public async Task <AsyncResult <RecordingStatus> > GetRecordingStatusAsync(IProgram program) { var recordingStatus = RecordingStatus.None; Program indexProgram = program as Program; if (indexProgram == null || !CheckConnection(indexProgram.ServerIndex)) { return(new AsyncResult <RecordingStatus>(false, recordingStatus)); } try { WebProgramDetailed programDetailed = TvServer(indexProgram.ServerIndex).GetProgramDetailedById(program.ProgramId); recordingStatus = Program.GetRecordingStatus(programDetailed); return(new AsyncResult <RecordingStatus>(true, recordingStatus)); } catch { return(new AsyncResult <RecordingStatus>(false, recordingStatus)); } }
public TVGuideProgramViewModel(WebProgramDetailed program, DateTime guideStart, DateTime guideEnd) { Program = program; this.guideStart = guideStart; this.guideEnd = guideEnd; }
public static RecordingStatus GetRecordingStatus(WebProgramDetailed programDetailed) { RecordingStatus recordingStatus = RecordingStatus.None; if (programDetailed.IsRecording || programDetailed.IsRecordingOnce || programDetailed.IsRecordingSeries) recordingStatus |= RecordingStatus.Recording; if (programDetailed.IsScheduled || programDetailed.IsRecordingOncePending) recordingStatus |= RecordingStatus.Scheduled; if (programDetailed.IsRecordingSeriesPending) recordingStatus |= RecordingStatus.SeriesScheduled; return recordingStatus; }