ย้ายมาออกรายงานผ่านระบบ

This commit is contained in:
Suphonchai Phoonsawat 2023-05-10 20:11:47 +07:00
parent 4987f7c5ad
commit b817b781d2
144 changed files with 5573 additions and 63 deletions

20
Models/Exam/BankExam.cs Normal file
View file

@ -0,0 +1,20 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class BankExam : EntityBase
{
[Required, Comment("Id การสอบ")]
public virtual PeriodExam? PeriodExam { get; set; }
[Comment("เลขบัญชี")]
public string? AccountNumber { get; set; }
[Comment("ธนาคาร")]
public string? BankName { get; set; }
[Comment("ชื่อบัญชี")]
public string? AccountName { get; set; }
}
}

17
Models/Exam/CMSAgency.cs Normal file
View file

@ -0,0 +1,17 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class CMSAgency : EntityBase
{
[Required, Comment("Id CMS")]
public virtual CMSCandidate? CMSCandidate { get; set; }
[Comment("ชื่อลิงค์")]
public string? Name { get; set; }
[Comment("ลิงค์")]
public string? Link { get; set; }
}
}

View file

@ -0,0 +1,64 @@
using BMA.EHR.Recruit.Service.Models.Documents;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class CMSCandidate : EntityBase
{
[Comment("Id โลโก้เว็บ")]
public virtual Document? LogoImg { get; set; }
[Comment("Id Banner")]
public virtual Document? BannerImg { get; set; }
[Comment("ชื่อเว็บภาษาไทย")]
public string? NameTh { get; set; }
[Comment("ชื่อย่อ")]
public string? ShortName { get; set; }
[Comment("ชื่อเว็บภาษาอังกฤษ")]
public string? NameEn { get; set; }
[Comment("ข้อมูลเว็บโดยย่อ")]
public string? Description { get; set; }
[Comment("ข้อมูลเกี่ยวกับเรา")]
public string? About { get; set; }
[Comment("ที่อยู่ปัจจุบัน")]
public string? Address { get; set; }
[Comment("Id จังหวัด")]
public Guid? ProvinceId { get; set; }
[Comment("จังหวัด")]
public string? ProvinceName { get; set; }
[Comment("Id อำเภอ")]
public Guid? DistrictId { get; set; }
[Comment("อำเภอ")]
public string? DistrictName { get; set; }
[Comment("Id ตำบล")]
public Guid? SubDistrictId { get; set; }
[Comment("ตำบล")]
public string? SubDistrictName { get; set; }
[MaxLength(10), Comment("รหัสไปรษณีย์")]
public string? ZipCode { get; set; }
[MaxLength(20), Comment("โทรศัพท์")]
public string? Telephone { get; set; }
public List<CMSAgency> CMSAgencys { get; set; } = new List<CMSAgency>();
public List<CMSGovernment> CMSGovernments { get; set; } = new List<CMSGovernment>();
}
}

View file

@ -0,0 +1,17 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class CMSGovernment : EntityBase
{
[Required, Comment("Id CMS")]
public virtual CMSCandidate? CMSCandidate { get; set; }
[Comment("ชื่อลิงค์")]
public string? Name { get; set; }
[Comment("ลิงค์")]
public string? Link { get; set; }
}
}

256
Models/Exam/Candidate.cs Normal file
View file

