using IRaCIS.Core.Domain.Share;

namespace IRaCIS.Core.Domain.Models;

[Comment("阅片期设置  只会设计到所有人 或者某个Site  针对全局")]
[Table("ReadingPeriodSet")]
public class ReadingPeriodSet : BaseFullDeleteAuditEntity
{
    #region 导航属性
    [JsonIgnore]
    public List<ReadingPeriodSite> ReadingPeriodSites { get; set; } = new List<ReadingPeriodSite>();
    [JsonIgnore]
    [Comment("访视模板")]
    [ForeignKey("VisitStageId")]
    public VisitStage VisitStage { get; set; }

    [Comment("阅片期计划")]
    [JsonIgnore]
    public List<ReadingPeriodPlan> ReadingPeriodPlanList { get; set; } = new List<ReadingPeriodPlan>();
    #endregion

    public Guid TrialId { get; set; }

    public Guid TrialReadingCriterionId { get; set; }

    [Comment("阅片期名称")]
    public string ReadingPeriodName { get; set; } = string.Empty;

    [Comment("阅片范围")]
    public ReadingScopeEnum ReadingScope { get; set; }

    [Comment("截止日期")]
    public DateTime? ExpirationDate { get; set; }

    [Comment("截止访视")]
    public decimal? ExpirationVisitNum { get; set; }

    [Comment("访视计划ID")]
    public Guid? VisitStageId { get; set; }
    [Comment("是否生效")]
    public ReadingPeriodStatus IsTakeEffect { get; set; }

    [Comment("生效时间")]
    public DateTime? EffectOfTime { get; set; }
    [Comment("是否为全局阅片")]
    public bool IsGlobal { get; set; }

    [Comment("阅片配置的类型")]
    public ReadingSetType ReadingSetType { get; set; }
}

