public static async Task <IList <WebProgramBasic> > ProcessAsync(IOwinContext context, string searchTerm) { if (searchTerm == null) { throw new BadRequestException("SearchProgramsBasic: searchTerm is null"); } if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("SearchProgramsBasic: ITvProvider not found"); } Regex regex = new Regex(@searchTerm); List <WebProgramBasic> output = new List <WebProgramBasic>(); var programs = await TVAccess.GetGroupProgramsAsync(context, DateTime.Now, DateTime.Now.AddMonths(2)); foreach (var program in programs) { if (regex.IsMatch(program.Title)) { output.Add(ProgramBasic(program)); } } return(output); }
public static async Task <IList <WebChannelPrograms <WebProgramBasic> > > ProcessAsync(IOwinContext context, string groupId, DateTime startTime, DateTime endTime) { if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("GetProgramsBasicForGroup: ITvProvider not found"); } var programs = await TVAccess.GetGroupProgramsAsync(context, startTime, endTime, int.Parse(groupId)); if (programs.Count == 0) { Logger.Warn("GetProgramsDetailedForGroup: Couldn't get Now/Next Info for channel with Id: {0}", groupId); } List <WebChannelPrograms <WebProgramBasic> > output = new List <WebChannelPrograms <WebProgramBasic> >(); foreach (var program in programs) { if (output.FindIndex(x => x.ChannelId == program.ChannelId) == -1) { output.Add(new WebChannelPrograms <WebProgramBasic> { ChannelId = program.ChannelId, Programs = programs.Select(y => ProgramBasic(y)).Where(x => x.ChannelId == program.ChannelId).ToList() }); } } return(output); }
public static async Task <IList <WebProgramDetailed> > ProcessAsync(IOwinContext context, string searchTerm) { if (searchTerm == null) { throw new BadRequestException("SearchProgramsDetailed: searchTerm is null"); } if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("SearchProgramsDetailed: ITvProvider not found"); } Regex regex = new Regex(@searchTerm); var programs = await TVAccess.GetGroupProgramsAsync(context, DateTime.Now, DateTime.Now.AddMonths(2)); if (programs.Count == 0) { Logger.Warn("SearchProgramsDetailed: Couldn't get Now/Next Info for channels"); } List <WebProgramDetailed> output = new List <WebProgramDetailed>(); foreach (var program in programs) { if (regex.IsMatch(program.Title)) { output.Add(ProgramDetailed(program)); } } return(output); }
public static async Task <IList <WebProgramBasic> > ProcessAsync(IOwinContext context, string channelId, DateTime startTime, DateTime endTime) { if (!ServiceRegistration.IsRegistered <ITvProvider>()) { throw new BadRequestException("GetProgramsBasicForChannel: ITvProvider not found"); } var programs = await TVAccess.GetGroupProgramsAsync(context, startTime, endTime, int.Parse(channelId)); if (programs.Count == 0) { Logger.Warn("GetProgramsBasicForChannel: Couldn't get Now/Next Info for channel with Id: {0}", channelId); } return(programs.Select(program => ProgramBasic(program)).ToList()); }