@ -0,0 +1,256 @@
using BMA.EHR.Recruit.Service.Models.Documents;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class Candidate : EntityBase
{
[Required, Comment("Id การสอบ")]
public virtual PeriodExam? PeriodExam { get; set; }
[Comment("Id ตำแหน่งสอบ")]
public virtual PositionExam? PositionExam { get; set; }
[Required, MaxLength(40), Comment("User Id ผู้สมัคร")]
public string UserId { get; set; } = string.Empty;
[Required, MaxLength(20), Comment("สถานะผู้สมัคร")]
public string Status { get; set; } = "register";
[Comment("เลขประจำตัวสอบ")]
public string? ExamIdenNumber { get; set; }
[Comment("เลขที่นั่งสอบ")]
public string? SeatNumber { get; set; }
[Comment("คะแนนเต็มภาค ข")]
public string? PointTotalB { get; set; }
[Comment("คะแนนภาค ข")]
public string? PointB { get; set; }
[Comment("ผลสอบภาค ข")]
public string? ResultB { get; set; }
[Comment("คะแนนเต็มภาค ค")]
public string? PointTotalC { get; set; }
[Comment("คะแนนภาค ค")]
public string? PointC { get; set; }
[Comment("ผลสอบภาค ค")]
public string? ResultC { get; set; }
[Comment("Id รูปโปรไฟล์")]
public virtual Document? ProfileImg { get; set; }
[Comment("Id หลักฐานชำระเงิน")]
public virtual Document? PaymentImg { get; set; }
[Comment("ลำดับที่สอบได้")]
public string? Number { get; set; }
[Comment("Id คำนำหน้าชื่อ")]
public Guid? PrefixId { get; set; }
[Comment("คำนำหน้าชื่อ")]
public string? PrefixName { get; set; }
[MaxLength(100), Column(Order = 1), Comment("ชื่อจริง")]
public string? FirstName { get; set; }
[MaxLength(100), Column(Order = 2), Comment("นามสกุล")]
public string? LastName { get; set; }
[MaxLength(40), Column(Order = 3), Comment("สัญชาติ")]
public string? Nationality { get; set; }
[MaxLength(40), Comment("วันเกิด")]
public DateTime? DateOfBirth { get; set; }
[Comment("Id สถานภาพ")]
public Guid? RelationshipId { get; set; }
[Comment("สถานภาพ")]
public string? RelationshipName { get; set; }
[MaxLength(200), Comment("อีเมล")]
public string? Email { get; set; }
[MaxLength(20), Comment("เลขประจำตัวประชาชน")]
public string? CitizenId { get; set; }
[Comment("Id เขตที่ออกบัตรประชาชน")]
public Guid? CitizenDistrictId { get; set; }
[Comment("เขตที่ออกบัตรประชาชน")]
public string? CitizenDistrictName { get; set; }
[Comment("Id จังหวัดที่ออกบัตรประชาชน")]
public Guid? CitizenProvinceId { get; set; }
[Comment("จังหวัดที่ออกบัตรประชาชน")]
public string? CitizenProvinceName { get; set; }
[Comment("วันที่ออกบัตร")]
public DateTime? CitizenDate { get; set; }
[MaxLength(20), Comment("โทรศัพท์")]
public string? Telephone { get; set; }
[MaxLength(20), Comment("โทรศัพท์มือถือ")]
public string? MobilePhone { get; set; }
[Comment("ความสามารถพิเศษ")]
public string? Knowledge { get; set; }
[Comment("ที่อยู่ตามทะเบียนบ้าน")]
public string? RegistAddress { get; set; }
[Comment("Id จังหวัดที่อยู่ตามทะเบียนบ้าน")]
public Guid? RegistProvinceId { get; set; }
[Comment("จังหวัดที่อยู่ตามทะเบียนบ้าน")]
public string? RegistProvinceName { get; set; }
[Comment("Id อำเภอที่อยู่ตามทะเบียนบ้าน")]
public Guid? RegistDistrictId { get; set; }
[Comment("อำเภอที่อยู่ตามทะเบียนบ้าน")]
public string? RegistDistrictName { get; set; }
[Comment("Id ตำบลที่อยู่ตามทะเบียนบ้าน")]
public Guid? RegistSubDistrictId { get; set; }
[Comment("ตำบลที่อยู่ตามทะเบียนบ้าน")]
public string? RegistSubDistrictName { get; set; }
[MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ตามทะเบียนบ้าน")]
public string? RegistZipCode { get; set; }
[Comment("ที่อยู่ปัจจุบันเหมือนที่อยู่ตามทะเบียนบ้าน")]
public bool? RegistSame { get; set; }
[Comment("ที่อยู่ปัจจุบัน")]
public string? CurrentAddress { get; set; }
[Comment("Id จังหวัดที่อยู่ปัจจุบัน")]
public Guid? CurrentProvinceId { get; set; }
[Comment("จังหวัดที่อยู่ปัจจุบัน")]
public string? CurrentProvinceName { get; set; }
[Comment("Id อำเภอที่อยู่ปัจจุบัน")]
public Guid? CurrentDistrictId { get; set; }
[Comment("อำเภอที่อยู่ปัจจุบัน")]
public string? CurrentDistrictName { get; set; }
[Comment("Id ตำบลที่อยู่ปัจจุบัน")]
public Guid? CurrentSubDistrictId { get; set; }
[Comment("ตำบลที่อยู่ปัจจุบัน")]
public string? CurrentSubDistrictName { get; set; }
[MaxLength(10), Comment("รหัสไปรษณีย์ที่อยู่ปัจจุบัน")]
public string? CurrentZipCode { get; set; }
[Comment("คู่สมรส")]
public bool? Marry { get; set; }
[Comment("Id คำนำหน้าชื่อคู่สมรส")]
public Guid? MarryPrefixId { get; set; }
[Comment("คำนำหน้าชื่อคู่สมรส")]
public string? MarryPrefixName { get; set; }
[MaxLength(100), Comment("ชื่อจริงคู่สมรส")]
public string? MarryFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลคู่สมรส")]
public string? MarryLastName { get; set; }
[MaxLength(200), Comment("อาชีพคู่สมรส")]
public string? MarryOccupation { get; set; }
[MaxLength(100), Comment("สัญชาติคู่สมรส")]
public string? MarryNationality { get; set; }
[Comment("Id คำนำหน้าชื่อบิดา")]
public Guid? FatherPrefixId { get; set; }
[Comment("คำนำหน้าชื่อบิดา")]
public string? FatherPrefixName { get; set; }
[MaxLength(100), Comment("ชื่อจริงบิดา")]
public string? FatherFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลบิดา")]
public string? FatherLastName { get; set; }
[MaxLength(200), Comment("อาชีพบิดา")]
public string? FatherOccupation { get; set; }
[MaxLength(100), Comment("สัญชาติบิดา")]
public string? FatherNationality { get; set; }
[Comment("Id คำนำหน้าชื่อมารดา")]
public Guid? MotherPrefixId { get; set; }
[Comment("คำนำหน้าชื่อมารดา")]
public string? MotherPrefixName { get; set; }
[MaxLength(100), Comment("ชื่อจริงมารดา")]
public string? MotherFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลมารดา")]
public string? MotherLastName { get; set; }
[MaxLength(200), Comment("อาชีพมารดา")]
public string? MotherOccupation { get; set; }
[MaxLength(100), Comment("สัญชาติมารดา")]
public string? MotherNationality { get; set; }
[Comment("ประเภทอาชีพที่ทำงานมาก่อน")]
public string? OccupationType { get; set; }
[Comment("ตำแหน่งอาชีพ")]
public string? OccupationPosition { get; set; }
[Comment("สำนัก/บริษัท บริษัท")]
public string? OccupationCompany { get; set; }
[Comment("กอง/ฝ่าย บริษัท")]
public string? OccupationDepartment { get; set; }
[MaxLength(200), Comment("อีเมล บริษัท")]
public string? OccupationEmail { get; set; }
[MaxLength(20), Comment("โทรศัพท์ บริษัท")]
public string? OccupationTelephone { get; set; }
[Comment("เหตุผลการไม่อนุมัติ")]
public string? RejectDetail { get; set; }
[Comment("ผลสมัครสอบ")]
public string? Pass { get; set; }
[Comment("คะแนนความพึงพอใจ")]
public int? ReviewPoint { get; set; }
[Comment("ข้อแนะนำ")]
public string? Review { get; set; }
}
}

