irc-netcore-api/IRaCIS.Core.Domain/Dcotor/Doctor.cs

178 lines
4.7 KiB
C#

using IRaCIS.Core.Domain.Share;
namespace IRaCIS.Core.Domain.Models;
[Comment("医生 - 基础信息表")]
[Table("Doctor")]
public class Doctor : BaseFullAuditEntity
{
#region 导航属性
[Comment("导航属性")]
[JsonIgnore]
public List<DoctorDictionary> DoctorDicRelationList { get; set; } = new List<DoctorDictionary>();
[JsonIgnore]
public List<TrialExperienceCriteria> TrialExperienceCriteriaList { get; set; }
[JsonIgnore]
public List<Enroll> EnrollList { get; set; }
[JsonIgnore]
[ForeignKey("HospitalId")]
public Hospital Hospital { get; set; }
[JsonIgnore]
[ForeignKey("SpecialityId")]
public virtual Dictionary Speciality { get; set; }
[JsonIgnore]
[ForeignKey("DepartmentId")]
public virtual Dictionary Department { get; set; }
[JsonIgnore]
[ForeignKey("RankId")]
public virtual Dictionary Rank { get; set; }
[JsonIgnore]
[ForeignKey("PositionId")]
public virtual Dictionary Position { get; set; }
[JsonIgnore]
public List<Attachment> AttachmentList { get; set; }
[JsonIgnore]
public List<DoctorCriterionFile> CriterionFileList { get; set; }
[JsonIgnore]
public User User { get; set; }
#endregion
public bool AcceptingNewTrial { get; set; }
public bool ActivelyReading { get; set; }
[MaxLength]
public string? AdminComment { get; set; }
public DateTime? AuditTime { get; set; }
public Guid AuditUserId { get; set; }
public string BlindName { get; set; } = null!;
public string BlindNameCN { get; set; } = null!;
[MaxLength]
public string? BlindPublications { get; set; }
[StringLength(400)]
public string ChineseName { get; set; } = null!;
public int Code { get; set; }
public ContractorStatusEnum CooperateStatus { get; set; } = ContractorStatusEnum.Noncooperation;
public Guid? DepartmentId { get; set; }
[StringLength(400)]
public string DepartmentOther { get; set; } = null!;
[StringLength(400)]
public string DepartmentOtherCN { get; set; } = null!;
[StringLength(400)]
public string EMail { get; set; } = null!;
[StringLength(400)]
public string FirstName { get; set; } = null!;
public int GCP { get; set; }
public Guid GCPId { get; set; }
public Guid? HospitalId { get; set; }
public string HospitalOther { get; set; } = null!;
public string HospitalOtherCN { get; set; } = null!;
[StringLength(2000)]
public string Introduction { get; set; } = null!;
public bool IsVirtual { get; set; }
public DateTime? LastLoginTime { get; set; }
[StringLength(400)]
public string LastName { get; set; } = null!;
public int Nation { get; set; }
public Guid OrganizationId { get; set; }
[MaxLength]
public string? OtherClinicalExperience { get; set; }
[MaxLength]
public string? OtherClinicalExperienceCN { get; set; }
[StringLength(400)]
public string Password { get; set; } = null!;
[StringLength(400)]
public string Phone { get; set; } = null!;
public string PhotoPath { get; set; } = null!;
public string Physician { get; set; } = null!;
public string PhysicianCN { get; set; } = null!;
public Guid? PhysicianId { get; set; }
public Guid? PositionId { get; set; }
[StringLength(400)]
public string PositionOther { get; set; } = null!;
[StringLength(400)]
public string PositionOtherCN { get; set; } = null!;
public Guid? RankId { get; set; }
[StringLength(400)]
public string RankOther { get; set; } = null!;
[StringLength(400)]
public string RankOtherCN { get; set; } = null!;
[StringLength(400)]
public string ReadingTypeOther { get; set; } = null!;
[StringLength(400)]
public string ReadingTypeOtherCN { get; set; } = null!;
[StringLength(512)]
public string ResumePath { get; set; } = null!;
public ResumeStatusEnum ResumeStatus { get; set; } = ResumeStatusEnum.Failed;
[StringLength(400)]
public string ReviewerCode { get; set; } = null!;
public ReviewerInformationConfirmStatus ReviewStatus { get; set; } = ReviewerInformationConfirmStatus.ConfirmRefuse;
public int Sex { get; set; }
public Guid? SpecialityId { get; set; }
[StringLength(400)]
public string SpecialityOther { get; set; } = null!;
[StringLength(400)]
public string SpecialityOtherCN { get; set; } = null!;
[StringLength(400)]
public string SubspecialityOther { get; set; } = null!;
[StringLength(400)]
public string SubspecialityOtherCN { get; set; } = null!;
[StringLength(400)]
public string WeChat { get; set; } = null!;
[NotMapped]
public string FullName => LastName + " / " + FirstName;
}