aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs')
-rw-r--r--MediaBrowser.Common/ScheduledTasks/ScheduledTaskHelpers.cs143
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);
- }
}
}