using Microsoft.EntityFrameworkCore; using System.ComponentModel.DataAnnotations; using BMA.EHR.Domain.Models.Base; using System.ComponentModel.DataAnnotations.Schema; using BMA.EHR.Domain.Models.MetaData; using BMA.EHR.Domain.Models.HR; namespace BMA.EHR.Domain.Models.Insignias { public class InsigniaRequestProfile : EntityBase { [Required] public DateTime RequestDate { get; set; } public double? Salary { get; set; } public bool IsApprove { get; set; } = false; // [MaxLength(50)] // public string? QualificationStatus { get; set; } // [MaxLength(50)] // public string? DocumentStatus { get; set; } // [Column(TypeName = "text")] // public string? Note { get; set; } // [MaxLength(50)] // public string? Special { get; set; } [Column(TypeName = "text"), Comment("รายละเอียดเครื่องราชฯที่ขอ")] public string? MatchingConditions { get; set; } [Comment("สถานะตำแหน่งที่ยื่นขอ")] public string Status { get; set; } = "PENDING"; [Comment("เหตุผลไม่ยื่นขอ")] public string? ReasonReject { get; set; } [Comment("เหตุผลการได้รับเครื่องราชฯ")] public string? Reason { get; set; } [Comment("แจ้งเตือน มีโทษทางวินัย")] public bool? MarkDiscipline { get; set; } = false; [Comment("แจ้งเตือน ไม่ได้เลื่อนเงินเดือน/ไม่ได้เลื่อนขั้น เนื่องจากลาเกิน")] public bool? MarkLeave { get; set; } = false; [Comment("แจ้งเตือน ผลการประเมินการปฏิบัติราชการในรอบ 5 ปี ต่ำกว่าระดับดี (น้อยกว่าร้อยละ 70)")] public bool? MarkRate { get; set; } = false; //public Profile Profile { get; set; } public Guid ProfileId { get; set; } public Insignia RequestInsignia { get; set; } public InsigniaRequest Request { get; set; } public string? Prefix { get; set; } public string? FirstName { get; set; } public string? LastName { get; set; } public string? CitizenId { get; set; } public DateTime? BirthDate { get; set; } public DateTime? DateAppoint { get; set; } public string? Position { get; set; } public string? ProfileType { get; set; } public string? Gender { get; set; } public string? PosTypeName { get; set; } public string? PosLevelName { get; set; } public string? PosNo { get; set; } public double? Amount { get; set; } public double? PositionSalaryAmount { get; set; } public string? LastInsigniaName { get; set; } public Guid? RootId { get; set; } public Guid? RootDnaId { get; set; } public string? Root { get; set; } public Guid? Child1Id { get; set; } public Guid? Child1DnaId { get; set; } public string? Child1 { get; set; } public Guid? Child2Id { get; set; } public Guid? Child2DnaId { get; set; } public string? Child2 { get; set; } public Guid? Child3Id { get; set; } public Guid? Child3DnaId { get; set; } public string? Child3 { get; set; } public Guid? Child4Id { get; set; } public Guid? Child4DnaId { get; set; } public string? Child4 { get; set; } } }