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

[Comment("项目 - 项目外部人员")]
[Table("TrialExternalUser")]
public class TrialExternalUser : BaseFullAuditEntity
{
    #region 导航属性
    [JsonIgnore]
    public Trial Trial { get; set; }
    #endregion
    public Guid TrialId { get; set; }

    public Guid UserTypeId { 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;
    public bool IsSystemUser { get; set; }

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

    public DateTime? ConfirmTime { get; set; }

    public string RejectReason { get; set; } = String.Empty;

    [Comment("邀请状态")]
    
    public TrialExternalUserStateEnum InviteState { get; set; } = TrialExternalUserStateEnum.WaitSent;

}

