using IRaCIS.Core.Application.MassTransit.Command;
using MassTransit;
using MassTransit.Scheduling;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IRaCIS.Core.Application.MassTransit.Consumer;
public abstract class IRCRecurringSchedule :
        RecurringSchedule
{
    protected IRCRecurringSchedule()
    {
        ScheduleGroup = GetType().Name;
        TimeZoneId = TimeZoneInfo.Local.Id;
        StartTime = DateTime.Now;
    }
    public MissedEventPolicy MisfirePolicy { get; protected set; }
    public string TimeZoneId { get; protected set; }
    public DateTimeOffset StartTime { get; protected set; }
    public DateTimeOffset? EndTime { get; protected set; }
    public string ScheduleId { get;  set; }
    public string ScheduleGroup { get; private set; }
    public string CronExpression { get;  set; }
    public string Description { get; protected set; }
}
/// 
/// QC 影像质疑待处理
/// 
public class QCImageQuestionRecurringSchedule : IRCRecurringSchedule
{
    
}
/// 
/// CRC 影像质疑
/// 
public class CRCImageQuestionRecurringSchedule : IRCRecurringSchedule
{
}
/// 
/// 影像质控
/// 
public class ImageQCRecurringSchedule : IRCRecurringSchedule
{
}