diff options
Diffstat (limited to 'MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs')
| -rw-r--r-- | MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs | 143 |
1 files changed, 1 insertions, 142 deletions
diff --git a/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs b/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs index 4ad33341a..fe45f1621 100644 --- a/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs +++ b/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs @@ -25,17 +25,9 @@ namespace MediaBrowser.Common.ScheduledTasks isHidden = configurableTask.IsHidden; } - string key = null; - - var hasKey = task.ScheduledTask as IHasKey; - - if (hasKey != null) - { - key = hasKey.Key; - } + string key = task.ScheduledTask.Key; var triggers = task.Triggers - .Select(GetTriggerInfo) .OrderBy(i => i.Type) .ThenBy(i => i.DayOfWeek ?? DayOfWeek.Sunday) .ThenBy(i => i.TimeOfDayTicks ?? 0) @@ -57,138 +49,5 @@ namespace MediaBrowser.Common.ScheduledTasks Key = key }; } - - /// <summary> - /// Gets the trigger info. - /// </summary> - /// <param name="trigger">The trigger.</param> - /// <returns>TaskTriggerInfo.</returns> - public static TaskTriggerInfo GetTriggerInfo(ITaskTrigger trigger) - { - var info = new TaskTriggerInfo - { - Type = trigger.GetType().Name - }; - - var dailyTrigger = trigger as DailyTrigger; - - if (dailyTrigger != null) - { - info.TimeOfDayTicks = dailyTrigger.TimeOfDay.Ticks; - } - - var weeklyTaskTrigger = trigger as WeeklyTrigger; - - if (weeklyTaskTrigger != null) - { - info.TimeOfDayTicks = weeklyTaskTrigger.TimeOfDay.Ticks; - info.DayOfWeek = weeklyTaskTrigger.DayOfWeek; - } - - var intervalTaskTrigger = trigger as IntervalTrigger; - - if (intervalTaskTrigger != null) - { - info.IntervalTicks = intervalTaskTrigger.Interval.Ticks; - } - - var systemEventTrigger = trigger as SystemEventTrigger; - - if (systemEventTrigger != null) - { - info.SystemEvent = systemEventTrigger.SystemEvent; - } - - if (trigger.TaskOptions != null) - { - info.MaxRuntimeMs = trigger.TaskOptions.MaxRuntimeMs; - } - - return info; - } - - /// <summary> - /// Converts a TaskTriggerInfo into a concrete BaseTaskTrigger - /// </summary> - /// <param name="info">The info.</param> - /// <returns>BaseTaskTrigger.</returns> - /// <exception cref="System.ArgumentNullException"></exception> - /// <exception cref="System.ArgumentException">Invalid trigger type: + info.Type</exception> - public static ITaskTrigger GetTrigger(TaskTriggerInfo info) - { - var options = new TaskExecutionOptions - { - MaxRuntimeMs = info.MaxRuntimeMs - }; - - if (info.Type.Equals(typeof(DailyTrigger).Name, StringComparison.OrdinalIgnoreCase)) - { - if (!info.TimeOfDayTicks.HasValue) - { - throw new ArgumentNullException(); - } - - return new DailyTrigger - { - TimeOfDay = TimeSpan.FromTicks(info.TimeOfDayTicks.Value), - TaskOptions = options - }; - } - - if (info.Type.Equals(typeof(WeeklyTrigger).Name, StringComparison.OrdinalIgnoreCase)) - { - if (!info.TimeOfDayTicks.HasValue) - { - throw new ArgumentNullException(); - } - - if (!info.DayOfWeek.HasValue) - { - throw new ArgumentNullException(); - } - - return new WeeklyTrigger - { - TimeOfDay = TimeSpan.FromTicks(info.TimeOfDayTicks.Value), - DayOfWeek = info.DayOfWeek.Value, - TaskOptions = options - }; - } - - if (info.Type.Equals(typeof(IntervalTrigger).Name, StringComparison.OrdinalIgnoreCase)) - { - if (!info.IntervalTicks.HasValue) - { - throw new ArgumentNullException(); - } - - return new IntervalTrigger - { - Interval = TimeSpan.FromTicks(info.IntervalTicks.Value), - TaskOptions = options - }; - } - - if (info.Type.Equals(typeof(SystemEventTrigger).Name, StringComparison.OrdinalIgnoreCase)) - { - if (!info.SystemEvent.HasValue) - { - throw new ArgumentNullException(); - } - - return new SystemEventTrigger - { - SystemEvent = info.SystemEvent.Value, - TaskOptions = options - }; - } - - if (info.Type.Equals(typeof(StartupTrigger).Name, StringComparison.OrdinalIgnoreCase)) - { - return new StartupTrigger(); - } - - throw new ArgumentException("Unrecognized trigger type: " + info.Type); - } } } |
