264 lines
8.9 KiB
C#
264 lines
8.9 KiB
C#
using BMA.EHR.MetaData.Service.Models;
|
|
using BMA.EHR.Recruit.Service.Models.Documents;
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
namespace BMA.EHR.Profile.Service.Models.HR
|
|
{
|
|
public class Profile : EntityBase
|
|
{
|
|
[Key]
|
|
public Guid Id { get; set; }
|
|
|
|
[MaxLength(13)]
|
|
public string? CitizenId { get; set; }
|
|
|
|
[MaxLength(50)]
|
|
public string? ProfileType { get; set; }
|
|
|
|
[MaxLength(20)]
|
|
public string? EmployeeType { get; set; }
|
|
|
|
[MaxLength(20)]
|
|
public string? EmployeeClass { get; set; }
|
|
|
|
public Guid? PrefixId { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
[Required]
|
|
public string? FirstName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
[Required]
|
|
public string? LastName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string AvatarRef { get; set; }
|
|
|
|
public Guid? GenderId { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? Nationality { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? Race { get; set; }
|
|
|
|
public Guid? ReligionId { get; set; }
|
|
|
|
[Required]
|
|
public DateTime BirthDate { get; set; }
|
|
|
|
public Guid? BloodGroupId { get; set; }
|
|
|
|
public Guid? RelationshipId { get; set; }
|
|
|
|
[MaxLength(50)]
|
|
public string? TelephoneNumber { get; set; }
|
|
|
|
public bool? Couple { get; set; }
|
|
|
|
public Guid? CouplePrefixId { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? CoupleFirstName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? CoupleLastName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? CoupleCareer { get; set; }
|
|
|
|
public Guid? FatherPrefixId { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? FatherFirstName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? FatherLastName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? FatherCareer { get; set; }
|
|
|
|
public Guid? MotherPrefixId { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? MotherFirstName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? MotherLastName { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string? MotherCareer { get; set; }
|
|
|
|
[MaxLength(200)]
|
|
public string? CurrentAddress { get; set; }
|
|
|
|
public Guid? CurrentSubDistrictId { get; set; }
|
|
|
|
public Guid? CurrentDistrictId { get; set; }
|
|
|
|
public Guid? CurrentProvinceId { get; set; }
|
|
|
|
[MaxLength(5)]
|
|
public string? CurrentZipCode { get; set; }
|
|
|
|
public bool? RegistrationSame { get; set; } = false;
|
|
|
|
[MaxLength(200)]
|
|
public string? RegistrationAddress { get; set; }
|
|
|
|
public Guid? RegistrationSubDistrictId { get; set; }
|
|
|
|
public Guid? RegistrationDistrictId { get; set; }
|
|
|
|
public Guid? RegistrationProvinceId { get; set; }
|
|
|
|
[MaxLength(5)]
|
|
public string? RegistrationZipCode { get; set; }
|
|
|
|
public DateTime? DateAppoint { get; set; }
|
|
|
|
public DateTime? DateStart { get; set; }
|
|
|
|
public DateTime? DateRetire { get; set; }
|
|
|
|
public string? ReasonSameDate { get; set; }
|
|
// public Guid? AffiliationId { get; set; }
|
|
// public Guid? PositionId { get; set; }
|
|
// public Guid? WorkId { get; set; }
|
|
// public Guid? TypeId { get; set; }
|
|
// public Guid? LevelId { get; set; }
|
|
// public Guid? NumberId { get; set; }
|
|
// public Guid? BusinessId { get; set; }
|
|
public Guid? OcId { get; set; }
|
|
public string? Oc { get; set; }
|
|
public Guid? OrganizationShortNameId { get; set; }
|
|
public string? OrganizationShortName { get; set; }
|
|
public string? GovernmentCode { get; set; }
|
|
public Guid? OrganizationOrganizationId { get; set; }
|
|
public string? OrganizationOrganization { get; set; }
|
|
public Guid? PositionId { get; set; }
|
|
public string? Position { get; set; }
|
|
public Guid? PosNoId { get; set; }
|
|
public string? PosNo { get; set; }
|
|
public Guid? PositionLineId { get; set; }
|
|
public string? PositionLine { get; set; }
|
|
public Guid? PositionPathSideId { get; set; }
|
|
public string? PositionPathSide { get; set; }
|
|
public Guid? PositionTypeId { get; set; }
|
|
public string? PositionType { get; set; }
|
|
public Guid? PositionLevelId { get; set; }
|
|
public string? PositionLevel { get; set; }
|
|
public Guid? PositionExecutiveId { get; set; }
|
|
public string? PositionExecutive { get; set; }
|
|
public Guid? PositionExecutiveSideId { get; set; }
|
|
public string? PositionExecutiveSide { get; set; }
|
|
|
|
|
|
[MaxLength(100)]
|
|
public string Physical { get; set; }
|
|
|
|
[MaxLength(100)]
|
|
public string Ability { get; set; }
|
|
|
|
public bool IsActive { get; set; } = true;
|
|
|
|
public bool IsLeave { get; set; } = false;
|
|
|
|
public DateTime? LeaveDate { get; set; }
|
|
|
|
[MaxLength(1000)]
|
|
public string? LeaveReason { get; set; }
|
|
|
|
public DateTime? CreatedDate { get; set; }
|
|
|
|
public DateTime? ModifiedDate { get; set; }
|
|
|
|
[MaxLength(250)]
|
|
public string CreatedUser { get; set; } = string.Empty;
|
|
|
|
[MaxLength(5)]
|
|
public string EntryStatus { get; set; } = "st1"; // สถานะการตรวจสอบ st1 = create; st2 = pending
|
|
|
|
public bool IsTransfer { get; set; } = false;
|
|
|
|
public DateTime? TransferDate { get; set; }
|
|
|
|
public int GovAgeAbsent { get; set; } = 0;
|
|
|
|
public int GovAgePlus { get; set; } = 0;
|
|
|
|
// public OrganizationEntity? Organization { get; set; }
|
|
|
|
// public PositionNumberEntity PositionNumber { get; set; }
|
|
|
|
// public Position Position { get; set; }
|
|
|
|
// public PositionExecutive PositionExecutive { get; set; }
|
|
|
|
public bool IsVerified { get; set; } = false;
|
|
|
|
[MaxLength(100)]
|
|
public string VerifiedUser { get; set; } = string.Empty;
|
|
|
|
public DateTime? VerifiedDate { get; set; }
|
|
|
|
public Document? Avatar { get; set; }
|
|
|
|
public bool IsProbation { get; set; } = true;
|
|
|
|
// public PositionType PositionType { get; set; } // ประเภทตำแหน่ง
|
|
|
|
// public PositionLevel PositionLevel { get; set; } // ระดับ
|
|
|
|
// public OrganizationPositionEntity? OrganizationPosition { get; set; }
|
|
|
|
public virtual List<ProfileEducation> Educations { get; set; } = new List<ProfileEducation>();
|
|
|
|
public virtual List<ProfileHonor> Honors { get; set; } = new List<ProfileHonor>();
|
|
public virtual List<ProfileAssessment> Assessments { get; set; } = new List<ProfileAssessment>();
|
|
|
|
public virtual List<ProfileDiscipline> Disciplines { get; set; } = new List<ProfileDiscipline>();
|
|
|
|
public virtual List<ProfileCertificate> Certificates { get; set; } = new List<ProfileCertificate>();
|
|
|
|
public virtual List<ProfileTraining> Trainings { get; set; } = new List<ProfileTraining>();
|
|
|
|
public virtual List<ProfileInsignia> Insignias { get; set; } = new List<ProfileInsignia>();
|
|
|
|
public virtual List<ProfileSalary> Salaries { get; set; } = new List<ProfileSalary>();
|
|
|
|
public virtual List<ProfileHistory> ProfileHistory { get; set; } = new List<ProfileHistory>();
|
|
|
|
public virtual List<ProfileCoupleHistory> CoupleHistory { get; set; } = new List<ProfileCoupleHistory>();
|
|
|
|
public virtual List<ProfileFatherHistory> FatherHistory { get; set; } = new List<ProfileFatherHistory>();
|
|
|
|
public virtual List<ProfileMotherHistory> MotherHistory { get; set; } = new List<ProfileMotherHistory>();
|
|
|
|
public virtual List<ProfileFamilyHistory> FamilyHistory { get; set; } = new List<ProfileFamilyHistory>();
|
|
|
|
public virtual List<ProfileGovernmentHistory> GovernmentHistory { get; set; } = new List<ProfileGovernmentHistory>();
|
|
|
|
public virtual List<ProfileLeave> Leaves { get; set; } = new List<ProfileLeave>();
|
|
|
|
public virtual List<ProfileCurrentAddressHistory> CurrentAddressHistory { get; set; } = new List<ProfileCurrentAddressHistory>();
|
|
|
|
public virtual List<ProfileRegistrationAddressHistory> RegistrationAddressHistory { get; set; } = new List<ProfileRegistrationAddressHistory>();
|
|
|
|
public virtual List<ProfileAddressHistory> AddressHistory { get; set; } = new List<ProfileAddressHistory>();
|
|
|
|
public virtual List<ProfileOther> Others { get; set; } = new List<ProfileOther>();
|
|
|
|
public virtual List<ProfileAbility> Abilitys { get; set; } = new List<ProfileAbility>();
|
|
|
|
public virtual List<ProfileDuty> Dutys { get; set; } = new List<ProfileDuty>();
|
|
|
|
public virtual List<ProfileNopaid> Nopaids { get; set; } = new List<ProfileNopaid>();
|
|
|
|
public virtual List<ProfileAvatarHistory> AvatarHistory { get; set; } = new List<ProfileAvatarHistory>();
|
|
|
|
public virtual List<ProfilePaper> Papers { get; set; } = new List<ProfilePaper>();
|
|
|
|
public virtual List<ProfileChildren> Childrens { get; set; } = new List<ProfileChildren>();
|
|
}
|
|
}
|