using IRaCIS.Core.Domain.Share;

namespace IRaCIS.Core.Domain.Models;

[Comment("重阅申请流程记录表")]
[Table("VisitTaskReReading")]
public class VisitTaskReReading : BaseFullAuditEntity
{
    #region 导航属性

    [JsonIgnore]
    public UserRole RequestReReadingUser { get; set; }

    [JsonIgnore]
    public VisitTask NewReReadingTask { get; set; }
    [JsonIgnore]
    public VisitTask RootReReadingTask { get; set; }
    [JsonIgnore]
    public VisitTask OriginalReReadingTask { get; set; }
    [JsonIgnore]
    public UserRole RequestReReadingConfirmUser { get; set; }

    [JsonIgnore]
    public Trial Trial { get; set; }

    #endregion

    public Guid TrialId { get; set; }

    [Comment("重阅原始任务Id  重阅会产生新的任务")]
    public Guid OriginalReReadingTaskId { get; set; }
    [Comment("产生重阅的根任务Id")]
    public Guid RootReReadingTaskId { get; set; }

    [Comment("重阅申请 产生的新任务Id")]
    public Guid? NewReReadingTaskId { get; set; }

    public Guid RequestReReadingUserId { get; set; }
    public DateTime RequestReReadingTime { get; set; }
    [Comment("申请回退类型")]
    public RequestReReadingType RequestReReadingType { get; set; }
    public string RequestReReadingReason { get; set; } = string.Empty;

    public string RequestReReadingRejectReason { get; set; } = string.Empty;

    public RequestReReadingResult RequestReReadingResultEnum { get; set; }

    public Guid? RequestReReadingConfirmUserId { get; set; }
    public bool IsCopyOrigenalForms { get; set; }

    [Comment("仅仅包括全局和访视")]
    public bool IsCopyFollowForms { get; set; }
}