aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-10-23 15:47:34 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-10-23 15:47:34 -0400
commit0f8ccfaf496c3c761c06285574048f8866ef692c (patch)
treed4100df4cd24facfe89a68e46a7a31f94be1d0ec /MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs
parent07791d46a571d3d6eed23e98ec0fe1c46ea0d37f (diff)
prep for portable common
Diffstat (limited to 'MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs')
-rw-r--r--MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs52
1 files changed, 52 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs b/MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs
new file mode 100644
index 000000000..66f5294e7
--- /dev/null
+++ b/MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs
@@ -0,0 +1,52 @@
+using System;
+using System.Linq;
+
+namespace MediaBrowser.Model.Tasks
+{
+ /// <summary>
+ /// Class ScheduledTaskHelpers
+ /// </summary>
+ public static class ScheduledTaskHelpers
+ {
+ /// <summary>
+ /// Gets the task info.
+ /// </summary>
+ /// <param name="task">The task.</param>
+ /// <returns>TaskInfo.</returns>
+ public static TaskInfo GetTaskInfo(IScheduledTaskWorker task)
+ {
+ var isHidden = false;
+
+ var configurableTask = task.ScheduledTask as IConfigurableScheduledTask;
+
+ if (configurableTask != null)
+ {
+ isHidden = configurableTask.IsHidden;
+ }
+
+ string key = task.ScheduledTask.Key;
+
+ var triggers = task.Triggers
+ .OrderBy(i => i.Type)
+ .ThenBy(i => i.DayOfWeek ?? DayOfWeek.Sunday)
+ .ThenBy(i => i.TimeOfDayTicks ?? 0)
+ .ToList();
+
+ return new TaskInfo
+ {
+ Name = task.Name,
+ CurrentProgressPercentage = task.CurrentProgress,
+ State = task.State,
+ Id = task.Id,
+ LastExecutionResult = task.LastExecutionResult,
+
+ Triggers = triggers,
+
+ Description = task.Description,
+ Category = task.Category,
+ IsHidden = isHidden,
+ Key = key
+ };
+ }
+ }
+}