View file

@ -0,0 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Recruit.Service.Models.Documents;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class CandidateDocument : EntityBase
{
[Required, Comment("Id ผู้สมัครสอบ")]
public virtual Candidate? Candidate { get; set; }
[Required, Comment("Id ไฟล์เอกสาร")]
public virtual Document? Document { get; set; }
}
}

30
Models/Exam/Career.cs Normal file
View file

@ -0,0 +1,30 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class Career : EntityBase
{
[Required, Column(Order = 7), Comment("Id ผู้สมัคร")]
public virtual Candidate? Candidate { get; set; }
[Required, Column(Order = 3), Comment("สถานที่ทำงาน/ฝึกงาน")]
public string Name { get; set; } = string.Empty;
[Required, Column(Order = 4), Comment("ตำแหน่ง/ลักษณะงาน")]
public string Position { get; set; } = string.Empty;
[Required, MaxLength(20), Column(Order = 5), Comment("เงินเดือนสุดท้ายก่อนออก")]
public int Salary { get; set; }
[Required, Column(Order = 1), Comment("ระยะเวลาเริ่ม")]
public DateTime DurationStart { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 2), Comment("ระยะเวลาสิ้นสุด")]
public DateTime DurationEnd { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 6), Comment("เหตุผลที่ออก")]
public string Reason { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,82 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class Disable : EntityBase
{
[Required, MaxLength(13), Comment("เลขประจำตัวประชาชน")]
public string CitizenId { get; set; } = string.Empty;
[Required, MaxLength(50)]
public string ExamId { get; set; } = string.Empty;
[Required, MaxLength(50)]
public string Prefix { get; set; } = string.Empty;
[Required, MaxLength(150)]
public string FirstName { get; set; } = string.Empty;
[Required, MaxLength(150)]
public string LastName { get; set; } = string.Empty;
[MaxLength(20)]
public string Gendor { get; set; } = string.Empty;
[MaxLength(200)]
public string National { get; set; } = string.Empty;
[MaxLength(200)]
public string Race { get; set; } = string.Empty;
[MaxLength(200)]
public string Religion { get; set; } = string.Empty;
[Required]
public DateTime DateOfBirth { get; set; }
[MaxLength(20)]
public string Marry { get; set; } = string.Empty;
[MaxLength(1)]
public string Isspecial { get; set; } = "N";
[MaxLength(20)]
public string RefNo { get; set; } = string.Empty;
[MaxLength(200)]
public string CitizenCardIssuer { get; set; } = string.Empty;
public DateTime CitizenCardExpireDate { get; set; }
[MaxLength(200)]
public string Remark { get; set; } = string.Empty;
[MaxLength(1)]
public string Qualified { get; set; } = "Y";
public PeriodExam? PeriodExam { get; set; }
public virtual List<DisableAddress> Addresses { get; set; } = new List<DisableAddress>();
public virtual List<DisableOccupation> Occupations { get; set; } = new List<DisableOccupation>();
public virtual List<DisableCertificate> Certificates { get; set; } = new List<DisableCertificate>();
public virtual List<DisableEducation> Educations { get; set; } = new List<DisableEducation>();
public virtual List<DisablePayment> Payments { get; set; } = new List<DisablePayment>();
public virtual List<DisableDocument> Documents { get; set; } = new List<DisableDocument>();
public DateTime CreatedDate { get; set; } = DateTime.Now;
public DateTime ModifiedDate { get; set; }
public DateTime ApplyDate { get; set; }
public string? PositionName { get; set; }
}
}

