using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models;

[Comment("项目 - 项目中心调研表")]
[Table("TrialSiteSurvey")]
public class TrialSiteSurvey : BaseFullDeleteAuditEntity
{

    #region 导航属性
    [JsonIgnore]
    public List<TrialSiteUserSurvey> TrialSiteUserSurveyList { get; set; } = new List<TrialSiteUserSurvey>();
    [JsonIgnore]
    public List<TrialSiteEquipmentSurvey> TrialSiteEquipmentSurveyList { get; set; } = new List<TrialSiteEquipmentSurvey>();

    [JsonIgnore]
    public TrialSite TrialSite { get; set; }
    [JsonIgnore]
    public Trial Trial { get; set; }
    [JsonIgnore]
    public User ReviewerUser { get; set; }
    [JsonIgnore]
    public User PreliminaryUser { get; set; }
    #endregion

    public Guid TrialSiteId { get; set; }

    public TrialSiteSurveyEnum State { get; set; } = TrialSiteSurveyEnum.ToSubmit;
    public Guid TrialId { get; set; }
    public string UserName { get; set; } = string.Empty;

    public string Phone { get; set; } = string.Empty;
    public string Email { get; set; } = string.Empty;
    public int AverageEngravingCycle { get; set; }

    public bool IsConfirmImagingTechnologist { get; set; }

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

    public int EfficacyEvaluatorType { get; set; }

    public bool IsFollowStudyParameters { get; set; }

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

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

    public Guid? PreliminaryUserId { get; set; }

    public Guid? ReviewerUserId { get; set; }

    public DateTime? PreliminaryTime { get; set; }

    public DateTime? ReviewerTime { get; set; }
}

