public bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType) { try { CpAction action = GetAction(Consts.ACTION_REMOVE_SCHEDULE_FOR_PROGRAM); IList<object> inParameters = new List<object> { program.ProgramId, (int)recordingType }; IList<object> outParameters = action.InvokeAction(inParameters); return (bool)outParameters[0]; } catch (Exception ex) { NotifyException(ex); return false; } }
private string GetRecType(ScheduleRecordingType recType) { string strType = String.Empty; switch (recType) { case ScheduleRecordingType.Daily: strType = GUILocalizeStrings.Get(648); //daily break; case ScheduleRecordingType.EveryTimeOnEveryChannel: strType = GUILocalizeStrings.Get(651); //Everytime on any channel break; case ScheduleRecordingType.EveryTimeOnThisChannel: strType = GUILocalizeStrings.Get(650); //Everytime on this channel break; case ScheduleRecordingType.Once: strType = GUILocalizeStrings.Get(647); //Once break; case ScheduleRecordingType.WorkingDays: strType = GUILocalizeStrings.Get(WeekEndTool.GetText(DayType.WorkingDays)); //Working Days break; case ScheduleRecordingType.Weekends: strType = GUILocalizeStrings.Get(WeekEndTool.GetText(DayType.WeekendDays)); //Weekend Days break; case ScheduleRecordingType.Weekly: strType = GUILocalizeStrings.Get(679); //Weekly break; case ScheduleRecordingType.WeeklyEveryTimeOnThisChannel: strType = GUILocalizeStrings.Get(990000);//Weekly Everytime on this channel break; } return strType; }
public bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { try { CpAction action = GetAction(Consts.ACTION_CREATE_SCHEDULE); IList<object> inParameters = new List<object> { program.ProgramId, (int) recordingType }; IList<object> outParameters = action.InvokeAction(inParameters); bool result = (bool)outParameters[0]; schedule = result ? (ISchedule)outParameters[1] : null; return result; } catch (Exception ex) { NotifyException(ex); schedule = null; return false; } }
public void RecordOrCancelSeries(IProgram program, ScheduleRecordingType scheduleRecordingType) { CreateOrDeleteSchedule(program, scheduleRecordingType); }
protected override RecordingStatus? CreateOrDeleteSchedule(IProgram program, ScheduleRecordingType recordingType = ScheduleRecordingType.Once) { _lastProgramId = program.ProgramId; var newStatus = base.CreateOrDeleteSchedule(program, recordingType); if (!newStatus.HasValue) return RecordingStatus.None; UpdatePrograms(); // Reload all programs, as series scheduling will affect multiple programs NotifyAllPrograms(); return newStatus.Value; }
protected virtual RecordingStatus? CreateOrDeleteSchedule(IProgram program, ScheduleRecordingType recordingType = ScheduleRecordingType.Once) { IScheduleControl scheduleControl = _tvHandler.ScheduleControl; RecordingStatus? newStatus = null; if (scheduleControl != null) { RecordingStatus? recordingStatus = GetRecordingStatus(program); if (!recordingStatus.HasValue) return null; if (recordingStatus.Value.HasFlag(RecordingStatus.Scheduled) || recordingStatus.Value.HasFlag(RecordingStatus.SeriesScheduled)) { if (scheduleControl.RemoveScheduleForProgram(program, recordingType)) newStatus = RecordingStatus.None; } else { ISchedule schedule; if (scheduleControl.CreateSchedule(program, recordingType, out schedule)) newStatus = recordingType == ScheduleRecordingType.Once ? RecordingStatus.Scheduled : RecordingStatus.SeriesScheduled; } } return newStatus; }
protected override RecordingStatus? CreateOrDeleteSchedule(IProgram program, ScheduleRecordingType recordingType = ScheduleRecordingType.Once) { var result = base.CreateOrDeleteSchedule(program, recordingType); LoadSchedules(); return result; }
public void RecordOrCancelSeries(ScheduleRecordingType scheduleRecordingType) { CreateOrDeleteSchedule(_selectedProgram, scheduleRecordingType); _selectedSchedule = null; UpdateButtonStateForSchedule(); }
public bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType) { Program indexProgram = program as Program; if (indexProgram == null) return false; if (!CheckConnection(indexProgram.ServerIndex)) return false; try { ITVAccessService tvAccessService = TvServer(indexProgram.ServerIndex); if (recordingType == ScheduleRecordingType.Once) { return tvAccessService.CancelSchedule(program.ProgramId); } // TODO: find matching schedule? return tvAccessService.DeleteSchedule(indexProgram); return false; } catch { return false; } }
public bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { Program indexProgram = program as Program; schedule = null; if (indexProgram == null) return false; if (!CheckConnection(indexProgram.ServerIndex)) return false; try { // Note: the enums WebScheduleType and ScheduleRecordingType are defined equally. If one of them gets extended, the other must be changed the same way. return TvServer(indexProgram.ServerIndex).AddSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime, (WebScheduleType)recordingType); } catch { return false; } }