Files
tnb.server/common/Tnb.Common.Core/EventBus/Sources/TaskLogEventSource.cs
2023-05-31 10:19:05 +08:00

55 lines
1.4 KiB
C#

using JNPF.EventBus;
using JNPF.TaskScheduler.Entitys;
using SqlSugar;
namespace JNPF.EventHandler;
/// <summary>
/// 日记事件源(事件承载对象).
/// </summary>
public class TaskLogEventSource : IEventSource
{
/// <summary>
/// 构造函数.
/// </summary>
/// <param name="eventId">事件ID.</param>
/// <param name="connectionConfig">数据库连接配置.</param>
/// <param name="entity">实体.</param>
public TaskLogEventSource(string eventId, ConnectionConfigOptions connectionConfig, TimeTaskLogEntity entity)
{
EventId = eventId;
ConnectionConfig = connectionConfig;
Entity = entity;
}
/// <summary>
/// 数据库连接配置.
/// </summary>
public ConnectionConfigOptions ConnectionConfig { get; set; }
/// <summary>
/// 日记实体.
/// </summary>
public TimeTaskLogEntity Entity { get; set; }
/// <summary>
/// 事件 Id.
/// </summary>
public string EventId { get; }
/// <summary>
/// 事件承载(携带)数据.
/// </summary>
public object Payload { get; }
/// <summary>
/// 取消任务 Token.
/// </summary>
/// <remarks>用于取消本次消息处理.</remarks>
public CancellationToken CancellationToken { get; }
/// <summary>
/// 事件创建时间.
/// </summary>
public DateTime CreatedTime { get; } = DateTime.UtcNow;
}