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; using BMA.EHR.Domain.Models.HR; namespace BMA.EHR.Domain.Models.Retirement { public class RetirementResign : EntityBase { [Comment("สถานที่ยื่นขอลาออกราชการ")] public string? Location { get; set; } = string.Empty; [Comment("วันที่ยื่นขอออกราชการ")] public DateTime? SendDate { get; set; } [Comment("วันที่ขอออกราชการ")] public DateTime? ActiveDate { get; set; } [Comment("เหตุผลที่ลาออกจากราชการ")] public string? Reason { get; set; } = string.Empty; // [Comment("Id ผู้ลาออก")] // public Profile Profile { 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 string? Status { get; set; } = "WAITTING"; [Comment("เหตุผลอนุมัติ")] public string? ApproveReason { get; set; } [Comment("เหตุผลไม่อนุมัติ")] public string? RejectReason { get; set; } [Comment("เหตุผลยกเลิก")] public string? CancelReason { get; set; } [Comment("สถานะการใช้งาน")] public bool IsActive { get; set; } = true; [Comment("สถานะไม่เป็นหนี้สหกรณ์")] public bool IsNoDebt { get; set; } = false; [Comment("สถานะยับยั้งผู้ดูแล")] public bool? OligarchReject { get; set; } [Comment("เหตุผลอนุมัติผู้ดูแล")] public string? OligarchApproveReason { get; set; } [Comment("เหตุผลยับยั้งผู้ดูแล")] public string? OligarchRejectReason { get; set; } [Comment("วันที่ยับยั้งผู้ดูแล")] public DateTime? OligarchRejectDate { get; set; } [Comment("สถานะยับยั้งผู้บังคับบัญชา")] public bool? CommanderReject { get; set; } [Comment("เหตุผลอนุมัติผู้บังคับบัญชา")] public string? CommanderApproveReason { get; set; } [Comment("เหตุผลยับยั้งผู้บังคับบัญชา")] public string? CommanderRejectReason { get; set; } [Comment("วันที่ยับยั้งผู้บังคับบัญชา")] public DateTime? CommanderRejectDate { get; set; } [Comment("หมายเหตุแนวนอน")] public string? RemarkHorizontal { get; set; } [Comment("สังกัดเดิม")] public string? OrganizationOld { get; set; } [Comment("ตำแหน่งเดิม")] public string? PositionOld { get; set; } [Comment("profile Id")] public string? profileId { get; set; } [Comment("คำนำหน้า")] public string? prefix { get; set; } [Comment("ชื่อ")] public string? firstName { get; set; } [Comment("นามสกุล")] public string? lastName { get; set; } [Comment("เลขบัตรประชาชน")] public string? citizenId { get; set; } [Comment("ชื่อหน่วยงาน root")] public string? root { get; set; } [Comment("id หน่วยงาน root")] public string? rootId { get; set; } [Comment("ชื่อย่อหน่วยงาน root")] public string? rootShortName { get; set; } [Comment("ชื่อหน่วยงาน child1")] public string? child1 { get; set; } [Comment("id หน่วยงาน child1")] public string? child1Id { get; set; } [Comment("ชื่อย่อหน่วยงาน child1")] public string? child1ShortName { get; set; } [Comment("ชื่อหน่วยงาน child2")] public string? child2 { get; set; } [Comment("id หน่วยงาน child2")] public string? child2Id { get; set; } [Comment("ชื่อย่อหน่วยงาน child2")] public string? child2ShortName { get; set; } [Comment("ชื่อหน่วยงาน child3")] public string? child3 { get; set; } [Comment("id หน่วยงาน child3")] public string? child3Id { get; set; } [Comment("ชื่อย่อหน่วยงาน child3")] public string? child3ShortName { get; set; } [Comment("ชื่อหน่วยงาน child4")] public string? child4 { get; set; } [Comment("id หน่วยงาน child4")] public string? child4Id { get; set; } [Comment("ชื่อย่อหน่วยงาน child4")] public string? child4ShortName { get; set; } // [Comment("id revision")] // public string? orgRevisionId { get; set; } [Comment("เลขที่ตำแหน่ง")] public int? posMasterNo { get; set; } [Comment("ชื่อตำแหน่งในสายงาน")] public string? position { get; set; } [Comment("id ประเภทตำแหน่ง")] public string? posTypeId { get; set; } [Comment("ชื่อประเภทตำแหน่ง")] public string? posTypeName { get; set; } [Comment("id ระดับตำแหน่ง")] public string? posLevelId { get; set; } [Comment("ชื่อระดับตำแหน่ง")] public string? posLevelName { get; set; } public virtual List RetirementResignDocs { get; set; } = new List(); public virtual List RetirementResignDebtDocs { get; set; } = new List(); } }