using NetAdmin.Domain.DbMaps.Dependency; using NetAdmin.Domain.Dto.Sys.UserProfile; namespace NetAdmin.Domain.DbMaps.Sys; /// /// 用户档案表 /// [Table(Name = Chars.FLG_DB_TABLE_NAME_PREFIX + nameof(Sys_UserProfile))] public record Sys_UserProfile : VersionEntity, IRegister { /// /// 出生日期 /// [Column] [JsonIgnore] public virtual DateTime? BornDate { get; init; } /// /// 证件号码 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_63)] [JsonIgnore] public virtual string CertificateNumber { get; init; } /// /// 证件类型 /// [Column] [JsonIgnore] public virtual CertificateTypes? CertificateType { get; init; } /// /// 工作地址 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)] [JsonIgnore] public virtual string CompanyAddress { get; init; } /// /// 工作地区 /// [Column] [JsonIgnore] public int? CompanyArea { get; init; } /// /// 工作单位 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] [JsonIgnore] public virtual string CompanyName { get; init; } /// /// 工作电话 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] [JsonIgnore] public virtual string CompanyTelephone { get; init; } /// /// 文化程度 /// [Column] [JsonIgnore] public virtual Educations? Education { get; init; } /// /// 紧急联系地址 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)] [JsonIgnore] public virtual string EmergencyContactAddress { get; init; } /// /// 紧急联系地区 /// [Column] [JsonIgnore] public int? EmergencyContactArea { get; init; } /// /// 紧急联系人手机号码 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_15)] [JsonIgnore] public virtual string EmergencyContactMobile { get; init; } /// /// 紧急联系人 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] [JsonIgnore] public virtual string EmergencyContactName { get; init; } /// /// 毕业学校 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] [JsonIgnore] public virtual string GraduateSchool { get; init; } /// /// 身高 /// [Column] [JsonIgnore] public virtual int? Height { get; init; } /// /// 住宅地址 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_127)] [JsonIgnore] public virtual string HomeAddress { get; init; } /// /// 住宅地区 /// [Column] [JsonIgnore] public int? HomeArea { get; init; } /// /// 住宅电话 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] [JsonIgnore] public virtual string HomeTelephone { get; init; } /// /// 婚姻状况 /// [Column] [JsonIgnore] public virtual MarriageStatues? MarriageStatus { get; init; } /// /// 民族 /// /// 7 [Column] [JsonIgnore] public virtual Nations? Nation { get; init; } /// /// 籍贯 /// [Column] [JsonIgnore] public int? NationArea { get; init; } /// /// 政治面貌 /// [Column] [JsonIgnore] public virtual PoliticalStatues? PoliticalStatus { get; init; } /// /// 职业 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] [JsonIgnore] public virtual string Profession { get; init; } /// /// 真实姓名 /// [Column(DbType = Chars.FLG_DB_FIELD_TYPE_VARCHAR_31)] [JsonIgnore] public virtual string RealName { get; init; } /// /// 性别 /// [Column] [JsonIgnore] public virtual Sexes? Sex { get; init; } /// /// 用户基本信息 /// [JsonIgnore] public Sys_User User { get; init; } /// public void Register(TypeAdapterConfig config) { _ = config.ForType() .Map(d => d.NationArea, s => s.NationArea == null ? null : s.NationArea.Value) .Map(d => d.CompanyArea, s => s.CompanyArea == null ? null : s.CompanyArea.Value) .Map(d => d.HomeArea, s => s.HomeArea == null ? null : s.HomeArea.Value) .Map( // d => d.EmergencyContactArea , s => s.EmergencyContactArea == null ? null : s.EmergencyContactArea.Value); } }