Imports System.Runtime.Serialization Public Class StatusItem Public Const PROGRESS_CURRENT = "__Progress_Current" Public Const PROGRESS_TOTAL = "__Progress_Total" Public Const STEP_DEBUG = "DEBUG" Public Const STEP_INFO = "INFO" Public Const STEP_WARNING = "WARNING" Public Const STEP_ERROR = "ERROR" ' Unique Job Run Id, GUID Public Id As String ' Job Id, corresponds to Job Schedule in DB Public JobId As String ' Job Name, corresponds to Job Schedule Key from Quartz Public Name As String = "Unnamed" Public Steps As List(Of HistoryStep) ' Runtime Variables ' Progress Counter Public ProgressCurrent As Integer = 0 ' Total Progress Public ProgressTotal As Integer = 0 ' Flag to determin if the job is currently executing/working Public Executing As Boolean = False ' Creation time of job, set by Constructor Public CreationTime As Date = Date.Now ' Start time of execution, set by JobStatus.Start Public StartTime As Date ' End time of execution, set by JobStatus.Complete Public CompleteTime As Date ' Time of last Progress Update Public UpdateTime As Date ' Total execution time, calculated by JobStatus.Complete Public ExecutionTime As TimeSpan ' Completion/Failure Messages Public Successful As Boolean = False Public SuccessMessage As String = "" Public FailureMessage As String = "" Public Class HistoryStep Public Property Created As Date = Now Public Property Message As String Public Property Level As String End Class End Class