using IRaCIS.Core.Domain.BaseModel;
using IRaCIS.Core.Domain.Share;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IRaCIS.Core.Domain._DomainEvent
{
    /// <summary>
    ///  直接申请流程 IQC申请,PM/APM审批,通知IQC和CRC;CRC申请,PM/APM审批,通知CRC; SubjectVisitImageBackRecord表
    /// </summary>
    public class DirectApplyReupdloadEvent : DomainEvent
    {

        public Guid SubjectVisitId { get; set; }


        public ImageBackApplyEnum ApplyUserRole { get; set; }

        public ImageBackStateEnum ImageBackState { get; set; }

    }

    /// <summary>
    /// 正常业务流程申请重传审批     一致性核查  CRC申请 (CRC申请,PM/APM审批,通知CRC;) SubjectVisit表
    /// </summary>
    public class CheckReuploadEvent : DomainEvent
    {
        public Guid SubjectVisitId { get; set; }

        [Comment("一致性核查 回退")]
        public RequestBackStateEnum RequestBackState { get; set; }
    }

    /// <summary>
    ///正常业务流程申请重传审批    质疑CRC 申请  (CRC申请,IQC审批,通知CRC;)  QCChallenge表
    /// </summary>
    public class QCChanllengeReuploadEvent : DomainEvent
    {
        public Guid SubjectVisitId { get; set; }
        public QCChanllengeReuploadEnum ReuploadEnum { get; set; }
    }




    /// <summary>
    ///针对于已阅的任务  PM 申请, SPM/CPM审批,通知PM/阅片人
    /// </summary>
    public class HaveReadVisitTaskReReading : DomainEvent
    {
        public Guid SubjectId { get; set; }
        public Guid VisitTaskId { get; set; }

        public ReReadingApplyState ReReadingApplyState { get; set; }
    }

    /// <summary>
    ///针对于未阅的任务   PM直接退回,通知CRC --这里废弃 ,没有审批流程,不做
    /// </summary>
    public class UnReadVisitTaskReReadingApproval : DomainEvent
    {
        public Guid SubjectVisitId { get; set; }


    }
}