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.HR; namespace BMA.EHR.Domain.Models.Placement { public class PlacementRelocation : EntityBase { [Required, Comment("Id User")] public Profile Profile { get; set; } [Required, MaxLength(20), Comment("เลขประจำตัวประชาชน")] public string? CitizenId { get; set; } [Required, Comment("คำนำหน้า")] public Prefix? Prefix { get; set; } [Required, Comment("ชื่อ")] public string? Firstname { get; set; } [Required, Comment("นามสกุล")] public string? Lastname { get; set; } [MaxLength(40), Comment("วันเกิด")] public DateTime DateOfBirth { get; set; } [Comment("Id เพศ")] public Gender? Gender { get; set; } [MaxLength(100), Comment("สัญชาติ")] public string? Nationality { get; set; } [MaxLength(100), Comment("เชื้อชาติ")] public string? Race { get; set; } [Comment("Id ศาสนา")] public Religion? Religion { get; set; } [Comment("Id กลุ่มเลือด")] public BloodGroup? BloodGroup { get; set; } [Comment("Id สถานะภาพ")] public Relationship? Relationship { get; set; } [MaxLength(50), Comment("เบอร์โทร")] public string? TelephoneNumber { get; set; } [Comment("สถานะคำขอ")] public string Status { get; set; } = "WAITTING"; [Comment("Id เลขที่ตำแหน่ง")] public OrganizationPositionEntity? OrganizationPosition { get; set; } [Comment("เงินเดือน")] public double? Amount { get; set; } [Comment("วันที่บรรจุ")] public DateTime? RecruitDate { 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 string? Reason { get; set; } [Comment("วุฒิ/สาขาเดิม")] public string? EducationOld { get; set; } [Comment("สังกัดเดิม")] public string? OrganizationPositionOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม ตำแหน่งประเภท")] public string? PositionTypeOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม ระดับ")] public string? PositionLevelOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม เลขที่")] public string? PositionNumberOld { get; set; } [Comment("ข้อมูลหน่วยงานเดิม เงินเดือน")] public double? AmountOld { get; set; } [Comment("สถานะการใช้งาน")] public bool IsActive { get; set; } = true; public virtual List PlacementRelocationDocs { get; set; } = new List(); } }