Ejemplo n.º 1
0
        public static async Task <IList <WebScheduleBasic> > ProcessAsync(IOwinContext context, string filter, WebSortField?sort, WebSortOrder?order)
        {
            if (!ServiceRegistration.IsRegistered <ITvProvider>())
            {
                throw new BadRequestException("GetSchedules: ITvProvider not found");
            }

            IScheduleControlAsync scheduleControl = ServiceRegistration.Get <ITvProvider>() as IScheduleControlAsync;

            var schedules = await TVAccess.GetSchedulesAsync(context);

            List <WebScheduleBasic> output = schedules.Select(schedule => ScheduleBasic(schedule)).ToList();

            // sort and filter
            if (sort != null && order != null)
            {
                output = output.Filter(filter).SortScheduleList(sort, order).ToList();
            }
            else
            {
                output = output.Filter(filter).ToList();
            }

            return(output);
        }
Ejemplo n.º 2
0
        public static async Task <WebIntResult> ProcessAsync(IOwinContext context)
        {
            if (!ServiceRegistration.IsRegistered <ITvProvider>())
            {
                throw new BadRequestException("GetScheduleCount: ITvProvider not found");
            }

            var schedules = await TVAccess.GetSchedulesAsync(context);

            return(new WebIntResult {
                Result = schedules.Count
            });
        }
        public static async Task <IList <WebScheduledRecording> > ProcessAsync(IOwinContext context, DateTime date, WebSortField?sort, WebSortOrder?order, string filter = null)
        {
            if (!ServiceRegistration.IsRegistered <ITvProvider>())
            {
                throw new BadRequestException("GetScheduledRecordingsForDate: ITvProvider not found");
            }

            var schedules = await TVAccess.GetSchedulesAsync(context);

            List <WebScheduledRecording> output = schedules.Select(schedule => ScheduledRecording(schedule)).Where(x => x.StartTime.Date == date.Date).ToList();

            // sort and filter
            if (sort != null && order != null)
            {
                output = output.Filter(filter).SortScheduledRecordingList(sort, order).ToList();
            }
            else
            {
                output = output.Filter(filter).ToList();
            }

            return(output);
        }