public static Schedule RetrieveSpawnedSchedule(int parentScheduleId, DateTime startTime) { using (IScheduleRepository scheduleRepository = new ScheduleRepository()) { Schedule schedule = scheduleRepository.First<Schedule>(s => s.IdParentSchedule == parentScheduleId && s.StartTime == startTime); if (schedule == null) { schedule = scheduleRepository.First<Schedule>(s => s.IdParentSchedule == parentScheduleId); } return schedule; } }
public static bool IsScheduleRecording(int idSchedule) { bool isScheduleRecording = false; using (IScheduleRepository scheduleRepository = new ScheduleRepository()) { Schedule schedule = scheduleRepository.First<Schedule>(s => s.IdSchedule == idSchedule); if (schedule != null) { Schedule spawnedSchedule = RetrieveSpawnedSchedule(idSchedule, schedule.StartTime); if (spawnedSchedule != null) { schedule = spawnedSchedule; } isScheduleRecording = (RecordingManagement.GetActiveRecording(schedule.IdSchedule) != null); } } return isScheduleRecording; }
/// <summary> /// Retreives the first found instance of a 'Series' typed schedule given its Channel,Title,Start and End Times /// </summary> /// <param name="idChannel">Channel id to look for</param> /// <param name="startTime">StartTime</param> /// <param name="endTime">EndTime</param> /// <returns>schedule instance or null</returns> public static Schedule RetrieveSeries(int idChannel, DateTime startTime, DateTime endTime) { using (IScheduleRepository scheduleRepository = new ScheduleRepository()) { var retrieveSeries = scheduleRepository.First<Schedule>( s => s.ScheduleType != 0 && s.IdChannel == idChannel && s.StartTime == startTime && s.EndTime == endTime); return retrieveSeries; } }
public static void DeleteSchedule(int idSchedule) { Schedule scheduleToDelete; using (IScheduleRepository scheduleRepository = new ScheduleRepository(true)) { SetRelatedRecordingsToNull(idSchedule, scheduleRepository); scheduleToDelete = scheduleRepository.First<Schedule>(schedule => schedule.IdSchedule == idSchedule); if (scheduleToDelete == null) return; scheduleRepository.Delete(scheduleToDelete); scheduleRepository.UnitOfWork.SaveChanges(); } ProgramManagement.SynchProgramStates(new ScheduleBLL(scheduleToDelete)); }
/// <summary> /// Retreives the first found instance of a 'Series' typed schedule given its Channel,Title /// </summary> /// <param name="idChannel">Channel id to look for</param> /// <param name="programName">Title we wanna look for</param> /// <returns>schedule instance or null</returns> public static Schedule RetrieveSeries(int idChannel, string programName) { using (IScheduleRepository scheduleRepository = new ScheduleRepository()) { var retrieveSeries = scheduleRepository.First<Schedule>( s => s.ScheduleType != 0 && s.IdChannel == idChannel && s.ProgramName == programName); return retrieveSeries; } }