public static async Task <WebBoolResult> ProcessAsync(IOwinContext context, string programId)
        {
            if (programId == null)
            {
                throw new BadRequestException("GetProgramIsScheduled: programId is null");
            }

            if (!ServiceRegistration.IsRegistered <ITvProvider>())
            {
                throw new BadRequestException("GetProgramIsScheduled: ITvProvider not found");
            }

            var recordingStatus = await TVAccess.GetProgramRecordingStatusAsync(context, int.Parse(programId));

            bool result = recordingStatus == RecordingStatus.Recording || recordingStatus == RecordingStatus.RuleScheduled ||
                          recordingStatus == RecordingStatus.Scheduled || recordingStatus == RecordingStatus.SeriesScheduled;

            return(new WebBoolResult {
                Result = result
            });
        }