using System;
namespace FrameworkDAL.DTO.SchedulerTaskGenerator
{
///
/// Message sent to RabbitMQ worker
/// This is a TRANSPORT DTO (not DB DTO)
///
public class SchedulerTaskMessage
{
public int JobId { get; set; }
public int SchedulerId { get; set; }
public string JobName { get; set; } = string.Empty;
public string CronExpression { get; set; } = string.Empty;
public string SchedulerName { get; set; } = string.Empty;
public string LastRunOn { get; set; } = string.Empty;
public int TenantId { get; set; }
///
/// Factory mapper from SchedulerTaskDTO
///
public static SchedulerTaskMessage FromDTO(SchedulerTaskDTO dto)
{
if (dto == null)
throw new ArgumentNullException(nameof(dto));
return new SchedulerTaskMessage
{
JobId = dto.JobId,
SchedulerId = dto.SchedulerId,
JobName = dto.JobName,
CronExpression = dto.CronExpression,
SchedulerName = dto.SchedulerName,
LastRunOn = dto.LastRunOn?.ToString("o") ?? string.Empty,
TenantId = dto.TenantId
};
}
}
}