Files
Disco/Disco.Services/Tasks/ScheduledTaskStatusLive.cs
2017-03-25 15:29:51 +11:00

54 lines
2.0 KiB
C#

using System;
namespace Disco.Services.Tasks
{
public class ScheduledTaskStatusLive
{
public string TaskName { get; set; }
public string SessionId { get; set; }
public byte Progress { get; set; }
public string CurrentProcess { get; set; }
public string CurrentDescription { get; set; }
public string TaskExceptionMessage { get; set; }
public bool CancelSupported { get; set; }
public bool IsCancelling { get; set; }
public bool IsRunning { get; set; }
public DateTime? StartedTimestamp { get; set; }
public DateTime? FinishedTimestamp { get; set; }
public DateTime? NextScheduledTimestamp { get; set; }
public string FinishedMessage { get; set; }
public string FinishedUrl { get; set; }
public int StatusVersion { get; set; }
public string[] ChangedProperties { get; set; }
public static ScheduledTaskStatusLive FromScheduledTaskStatus(ScheduledTaskStatus Status, string[] ChangedProperties)
{
return new ScheduledTaskStatusLive()
{
TaskName = Status.TaskName,
SessionId = Status.SessionId,
Progress = Status.Progress,
CurrentProcess = Status.CurrentProcess,
CurrentDescription = Status.CurrentDescription,
CancelSupported = Status.CancelSupported,
TaskExceptionMessage = (Status.TaskException == null ? null : Status.TaskException.Message),
IsCancelling = Status.IsCanceling,
IsRunning = Status.IsRunning,
StartedTimestamp = Status.StartedTimestamp,
FinishedTimestamp = Status.FinishedTimestamp,
NextScheduledTimestamp = Status.NextScheduledTimestamp,
FinishedMessage = Status.FinishedMessage,
FinishedUrl = Status.FinishedUrl,
StatusVersion = Status.StatusVersion,
ChangedProperties = ChangedProperties
};
}
}
}