View file

@ -0,0 +1,63 @@
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisableAddress : EntityBase
{
[MaxLength(200)]
public string Address { get; set; }
[MaxLength(200)]
public string Moo { get; set; }
[MaxLength(200)]
public string Soi { get; set; }
[MaxLength(200)]
public string Road { get; set; }
[MaxLength(200)]
public string District { get; set; }
[MaxLength(200)]
public string Amphur { get; set; }
[MaxLength(200)]
public string Province { get; set; }
[MaxLength(5)]
public string ZipCode { get; set; }
[MaxLength(200)]
public string Telephone { get; set; }
[MaxLength(200)]
public string Mobile { get; set; }
[MaxLength(200)]
public string Address1 { get; set; }
[MaxLength(200)]
public string Moo1 { get; set; }
[MaxLength(200)]
public string Soi1 { get; set; }
[MaxLength(200)]
public string Road1 { get; set; }
[MaxLength(200)]
public string District1 { get; set; }
[MaxLength(200)]
public string Amphur1 { get; set; }
[MaxLength(200)]
public string Province1 { get; set; }
[MaxLength(5)]
public string ZipCode1 { get; set; }
public Disable Disable { get; set; }
}
}

View file

@ -0,0 +1,19 @@
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisableCertificate : EntityBase
{
[MaxLength(50)]
public string CertificateNo { get; set; }
[MaxLength(200)]
public string Description { get; set; }
public DateTime IssueDate { get; set; }
public DateTime ExpiredDate { get; set; }
public Disable Disable { get; set; }
}
}

