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; }
}

/// <summary>
/// QC 影像质疑待处理
/// </summary>
public class QCImageQuestionRecurringSchedule : IRCRecurringSchedule
{
    
}

/// <summary>
/// CRC 影像质疑
/// </summary>
public class CRCImageQuestionRecurringSchedule : IRCRecurringSchedule
{

}

/// <summary>
/// 影像质控
/// </summary>
public class ImageQCRecurringSchedule : IRCRecurringSchedule
{

}






