//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
//
using System;
using System.Data;
using System.Collections.Generic;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlTools.ServiceLayer.Agent;
namespace Microsoft.SqlTools.ServiceLayer.Agent.Contracts
{
///
/// a class for storing various properties of agent jobs,
/// used by the Job Activity Monitor
///
public class AgentJobHistoryInfo
{
public int InstanceId { get; set; }
public string SqlMessageId { get; set; }
public string Message { get; set; }
public string StepId { get; set; }
public string StepName { get; set; }
public string SqlSeverity { get; set; }
public Guid JobId { get; set; }
public string JobName { get; set; }
public int RunStatus { get; set; }
public DateTime RunDate { get; set; }
public string RunDuration { get; set; }
public string OperatorEmailed { get; set; }
public string OperatorNetsent { get; set; }
public string OperatorPaged { get; set; }
public string RetriesAttempted { get; set; }
public string Server { get; set; }
public AgentJobStep[] Steps { get; set; }
public AgentScheduleInfo[] Schedules { get; set; }
public AgentAlertInfo[] Alerts { get; set; }
}
public enum CompletionResult
{
Failed = 0,
Succeeded = 1,
Retry = 2,
Cancelled = 3,
InProgress = 4,
Unknown = 5
}
public class AgentJobStep
{
public string jobId;
public string stepId;
public string stepName;
public string message;
public string runDate;
public CompletionResult runStatus;
public AgentJobStepInfo stepDetails;
}
///
/// a class for storing various properties of a agent notebook history
///
public class AgentNotebookHistoryInfo : AgentJobHistoryInfo
{
public int MaterializedNotebookId { get; set; }
public bool MaterializedNotebookPin { get; set; }
public string MaterializedNotebookName { get; set; }
public int MaterializedNotebookErrorFlag { get; set; }
public string MaterializedNotebookErrorInfo { get; set; }
public bool MaterializedNotebookDeleted { get; set; }
}
}