diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-23 15:47:34 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-10-23 15:47:34 -0400 |
| commit | 0f8ccfaf496c3c761c06285574048f8866ef692c (patch) | |
| tree | d4100df4cd24facfe89a68e46a7a31f94be1d0ec /MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs | |
| parent | 07791d46a571d3d6eed23e98ec0fe1c46ea0d37f (diff) | |
prep for portable common
Diffstat (limited to 'MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs')
| -rw-r--r-- | MediaBrowser.Model/Tasks/ScheduledTaskHelpers.cs | 52 |
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 + }; + } + } +} |
