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

[Comment("项目 - 项目中心调研用户表")]
[Table("TrialSiteUserSurvey")]
public class TrialSiteUserSurvey : BaseFullAuditEntity
{
    #region 导航属性
    [JsonIgnore]
    [ForeignKey("TrialSiteSurveyId")]
    public TrialSiteSurvey TrialSiteSurvey { get; set; }
    [JsonIgnore]
    [ForeignKey("UserTypeId")]
    public UserType UserTypeRole { get; set; }
    #endregion
    public Guid TrialSiteSurveyId { get; set; }

    public Guid? UserTypeId { get; set; }
    public int? TrialRoleCode { get; set; }

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

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

    public string FirstName { get; set; } = string.Empty;
    public string LastName { get; set; } = string.Empty;

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

    [Comment("IdentityUser 表的用户Id")]
    public Guid? SystemUserId { get; set; }

    public bool IsGenerateAccount { get; set; }

    public bool IsGenerateSuccess { get; set; }
    public TrialSiteUserStateEnum InviteState { get; set; } = TrialSiteUserStateEnum.WaitSent;

    public bool IsJoin { get; set; }

    /// <summary>
    /// 中心人员
    /// </summary>
    public bool IsHistoryUser { get; set; }

    /// <summary>
    /// 调研设置用户退出
    /// </summary>
    public bool? IsHistoryUserDeleted { get; set; }

    /// <summary>
    /// 中心人员设置退出了
    /// </summary>
    public bool? IsHistoryUserOriginDeleted { get; set; }
}

