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);
        }
Пример #4
0
        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());
        }