View file

@ -0,0 +1,13 @@
using BMA.EHR.Recruit.Service.Models.Documents;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisableDocument : EntityBase
{
public DateTime CreatedDate { get; set; }
public Document DocumentFile { get; set; }
public Disable Disable { get; set; }
}
}

View file

@ -0,0 +1,33 @@
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisableEducation : EntityBase
{
[MaxLength(200)]
public string Degree { get; set; }
[MaxLength(200)]
public string Major { get; set; }
[MaxLength(20)]
public string MajorGroupId { get; set; }
[MaxLength(200)]
public string MajorGroupName { get; set; }
[MaxLength(200)]
public string University { get; set; }
public double GPA { get; set; } = 0.0;
[MaxLength(1000)]
public string Specialist { get; set; }
[MaxLength(200)]
public string HighDegree { get; set; }
public DateTime BachelorDate { get; set; }
public Disable Disable { get; set; }
}
}

View file

@ -0,0 +1,14 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisableImportHistory : EntityBase
{
[Required, Comment("รายละเอียดการนำเข้า"), Column(Order = 1)]
public string Description { get; set; } = string.Empty;
public PeriodExam PeriodExam { get; set; }
}
}

View file

@ -0,0 +1,24 @@
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisableOccupation : EntityBase
{
[MaxLength(200)]
public string Occupation { get; set; }
[MaxLength(200)]
public string WorkAge { get; set; }
[MaxLength(200)]
public string Position { get; set; }
[MaxLength(200)]
public string Workplace { get; set; }
[MaxLength(200)]
public string Telephone { get; set; }
public Disable Disable { get; set; }
}
}

View file

@ -0,0 +1,56 @@
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisablePayment : EntityBase
{
[MaxLength(50)]
public string PaymentId { get; set; }
[MaxLength(50)]
public string CompanyCode { get; set; }
[MaxLength(50)]
public string TextFile { get; set; }
[MaxLength(50)]
public string BankCode { get; set; }
[MaxLength(50)]
public string AccountNumber { get; set; }
[MaxLength(50)]
public string TransDate { get; set; }
[MaxLength(50)]
public string TransTime { get; set; }
[MaxLength(200)]
public string CustomerName { get; set; }
[MaxLength(50)]
public string RefNo1 { get; set; }
[MaxLength(50)]
public string TermBranch { get; set; }
[MaxLength(50)]
public string TellerId { get; set; }
[MaxLength(50)]
public string CreditDebit { get; set; }
[MaxLength(50)]
public string PaymentType { get; set; }
[MaxLength(50)]
public string ChequeNo { get; set; }
public decimal Amount { get; set; }
[MaxLength(50)]
public string ChqueBankCode { get; set; }
public Disable Disable { get; set; }
}
}

