public override Task <bool> RemoveScheduleForProgramAsync(IProgram program, ScheduleRecordingType recordingType) { IScheduleService scheduleService = GlobalServiceProvider.Instance.Get <IScheduleService>(); IProgramService programService = GlobalServiceProvider.Instance.Get <IProgramService>(); var canceledProgram = programService.GetProgram(program.ProgramId); if (canceledProgram == null) { return(Task.FromResult(false)); } foreach (Schedule schedule in scheduleService.ListAllSchedules().Where(schedule => new ScheduleBLL(schedule).IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: scheduleService.DeleteSchedule(schedule.IdSchedule); break; default: // If only single program should be canceled if (recordingType == ScheduleRecordingType.Once) { CancelSingleSchedule(schedule, canceledProgram); } // Full schedule is canceled, including all programs else { CancelFullSchedule(schedule); } break; } } return(Task.FromResult(true)); }
public override bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType) { var canceledProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (canceledProgram == null) { return(false); } foreach (TvDatabase.Schedule schedule in TvDatabase.Schedule.ListAll().Where(schedule => schedule.IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: schedule.Delete(); _tvControl.OnNewSchedule(); break; default: CanceledSchedule canceledSchedule = new CanceledSchedule(schedule.IdSchedule, schedule.IdChannel, program.StartTime); canceledSchedule.Persist(); _tvControl.OnNewSchedule(); break; } } return(true); }
public bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType) { #if TVE3 var canceledProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (canceledProgram == null) { return(false); } foreach (TvDatabase.Schedule schedule in TvDatabase.Schedule.ListAll().Where(schedule => schedule.IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: schedule.Delete(); _tvControl.OnNewSchedule(); break; default: CanceledSchedule canceledSchedule = new CanceledSchedule(schedule.IdSchedule, schedule.IdChannel, schedule.StartTime); canceledSchedule.Persist(); _tvControl.OnNewSchedule(); break; } } return(true); #else IScheduleService scheduleService = GlobalServiceProvider.Instance.Get <IScheduleService>(); IProgramService programService = GlobalServiceProvider.Instance.Get <IProgramService>(); var canceledProgram = programService.GetProgram(program.ProgramId); if (canceledProgram == null) { return(false); } foreach (Schedule schedule in scheduleService.ListAllSchedules().Where(schedule => new ScheduleBLL(schedule).IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: scheduleService.DeleteSchedule(schedule.IdSchedule); break; default: // If only single program should be canceled if (recordingType == ScheduleRecordingType.Once) { CancelSingleSchedule(schedule, canceledProgram); } // Full schedule is canceled, including all programs else { CancelFullSchedule(schedule); } break; } } return(true); #endif }
public override Task <bool> EditScheduleAsync(ISchedule schedule, IChannel channel = null, string title = null, DateTime?from = null, DateTime?to = null, ScheduleRecordingType?recordingType = null, int?preRecordInterval = null, int?postRecordInterval = null, string directory = null, int?priority = null) { try { ServiceRegistration.Get <ILogger>().Debug("Editing schedule {0} on channel {1} for {2}, {3} till {4}, type {5}", schedule.ScheduleId, channel.ChannelId, title, from, to, recordingType); TvDatabase.Schedule tvSchedule = TvDatabase.Schedule.Retrieve(schedule.ScheduleId); tvSchedule.IdChannel = channel.ChannelId; if (title != null) { tvSchedule.ProgramName = title; } if (from != null) { tvSchedule.StartTime = from.Value; } if (to != null) { tvSchedule.EndTime = to.Value; } if (recordingType != null) { ScheduleRecordingType scheduleRecType = recordingType.Value; tvSchedule.ScheduleType = (int)scheduleRecType; } if (preRecordInterval != null) { tvSchedule.PreRecordInterval = preRecordInterval.Value; } if (postRecordInterval != null) { tvSchedule.PostRecordInterval = postRecordInterval.Value; } if (directory != null) { tvSchedule.Directory = directory; } if (priority != null) { tvSchedule.Priority = priority.Value; } tvSchedule.Persist(); _tvControl.OnNewSchedule(); // I don't think this is needed, but doesn't hurt either return(Task.FromResult(true)); } catch (Exception ex) { ServiceRegistration.Get <ILogger>().Warn(String.Format("Failed to edit schedule {0}", schedule.ScheduleId), ex); return(Task.FromResult(false)); } }
public override Task <bool> EditScheduleAsync(ISchedule schedule, IChannel channel = null, string title = null, DateTime?from = null, DateTime?to = null, ScheduleRecordingType?recordingType = null, int?preRecordInterval = null, int?postRecordInterval = null, string directory = null, int?priority = null) { try { ServiceRegistration.Get <ILogger>().Debug("Editing schedule {0} on channel {1} for {2}, {3} till {4}, type {5}", schedule.ScheduleId, channel.ChannelId, title, from, to, recordingType); IScheduleService scheduleService = GlobalServiceProvider.Get <IScheduleService>(); Schedule tvSchedule = scheduleService.GetSchedule(schedule.ScheduleId); tvSchedule.IdChannel = channel.ChannelId; if (title != null) { tvSchedule.ProgramName = title; } if (from != null) { tvSchedule.StartTime = from.Value; } if (to != null) { tvSchedule.EndTime = to.Value; } if (recordingType != null) { ScheduleRecordingType scheduleRecType = recordingType.Value; tvSchedule.ScheduleType = (int)scheduleRecType; } if (preRecordInterval != null) { tvSchedule.PreRecordInterval = preRecordInterval.Value; } if (postRecordInterval != null) { tvSchedule.PostRecordInterval = postRecordInterval.Value; } if (directory != null) { tvSchedule.Directory = directory; } if (priority != null) { tvSchedule.Priority = priority.Value; } scheduleService.SaveSchedule(tvSchedule); return(Task.FromResult(true)); } catch (Exception ex) { ServiceRegistration.Get <ILogger>().Warn(String.Format("Failed to edit schedule {0}", schedule.ScheduleId), ex); return(Task.FromResult(false)); } }
public override bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { IScheduleService scheduleService = GlobalServiceProvider.Instance.Get <IScheduleService>(); Schedule tvschedule = ScheduleFactory.CreateSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime); tvschedule.PreRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvschedule.PostRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); tvschedule.ScheduleType = (int)recordingType; scheduleService.SaveSchedule(tvschedule); schedule = tvschedule.ToSchedule(); return(true); }
public override bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { var tvProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (tvProgram == null) { schedule = null; return(false); } if (CreateProgram(tvProgram, (int)recordingType, out schedule)) { _tvControl.OnNewSchedule(); } return(schedule != null); }
public bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { #if TVE3 TvDatabase.Schedule tvSchedule = _tvBusiness.AddSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime, (int)recordingType); tvSchedule.ScheduleType = (int)recordingType; tvSchedule.PreRecordInterval = Int32.Parse(_tvBusiness.GetSetting("preRecordInterval", "5").Value); tvSchedule.PostRecordInterval = Int32.Parse(_tvBusiness.GetSetting("postRecordInterval", "5").Value); tvSchedule.Persist(); _tvControl.OnNewSchedule(); schedule = tvSchedule.ToSchedule(); return(true); #else IScheduleService scheduleService = GlobalServiceProvider.Instance.Get <IScheduleService>(); Schedule tvschedule = ScheduleFactory.CreateSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime); tvschedule.PreRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvschedule.PostRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); tvschedule.ScheduleType = (int)recordingType; scheduleService.SaveSchedule(tvschedule); schedule = tvschedule.ToSchedule(); return(true); #endif }
public override Task <AsyncResult <ISchedule> > CreateScheduleDetailedAsync(IChannel channel, string title, DateTime from, DateTime to, ScheduleRecordingType recordingType, int preRecordInterval, int postRecordInterval, string directory, int priority) { IScheduleService scheduleService = GlobalServiceProvider.Get <IScheduleService>(); Schedule tvSchedule = ScheduleFactory.CreateSchedule(channel.ChannelId, title, from, to); tvSchedule.PreRecordInterval = preRecordInterval >= 0 ? preRecordInterval : ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvSchedule.PostRecordInterval = postRecordInterval >= 0 ? postRecordInterval : ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); if (!String.IsNullOrEmpty(directory)) { tvSchedule.Directory = directory; } if (priority >= 0) { tvSchedule.Priority = priority; } tvSchedule.PreRecordInterval = preRecordInterval; tvSchedule.PostRecordInterval = postRecordInterval; tvSchedule.ScheduleType = (int)recordingType; tvSchedule.Directory = directory; tvSchedule.Priority = priority; scheduleService.SaveSchedule(tvSchedule); ISchedule schedule = tvSchedule.ToSchedule(); return(Task.FromResult(new AsyncResult <ISchedule>(true, schedule))); }
public override async Task <bool> RemoveScheduleForProgramAsync(IProgram program, ScheduleRecordingType recordingType) { await _initComplete.Task; var canceledProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (canceledProgram == null) { return(false); } var allSchedules = TvDatabase.Schedule.ListAll(); var matchingSchedules = allSchedules.Where(schedule => schedule.IsRecordingProgram(canceledProgram, true)); if (matchingSchedules.Count() == 0) { List <TvDatabase.Schedule> manualSchedules = new List <TvDatabase.Schedule>(); //Check for matching manual recordings because they will not match any programs start and/or end times foreach (TvDatabase.Schedule schedule in allSchedules.Where(schedule => schedule.IsManual || schedule.ProgramName == "Manual")) { if ((canceledProgram.StartTime <= schedule.StartTime && canceledProgram.EndTime >= schedule.StartTime) || //Recording was started during this program (canceledProgram.StartTime <= schedule.EndTime && canceledProgram.EndTime >= schedule.EndTime) || //Recording is ending during this program (canceledProgram.StartTime >= schedule.StartTime && canceledProgram.EndTime <= schedule.StartTime)) //The program is "inside" the recording { manualSchedules.Add(schedule); } } matchingSchedules = manualSchedules; } //Delete matching schedules foreach (TvDatabase.Schedule schedule in matchingSchedules) { _tvControl.StopRecordingSchedule(schedule.IdSchedule); if (schedule.ScheduleType == (int)ScheduleRecordingType.Once || recordingType != ScheduleRecordingType.Once) { // Delete single schedule, or whole series schedule.Delete(); } else { // Delete this program only CanceledSchedule canceledSchedule = new CanceledSchedule(schedule.IdSchedule, schedule.IdChannel, program.StartTime); canceledSchedule.Persist(); } _tvControl.OnNewSchedule(); } return(true); }
public override Task <AsyncResult <ISchedule> > CreateScheduleByTimeAsync(IChannel channel, DateTime from, DateTime to, ScheduleRecordingType recordingType) { return(CreateScheduleByTimeAsync(channel, "Manual", from, to, recordingType)); }
public override Task <AsyncResult <ISchedule> > CreateScheduleByTimeAsync(IChannel channel, string title, DateTime from, DateTime to, ScheduleRecordingType recordingType) { IScheduleService scheduleService = GlobalServiceProvider.Get <IScheduleService>(); Schedule tvSchedule = ScheduleFactory.CreateSchedule(channel.ChannelId, title, from, to); tvSchedule.PreRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvSchedule.PostRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); tvSchedule.ScheduleType = (int)recordingType; scheduleService.SaveSchedule(tvSchedule); var schedule = tvSchedule.ToSchedule(); return(Task.FromResult(new AsyncResult <ISchedule>(true, schedule))); }
public bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { #if TVE3 TvDatabase.Schedule tvSchedule = _tvBusiness.AddSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime, (int)recordingType); tvSchedule.ScheduleType = (int)recordingType; tvSchedule.PreRecordInterval = Int32.Parse(_tvBusiness.GetSetting("preRecordInterval", "5").Value); tvSchedule.PostRecordInterval = Int32.Parse(_tvBusiness.GetSetting("postRecordInterval", "5").Value); tvSchedule.Persist(); _tvControl.OnNewSchedule(); schedule = tvSchedule.ToSchedule(); return true; #else IScheduleService scheduleService = GlobalServiceProvider.Instance.Get<IScheduleService>(); Schedule tvschedule = ScheduleFactory.CreateSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime); tvschedule.PreRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvschedule.PostRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); tvschedule.ScheduleType = (int)recordingType; scheduleService.SaveSchedule(tvschedule); schedule = tvschedule.ToSchedule(); return true; #endif }
public override Task <AsyncResult <ISchedule> > CreateScheduleAsync(IProgram program, ScheduleRecordingType recordingType) { IScheduleService scheduleService = GlobalServiceProvider.Instance.Get <IScheduleService>(); Schedule tvschedule = ScheduleFactory.CreateSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime); tvschedule.PreRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvschedule.PostRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); tvschedule.ScheduleType = (int)recordingType; scheduleService.SaveSchedule(tvschedule); var schedule = tvschedule.ToSchedule(); var success = schedule != null; return(Task.FromResult(new AsyncResult <ISchedule>(success, schedule))); }
public abstract bool CreateScheduleByTime(IChannel channel, DateTime from, DateTime to, ScheduleRecordingType recordingType, out ISchedule schedule);
public abstract bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule);
public override Task <AsyncResult <ISchedule> > CreateScheduleDetailedAsync(IChannel channel, string title, DateTime from, DateTime to, ScheduleRecordingType recordingType, int preRecordInterval, int postRecordInterval, string directory, int priority) { TvDatabase.Schedule tvSchedule = _tvBusiness.AddSchedule(channel.ChannelId, title, from, to, (int)recordingType); tvSchedule.PreRecordInterval = preRecordInterval >= 0 ? preRecordInterval : Int32.Parse(_tvBusiness.GetSetting("preRecordInterval", "5").Value); tvSchedule.PostRecordInterval = postRecordInterval >= 0 ? postRecordInterval : Int32.Parse(_tvBusiness.GetSetting("postRecordInterval", "5").Value); if (!String.IsNullOrEmpty(directory)) { tvSchedule.Directory = directory; } if (priority >= 0) { tvSchedule.Priority = priority; } tvSchedule.Persist(); _tvControl.OnNewSchedule(); var schedule = tvSchedule.ToSchedule(); return(Task.FromResult(new AsyncResult <ISchedule>(true, schedule))); }
public override bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { TvDatabase.Schedule tvSchedule = _tvBusiness.AddSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime, (int)recordingType); tvSchedule.ScheduleType = (int)recordingType; tvSchedule.PreRecordInterval = Int32.Parse(_tvBusiness.GetSetting("preRecordInterval", "5").Value); tvSchedule.PostRecordInterval = Int32.Parse(_tvBusiness.GetSetting("postRecordInterval", "5").Value); tvSchedule.Persist(); _tvControl.OnNewSchedule(); schedule = tvSchedule.ToSchedule(); return true; }
public override async Task <AsyncResult <ISchedule> > CreateScheduleAsync(IProgram program, ScheduleRecordingType recordingType) { await _initComplete.Task; var tvProgram = TvDatabase.Program.Retrieve(program.ProgramId); ISchedule schedule; if (tvProgram == null) { return(new AsyncResult <ISchedule>(false, null)); } if (CreateProgram(tvProgram, (int)recordingType, out schedule)) { _tvControl.OnNewSchedule(); } var success = schedule != null; return(new AsyncResult <ISchedule>(success, schedule)); }
public override bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType) { var canceledProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (canceledProgram == null) return false; foreach (TvDatabase.Schedule schedule in TvDatabase.Schedule.ListAll().Where(schedule => schedule.IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: schedule.Delete(); _tvControl.OnNewSchedule(); break; default: CanceledSchedule canceledSchedule = new CanceledSchedule(schedule.IdSchedule, schedule.IdChannel, program.StartTime); canceledSchedule.Persist(); _tvControl.OnNewSchedule(); break; } } return true; }
public override bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { var tvProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (tvProgram == null) { schedule = null; return false; } if (CreateProgram(tvProgram, (int)recordingType, out schedule)) { _tvControl.OnNewSchedule(); } return schedule != null; }
public bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType) { #if TVE3 var canceledProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (canceledProgram == null) return false; foreach (TvDatabase.Schedule schedule in TvDatabase.Schedule.ListAll().Where(schedule => schedule.IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: schedule.Delete(); _tvControl.OnNewSchedule(); break; default: CanceledSchedule canceledSchedule = new CanceledSchedule(schedule.IdSchedule, schedule.IdChannel, schedule.StartTime); canceledSchedule.Persist(); _tvControl.OnNewSchedule(); break; } } return true; #else IScheduleService scheduleService = GlobalServiceProvider.Instance.Get<IScheduleService>(); IProgramService programService = GlobalServiceProvider.Instance.Get<IProgramService>(); var canceledProgram = programService.GetProgram(program.ProgramId); if (canceledProgram == null) return false; foreach (Schedule schedule in scheduleService.ListAllSchedules().Where(schedule => new ScheduleBLL(schedule).IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: scheduleService.DeleteSchedule(schedule.IdSchedule); break; default: // If only single program should be canceled if (recordingType == ScheduleRecordingType.Once) { CancelSingleSchedule(schedule, canceledProgram); } // Full schedule is canceled, including all programs else { CancelFullSchedule(schedule); } break; } } return true; #endif }
public override bool CreateScheduleByTime(IChannel channel, DateTime from, DateTime to, ScheduleRecordingType recordingType, out ISchedule schedule) { IScheduleService scheduleService = GlobalServiceProvider.Get <IScheduleService>(); Schedule tvSchedule = ScheduleFactory.CreateSchedule(channel.ChannelId, "Manual", from, to); tvSchedule.PreRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvSchedule.PostRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); tvSchedule.ScheduleType = (int)recordingType; scheduleService.SaveSchedule(tvSchedule); schedule = tvSchedule.ToSchedule(); return(true); }
public override bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType) { IScheduleService scheduleService = GlobalServiceProvider.Instance.Get<IScheduleService>(); IProgramService programService = GlobalServiceProvider.Instance.Get<IProgramService>(); var canceledProgram = programService.GetProgram(program.ProgramId); if (canceledProgram == null) return false; foreach (Schedule schedule in scheduleService.ListAllSchedules().Where(schedule => new ScheduleBLL(schedule).IsRecordingProgram(canceledProgram, true))) { switch (schedule.ScheduleType) { case (int)ScheduleRecordingType.Once: scheduleService.DeleteSchedule(schedule.IdSchedule); break; default: // If only single program should be canceled if (recordingType == ScheduleRecordingType.Once) { CancelSingleSchedule(schedule, canceledProgram); } // Full schedule is canceled, including all programs else { CancelFullSchedule(schedule); } break; } } return true; }
public override async Task <bool> RemoveScheduleForProgramAsync(IProgram program, ScheduleRecordingType recordingType) { await _initComplete.Task; var canceledProgram = TvDatabase.Program.Retrieve(program.ProgramId); if (canceledProgram == null) { return(false); } foreach (TvDatabase.Schedule schedule in TvDatabase.Schedule.ListAll().Where(schedule => schedule.IsRecordingProgram(canceledProgram, true))) { if (schedule.ScheduleType == (int)ScheduleRecordingType.Once || recordingType != ScheduleRecordingType.Once) { // Delete single schedule, or whole series schedule.Delete(); } else { // Delete this program only CanceledSchedule canceledSchedule = new CanceledSchedule(schedule.IdSchedule, schedule.IdChannel, program.StartTime); canceledSchedule.Persist(); } RemoteControl.Instance.OnNewSchedule(); } return(true); }
public override async Task <AsyncResult <ISchedule> > CreateScheduleByTimeAsync(IChannel channel, DateTime from, DateTime to, ScheduleRecordingType recordingType) { await _initComplete.Task; TvDatabase.Schedule tvSchedule = new TvDatabase.Schedule(channel.ChannelId, "Manual", from, to); tvSchedule.ScheduleType = (int)recordingType; tvSchedule.PreRecordInterval = Int32.Parse(_tvBusiness.GetSetting("preRecordInterval", "5").Value); tvSchedule.PostRecordInterval = Int32.Parse(_tvBusiness.GetSetting("postRecordInterval", "5").Value); tvSchedule.Persist(); _tvControl.OnNewSchedule(); var schedule = tvSchedule.ToSchedule(); return(new AsyncResult <ISchedule>(true, schedule)); }
public abstract Task <AsyncResult <ISchedule> > CreateScheduleAsync(IProgram program, ScheduleRecordingType recordingType);
public override bool CreateSchedule(IProgram program, ScheduleRecordingType recordingType, out ISchedule schedule) { IScheduleService scheduleService = GlobalServiceProvider.Instance.Get<IScheduleService>(); Schedule tvschedule = ScheduleFactory.CreateSchedule(program.ChannelId, program.Title, program.StartTime, program.EndTime); tvschedule.PreRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("preRecordInterval", 5); tvschedule.PostRecordInterval = ServiceAgents.Instance.SettingServiceAgent.GetValue("postRecordInterval", 5); tvschedule.ScheduleType = (int)recordingType; scheduleService.SaveSchedule(tvschedule); schedule = tvschedule.ToSchedule(); return true; }
public abstract Task <AsyncResult <ISchedule> > CreateScheduleByTimeAsync(IChannel channel, DateTime from, DateTime to, ScheduleRecordingType recordingType);
public abstract Task <bool> RemoveScheduleForProgramAsync(IProgram program, ScheduleRecordingType recordingType);
public abstract bool RemoveScheduleForProgram(IProgram program, ScheduleRecordingType recordingType);
public override bool CreateScheduleByTime(IChannel channel, DateTime from, DateTime to, ScheduleRecordingType recordingType, out ISchedule schedule) { TvDatabase.Schedule tvSchedule = new TvDatabase.Schedule(channel.ChannelId, "Manual", from, to); tvSchedule.ScheduleType = (int)recordingType; tvSchedule.PreRecordInterval = Int32.Parse(_tvBusiness.GetSetting("preRecordInterval", "5").Value); tvSchedule.PostRecordInterval = Int32.Parse(_tvBusiness.GetSetting("postRecordInterval", "5").Value); tvSchedule.Persist(); _tvControl.OnNewSchedule(); schedule = tvSchedule.ToSchedule(); return(true); }
public abstract Task <AsyncResult <ISchedule> > CreateScheduleDetailedAsync(IChannel channel, string title, DateTime from, DateTime to, ScheduleRecordingType recordingType, int preRecordInterval, int postRecordInterval, string directory, int priority);