using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using BMA.EHR.Domain.Models.Base; using BMA.EHR.Domain.Models.MetaData; using BMA.EHR.Domain.Models.Organizations; using Microsoft.EntityFrameworkCore; namespace BMA.EHR.Domain.Models.Discipline { public class DisciplineReport_Profile : EntityBase { [Comment("id อ้างอิง profile")] public string? PersonId { get; set; } [MaxLength(13), Comment("รหัสบัตรประชาชน")] public string? CitizenId { get; set; } [Comment("คำนำหน้า")] public string? Prefix { get; set; } [Required, MaxLength(100), Comment("ชื่อ")] public string? FirstName { get; set; } [Required, MaxLength(100), Comment("นามสกุล")] public string? LastName { get; set; } [Comment("สังกัด")] public string? Organization { get; set; } [Comment("ชื่อหน่วยงาน root")] public string? root { get; set; } [Comment("id หน่วยงาน root")] public string? rootId { get; set; } [Comment("id หน่วยงาน root")] public string? rootDnaId { 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("id หน่วยงาน child1")] public string? child1DnaId { 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("id หน่วยงาน child2")] public string? child2DnaId { 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("id หน่วยงาน child3")] public string? child3DnaId { 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("id หน่วยงาน child4")] public string? child4DnaId { get; set; } [Comment("ชื่อย่อหน่วยงาน child4")] public string? child4ShortName { get; set; } [Comment("เลขที่ตำแหน่ง")] public int? posMasterNo { 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; } [Comment("ตำแหน่ง")] public string? Position { get; set; } [Comment("เลขที่ตำแหน่ง")] public string? PosNo { get; set; } [Comment("ระดับ")] public string? PositionLevel { get; set; } [Comment("ประเภท")] public string? PositionType { get; set; } [Comment("เงินเดือน")] public double? Salary { get; set; } [Comment("สถานะออกคำสั่ง")] public string? Status { get; set; } [Comment("ประเภทออกคำสั่ง")] public Guid? CommandTypeId { get; set; } [Comment("ประเภทออกคำสั่ง")] public string? CommandCode { get; set; } [Comment("เหตุที่ถูกสั่งพักราชการ/ออกจากราชการไว้ก่อน")] public string? DescriptionSuspend { get; set; } [Comment("วันที่สั่งพักราชการ/ให้ออกจากราชการไว้ก่อน")] public DateTime? StartDateSuspend { get; set; } [Comment("วันสิ้นสุดการสั่งพักราชการ/ให้ออกจากราชการไว้ก่อน")] public DateTime? EndDateSuspend { get; set; } [Comment("เรื่องที่ร้องเรียน"), Column(TypeName = "text")] public string? Title { get; set; } = string.Empty; [Comment("ลักษณะความผิดครั้งแรกจะเป็น 'ยังไม่ระบุ' (NOT_SPECIFIED คือ ยังไม่ระบุ, NOT_DEADLY คือ ไม่ร้ายแรง, DEADLY คือ ร้ายแรง)")] public string? OffenseDetails { get; set; } = string.Empty; [Comment("ระดับโทษความผิด กรณีไม่ร้ายแรง: ภาคทัณฑ์, ตัดเงินเดือน, ลดขั้นเงินเดือน | กรณีร้ายแรง: ปลดออก, ไล่ออก")] public string? DisciplinaryFaultLevel { get; set; } [Comment("กรณีความผิด")] public string? DisciplinaryCaseFault { get; set; } [Comment("สถานภาพ (OFFICER->ข้าราชการ EMPLOYEE->ลูกจ้างประจำ)")] public string? profileType { get; set; } [Required, Comment("Id เรื่องสอบสวน")] public DisciplineDisciplinary DisciplineDisciplinary { get; set; } // [Required, Comment("Id ผู้ถูกร้องเรียน")] // public DisciplineDisciplinary_ProfileComplaintInvestigate? DisciplineDisciplinary_ProfileComplaintInvestigate { get; set; } } }