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 bool IsActive { get; set; } = true; [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; } public virtual List RetirementResignDocs { get; set; } = new List(); } }