using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using BMA.EHR.Domain.Models.Base; using BMA.EHR.Domain.Models.MetaData; using BMA.EHR.Domain.Models.Organizations; using BMA.EHR.Domain.Models.Documents; namespace BMA.EHR.Domain.Models.Placement { public class PlacementProfile : EntityBase { [Comment("Id บรรจุ")] public Placement? Placement { get; set; } [Comment("Id คำนำหน้า")] public Prefix? Prefix { get; set; } [Comment("ชื่อ")] public string? Firstname { get; set; } [Comment("นามสกุล")] public string? Lastname { get; set; } [Comment("Id เพศ")] public Gender? Gender { get; set; } // [Comment("ลำดับที่สอบได้")] // public int? Number { get; set; } [Comment("Id ตำแหน่งที่สอบได้")] public PositionPath? PositionCandidate { get; set; } [Comment("Id เลขที่ตำแหน่ง")] public OrganizationPositionEntity? OrganizationPosition { get; set; } [Comment("วันที่บรรจุ")] public DateTime? RecruitDate { get; set; } [Comment("วันที่รายงานตัว")] public DateTime? ReportingDate { get; set; } [Comment("เงินเดือน")] public double? Amount { get; set; } [Comment("เงินประจำตำแหน่ง")] public double? PositionSalaryAmount { get; set; } [Comment("เงินค่าตอบแทนรายเดือน")] public double? MouthSalaryAmount { get; set; } [Comment("ตำแหน่ง (รายละเอียด)")] public string? SalaryClass { get; set; } [Comment("เอกสารอ้างอิง")] public string? SalaryRef { get; set; } [Comment("ข้าราชการฯ กทม.")] public bool? IsOfficer { get; set; } [Comment("สถานะการบรรจุ")] public string PlacementStatus { get; set; } = "un-contain"; [Comment("เหตุผลสละสิทธิ์")] public string? RejectReason { get; set; } [Comment("ผ่อนผัน")] public bool IsRelief { get; set; } = false; [Comment("เหตุผลผ่อนผัน")] public string? ReliefReason { get; set; } [Comment("Id เอกสารผ่อนผัน")] public Document? ReliefDoc { get; set; } [Comment("การคัดกรองคุณสมบัติ")] public string? IsProperty { get; set; } [MaxLength(40), Comment("สัญชาติ")] public string? Nationality { get; set; } [MaxLength(40), Comment("เชื้อชาติ")] public string? Race { get; set; } [MaxLength(40), Comment("วันเกิด")] public DateTime? DateOfBirth { get; set; } [Comment("Id สถานภาพ")] public Relationship? Relationship { get; set; } [Comment("Id กลุ่มเลือด")] public BloodGroup? BloodGroup { get; set; } [Comment("Id ศาสนา")] public Religion? Religion { get; set; } [MaxLength(200), Comment("อีเมล")] public string? Email { get; set; } [MaxLength(20), Comment("เลขประจำตัวประชาชน")] public string? CitizenId { get; set; } [Comment("Id เขตที่ออกบัตรประชาชน")] public District? CitizenDistrict { get; set; } [Comment("Id จังหวัดที่ออกบัตรประชาชน")] public Province? CitizenProvince { get; set; } [Comment("วันที่ออกบัตร")] public DateTime? CitizenDate { get; set; } [MaxLength(200), Comment("โทรศัพท์")] public string? Telephone { get; set; } [MaxLength(200), Comment("โทรศัพท์มือถือ")] public string? MobilePhone { get; set; } [Comment("ความสามารถพิเศษ")] public string? Knowledge { get; set; } [Comment("ที่อยู่ตามทะเบียนบ้าน")] public string? RegistAddress { get; set; } [Comment("Id จังหวัดที่อยู่ตามทะเบียนบ้าน")] public Province? RegistProvince { get; set; } [Comment("Id อำเภอที่อยู่ตามทะเบียนบ้าน")] public District? RegistDistrict { get; set; } [Comment("Id ตำบลที่อยู่ตามทะเบียนบ้าน")] public SubDistrict? RegistSubDistrict { get; set; } [MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ตามทะเบียนบ้าน")] public string? RegistZipCode { get; set; } [Comment("ที่อยู่ปัจจุบันเหมือนที่อยู่ตามทะเบียนบ้าน")] public bool? RegistSame { get; set; } [Comment("ที่อยู่ปัจจุบัน")] public string? CurrentAddress { get; set; } [Comment("Id จังหวัดที่อยู่ปัจจุบัน")] public Province? CurrentProvince { get; set; } [Comment("Id อำเภอที่อยู่ปัจจุบัน")] public District? CurrentDistrict { get; set; } [Comment("Id ตำบลที่อยู่ปัจจุบัน")] public SubDistrict? CurrentSubDistrict { get; set; } [MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ปัจจุบัน")] public string? CurrentZipCode { get; set; } [Comment("คู่สมรส")] public bool? Marry { get; set; } [Comment("Id คำนำหน้าชื่อคู่สมรส")] public Prefix? MarryPrefix { get; set; } [MaxLength(100), Comment("ชื่อจริงคู่สมรส")] public string? MarryFirstName { get; set; } [MaxLength(100), Comment("นามสกุลคู่สมรส")] public string? MarryLastName { get; set; } [MaxLength(200), Comment("อาชีพคู่สมรส")] public string? MarryOccupation { get; set; } [MaxLength(100), Comment("สัญชาติคู่สมรส")] public string? MarryNationality { get; set; } [Comment("Id คำนำหน้าชื่อบิดา")] public Prefix? FatherPrefix { get; set; } [MaxLength(100), Comment("ชื่อจริงบิดา")] public string? FatherFirstName { get; set; } [MaxLength(100), Comment("นามสกุลบิดา")] public string? FatherLastName { get; set; } [MaxLength(200), Comment("อาชีพบิดา")] public string? FatherOccupation { get; set; } [MaxLength(100), Comment("สัญชาติบิดา")] public string? FatherNationality { get; set; } [Comment("Id คำนำหน้าชื่อมารดา")] public Prefix? MotherPrefix { get; set; } [MaxLength(100), Comment("ชื่อจริงมารดา")] public string? MotherFirstName { get; set; } [MaxLength(100), Comment("นามสกุลมารดา")] public string? MotherLastName { get; set; } [MaxLength(200), Comment("อาชีพมารดา")] public string? MotherOccupation { get; set; } [MaxLength(100), Comment("สัญชาติมารดา")] public string? MotherNationality { get; set; } [Comment("ตำแหน่งปัจจุบัน ชื่อตำแหน่ง")] public string? OccupationOrg { get; set; } [Comment("ตำแหน่งปัจจุบัน กอง")] public string? OccupationPile { get; set; } [Comment("ตำแหน่งปัจจุบัน กลุ่ม/ฝ่าย")] public string? OccupationGroup { get; set; } [Comment("ตำแหน่งปัจจุบัน เงินเดือน")] public int? OccupationSalary { get; set; } [Comment("ตำแหน่งปัจจุบัน สังกัด")] public string? OccupationPosition { get; set; } [Comment("ตำแหน่งปัจจุบัน ประเภทราชการ")] public string? OccupationPositionType { get; set; } [MaxLength(20), Comment("โทรศัพท์ บริษัท")] public string? OccupationTelephone { get; set; } [Comment("Id ตำแหน่งเลขที่")] public PositionNumberEntity? PositionNumber { get; set; } [Comment("Id ตำแหน่ง")] public PositionPath? PositionPath { get; set; } [Comment("Id ด้าน/สาขา")] public PositionPathSide? PositionPathSide { get; set; } [Comment("Id ประเภทตำแหน่ง")] public PositionType? PositionType { get; set; } [Comment("Id สายงาน")] public PositionLine? PositionLine { get; set; } [Comment("Id ระดับ")] public PositionLevel? PositionLevel { get; set; } [Comment("คะแนนเต็มภาค ก")] public double? PointTotalA { get; set; } [Comment("คะแนนภาค ก")] public double? PointA { get; set; } [Comment("คะแนนเต็มภาค ข")] public double? PointTotalB { get; set; } [Comment("คะแนนภาค ข")] public double? PointB { get; set; } [Comment("คะแนนเต็มภาค ค")] public double? PointTotalC { get; set; } [Comment("คะแนนภาค ค")] public double? PointC { get; set; } [Comment("ลำดับที่สอบได้")] public int? ExamNumber { get; set; } [Comment("จำนวนครั้งที่สมัครสอบ")] public int? ExamRound { get; set; } [Comment("ผลสมัครสอบ")] public string? Pass { get; set; } [Comment("ข้อมูลตำแหน่ง Draft")] public bool? Draft { get; set; } [Comment("หมายเหตุแนวตั้ง")] public string? RemarkVertical { get; set; } [Comment("หมายเหตุแนวนอน")] public string? RemarkHorizontal { get; set; } [Comment("Id รูปโปรไฟล์")] public virtual Document? ProfileImg { get; set; } public virtual List PlacementProfileDocs { get; set; } = new List(); public virtual List PlacementCertificates { get; set; } = new List(); public virtual List PlacementEducations { get; set; } = new List(); } }