View file

@ -0,0 +1,54 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class DisableScore : EntityBase
{
[Required, MaxLength(50)]
public string ExamId { get; set; }
public int SumA { get; set; }
public int FullA { get; set; }
public double PercentageA { get; set; }
[MaxLength(50)]
public string AStatus { get; set; }
public int SumB { get; set; }
public int FullB { get; set; }
public double PercentageB { get; set; }
[MaxLength(50)]
public string BStatus { get; set; }
public int SumAB { get; set; }
[Required, MaxLength(50)]
public string ABStatus { get; set; }
public int SumC { get; set; }
public int FullC { get; set; }
public double PercentageC { get; set; }
[MaxLength(50)]
public string CStatus { get; set; }
[Required, MaxLength(50)]
public string ExamStatus { get; set; }
[MaxLength(200)]
public string Major { get; set; }
[MaxLength(200), Comment("ลำดับที่สอบได้")]
public string Number { get; set; } = string.Empty;
public ScoreImport ScoreImport { get; set; }
}
}

View file

@ -0,0 +1,19 @@
using BMA.EHR.Recruit.Service.Models.Documents;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Recurit.Exam.Service.Models.Disables
{
public class ScoreImport : EntityBase
{
public int? Year { get; set; }
public Document ImportFile { get; set; } = new Document();
public virtual List<DisableScore> Scores { get; set; } = new List<DisableScore>();
[ForeignKey("FK_Score_Import_ID")]
public Guid PeriodExamId { get; set; }
public PeriodExam PeriodExam { get; set; }
}
}

19
Models/Exam/District.cs Normal file
View file

@ -0,0 +1,19 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class District : EntityBase
{
[Required, MaxLength(150), Column(Order = 1), Comment("เขต/อำเภอ")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
public virtual List<SubDistrict> SubDistricts { get; set; } = new();
public virtual Province? Province { get; set; }
}
}

33
Models/Exam/Education.cs Normal file
View file

@ -0,0 +1,33 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class Education : EntityBase
{
[Required, Column(Order = 7), Comment("Id ผู้สมัคร")]
public virtual Candidate? Candidate { get; set; }
[Comment("Idวุฒิที่ได้รับ")]
public Guid? EducationLevelId { get; set; }
[Comment("วุฒิที่ได้รับ")]
public string? EducationLevelName { get; set; }
[Required, Column(Order = 4), Comment("สาขาวิชา/วิชาเอก")]
public string Major { get; set; } = string.Empty;
[Required, MaxLength(10), Column(Order = 6), Comment("คะแนนเฉลี่ยตลอดหลักสูตร")]
public float Scores { get; set; }
[Required, Column(Order = 3), Comment("ชื่อสถานศึกษา")]
public string Name { get; set; } = string.Empty;
[Required, Column(Order = 1), Comment("ระยะเวลาเริ่ม")]
public DateTime DurationStart { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 2), Comment("ระยะเวลาสิ้นสุด")]
public DateTime DurationEnd { get; set; } = DateTime.Now.Date;
}
}

View file

@ -0,0 +1,15 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class EducationLevel : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ระดับการศึกษา")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

32
Models/Exam/EntityBase.cs Normal file
View file

