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" ''' ''' Is the job currently executing ''' Public Executing As Boolean = False ''' ''' Did the job complete without an error ''' Public Successful As Boolean = False ''' ''' Did the job do some work or is/was just waiting for some input ''' Public Waiting As Boolean = False ''' ''' 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 ''' ''' 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 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