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); }
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); }