@ -0,0 +1,32 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class EntityBase
{
[Key, Column(Order = 0), Comment("PrimaryKey")]
[JsonPropertyName("id")]
public Guid Id { get; set; }
[Required, Column(Order = 100), Comment("สร้างข้อมูลเมื่อ")]
public DateTime CreatedAt { get; set; } = DateTime.Now;
[Column(Order = 101), Comment("User Id ที่สร้างข้อมูล"), MaxLength(40)]
public string CreatedUserId { get; set; } = string.Empty;
[Column(Order = 102), Comment("แก้ไขข้อมูลล่าสุดเมื่อ")]
public DateTime? LastUpdatedAt { get; set; }
[Column(Order = 103), Comment("User Id ที่แก้ไขข้อมูลล่าสุด"), MaxLength(40)]
public string LastUpdateUserId { get; set; } = string.Empty;
[Column(Order = 104), Comment("ชื่อ User ที่สร้างข้อมูล"), MaxLength(200)]
public string CreatedFullName { get; set; } = string.Empty;
[Column(Order = 105), Comment("ชื่อ User ที่แก้ไขข้อมูลล่าสุด"), MaxLength(200)]
public string LastUpdateFullName { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,15 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class OrganizationOrganization : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ข้อมูลโครงสร้างหน่วยงานชื่อ หน่วยงาน")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,19 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class OrganizationShortName : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ข้อมูลโครงสร้างหน่วยงานชื่อ รหัสหน่วยงาน")]
public string AgencyCode { get; set; } = string.Empty;
[Required, MaxLength(100), Column(Order = 2), Comment("ข้อมูลโครงสร้างหน่วยงานชื่อ รหัสส่วนราชการ")]
public string GovernmentCode { get; set; } = string.Empty;
[Required, MaxLength(100), Column(Order = 3), Comment("ข้อมูลโครงสร้างหน่วยงานชื่อ ตัวย่อหน่วยงาน")]
public string Name { get; set; } = string.Empty;
[Column(Order = 4), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

105
Models/Exam/PeriodExam.cs Normal file
View file

@ -0,0 +1,105 @@
using BMA.EHR.Recruit.Service.Models.Documents;
using BMA.EHR.Recurit.Exam.Service.Models.Disables;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class PeriodExam : EntityBase
{
[Required, MaxLength(150), Column(Order = 8), Comment("ชื่อการสอบ")]
public string Name { get; set; } = string.Empty;
[Required, Comment("ตรวจสอบเอกสารหลังประกาศผลสอบ")]
public bool CheckDocument { get; set; } = false;
[Required, Comment("คนพิการ")]
public bool CheckDisability { get; set; } = false;
[Column(Order = 9), Comment("รอบการสอบ")]
public int? Round { get; set; }
[Comment("ปีงบประมาณ")]
public int? Year { get; set; }
[Comment("ค่าธรรมเนียม")]
public float? Fee { get; set; } = 0;
[Required, Column(Order = 1), Comment("วันเริ่มสมัครสอบ")]
public DateTime RegisterStartDate { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 2), Comment("วันสิ้นสุดสมัครสอบ")]
public DateTime RegisterEndDate { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 3), Comment("วันเริ่มชำระเงิน")]
public DateTime PaymentStartDate { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 4), Comment("วันสิ้นสุดชำระเงิน")]
public DateTime PaymentEndDate { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 5), Comment("วันประกาศผลสอบ")]
public DateTime AnnouncementDate { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 6), Comment("วันเริ่มประกาศ")]
public DateTime AnnouncementStartDate { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 7), Comment("วันสิ้นสุดประกาศ")]
public DateTime AnnouncementEndDate { get; set; } = DateTime.Now.Date;
[Required, Comment("วันที่สอบ")]
public DateTime ExamDate { get; set; } = DateTime.Now.Date;
[Comment("Id รหัสส่วนราชการ")]
public Guid? OrganizationCodeId { get; set; }
[Comment("ชื่อรหัสส่วนราชการ")]
public string? OrganizationCodeName { get; set; }
[Comment("Id หน่วยงาน")]
public Guid? OrganizationId { get; set; }
[Comment("ชื่อหน่วยงาน")]
public string? OrganizationName { get; set; }
[Comment("ชำระเงินผ่านกรุงไทย")]
public string? PaymentKrungThai { get; set; }
[Comment("รายละเอียดสมัครสอบ")]
public string? Detail { get; set; }
[Comment("หมายเหตุ")]
public string? Note { get; set; }
[Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
[Comment("เช็คอัพคะแนน")]
public bool SetSeat { get; set; } = false;
[Comment("ประกาศนี้มีสมัครสอบคัดเลือก")]
public bool AnnouncementExam { get; set; } = false;
[Comment("สำนัก")]
public string? Category { get; set; }
[Comment("รายชื่อคนสม้ครในรอบ")]
public List<Candidate> Candidate { get; set; } = new List<Candidate>();
[Comment("ตำแหน่งสมัคร")]
public List<PositionExam> PositionExam { get; set; } = new List<PositionExam>();
[Comment("ช่องทางชำระเงิน")]
public List<BankExam> BankExam { get; set; } = new List<BankExam>();
[Comment("เอกสารอื่นๆ")]
public virtual List<PeriodExamDocument> PeriodExamDocuments { get; set; } = new();
[Comment("รูป")]
public virtual List<PeriodExamImage> PeriodExamImages { get; set; } = new();
public Document? ImportFile { get; set; } = new Document();
public List<Disable> Disables { get; set; } = new List<Disable>();
public ScoreImport? ScoreImport { get; set; }
public List<DisableImportHistory> ImportHostories { get; set; } = new List<DisableImportHistory>();
}
}

View file

@ -0,0 +1,14 @@
using BMA.EHR.Recruit.Service.Models.Documents;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class PeriodExamDocument : EntityBase
{
[Required, Comment("Id รอบสมัครสอบ")]
public virtual PeriodExam? PeriodExam { get; set; }
[Required, Comment("Id ไฟล์เอกสาร")]
public virtual Document? Document { get; set; }
}
}

View file

@ -0,0 +1,14 @@
using BMA.EHR.Recruit.Service.Models.Documents;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class PeriodExamImage : EntityBase
{
[Required, Comment("Id รอบสมัครสอบ")]
public virtual PeriodExam? PeriodExam { get; set; }
[Required, Comment("Id ไฟล์รูป")]
public virtual Document? Document { get; set; }
}
}

View file

@ -0,0 +1,23 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class PositionExam : EntityBase
{
[Required, Comment("Id การสอบ")]
public virtual PeriodExam? PeriodExam { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionId { get; set; }
[Comment("ชื่อตำแหน่ง")]
public string? PositionName { get; set; }
[Comment("Id ประเภทแบบฟอร์ม")]
public string? TypeId { get; set; }
[Comment("ชื่อประเภทแบบฟอร์ม")]
public string? TypeName { get; set; }
}
}

15
Models/Exam/Prefix.cs Normal file
View file

@ -0,0 +1,15 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class Prefix : EntityBase
{
[Required, MaxLength(50), Column(Order = 2), Comment("รายละเอียดคำนำหน้า")]
public string Name { get; set; } = string.Empty;
[Column(Order = 3), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

17
Models/Exam/Province.cs Normal file
View file

@ -0,0 +1,17 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class Province : EntityBase
{
[Required, MaxLength(150), Column(Order = 1), Comment("จังหวัด")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
public virtual List<District> Districts { get; set; } = new();
}
}

View file

@ -0,0 +1,14 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models;
public class Relationship : EntityBase
{
[Required, MaxLength(50), Column(Order = 1), Comment("ชื่อความสัมพันธ์")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}

15
Models/Exam/Religion.cs Normal file
View file

@ -0,0 +1,15 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class Religion : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ศาสนา")]
public string Name { get; set; } = string.Empty;
[Column(Order = 2), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,20 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Recurit.Exam.Service.Models
{
public class SubDistrict : EntityBase
{
[Required, MaxLength(150), Column(Order = 1), Comment("เขต/อำเภอ")]
public string Name { get; set; } = string.Empty;
[Required, MaxLength(10), Column(Order = 2), Comment("รหัสไปรษณีย์")]
public string ZipCode { get; set; } = string.Empty;
[Column(Order = 3), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
public virtual District? District { get; set; }
}
}