Add MetaData Table From ExistData

Change to use MySQL
This commit is contained in:
Suphonchai Phoonsawat 2023-06-26 14:02:04 +07:00
parent 89de09d213
commit a0b3b13074
136 changed files with 3438 additions and 1237 deletions

View file

@ -1,17 +1,15 @@
using BMA.EHR.Application.Repositories.BloodGroup;
using BMA.EHR.Application.Repositories.Prefix;
using BMA.EHR.Application.Repositories;
using Microsoft.Extensions.DependencyInjection;
namespace BMA.EHR.Application
{
public static class ApplicationServicesRegistration
{
public static IServiceCollection AddApplication(this IServiceCollection services)
{
services.AddTransient<PrefixRepository>();
services.AddTransient<BloodGroupRepository>();
{
public static IServiceCollection AddApplication(this IServiceCollection services)
{
services.AddTransient<PrefixRepository>();
return services;
}
}
return services;
}
}
}

View file

@ -1,31 +1,10 @@
using BMA.EHR.Domain.Entities.MetaData.BloodGroup;
using BMA.EHR.Domain.Entities.MetaData.Prefix;
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Application.Common.Interfaces
{
public interface IApplicationDBContext
{
#region " Prefix "
DbSet<PrefixEntity> MD_Prefixes { get; set; }
DbSet<PrefixDraftEntity> MD_Prefix_Drafts { get; set; }
DbSet<PrefixPublishHistoryEntity> MD_Prefix_Histories { get; set; }
#endregion
#region " BloodGroup "
DbSet<BloodGroupEntity> MD_BloodGroups { get; set; }
DbSet<BloodGroupDraftEntity> MD_BloodGroup_Drafts { get; set; }
DbSet<BloodGroupPublishHistoryEntity> MD_BloodGroup_Histories { get; set; }
#endregion
DbSet<T> Set<T>() where T : class;
Task<int> SaveChangesAsync();

View file

@ -8,5 +8,12 @@ namespace BMA.EHR.Application.Common.Interfaces
Task<T?> GetByIdAsync(S id);
Task<IReadOnlyList<T>> GetAllAsync();
}
Task<T> AddAsync(T entity);
Task<T> UpdateAsync(T entity);
Task DeleteAsync(T entity);
}
}

View file

@ -1,28 +0,0 @@
using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Domain.Entities.MetaData.BloodGroup;
using Microsoft.AspNetCore.Http;
namespace BMA.EHR.Application.Repositories.BloodGroup
{
public class BloodGroupRepository : GenericRepository<Guid, BloodGroupEntity>
{
#region " Fields "
private readonly IApplicationDBContext _dbContext;
private readonly IHttpContextAccessor _httpContextAccessor;
#endregion
#region " Constructor and Destructor "
public BloodGroupRepository(IApplicationDBContext dbContext,
IHttpContextAccessor httpContextAccessor) : base(dbContext, httpContextAccessor)
{
_dbContext = dbContext;
_httpContextAccessor = httpContextAccessor;
}
#endregion
}
}

View file

@ -29,9 +29,9 @@ namespace BMA.EHR.Application.Repositories
#region " Properties "
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
protected string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
protected string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
#endregion
@ -47,6 +47,43 @@ namespace BMA.EHR.Application.Repositories
return await _dbSet.FindAsync(id);
}
public async Task<T> AddAsync(T entity)
{
//if (entity is IAuditableEntity)
//{
// (entity as IAuditableEntity).CreatedUserId = Guid.Parse(UserId);
// (entity as IAuditableEntity).CreatedUserFullName = FullName;
// (entity as IAuditableEntity).CreatedDate = DateTime.Now;
//}
await _dbSet.AddAsync(entity);
await _dbContext.SaveChangesAsync();
return entity;
}
public async Task<T> UpdateAsync(T entity)
{
//if (entity is IAuditableEntity)
//{
// (entity as IAuditableEntity).ModifiedUserId = Guid.Parse(UserId);
// (entity as IAuditableEntity).ModifiedUserFullName = FullName;
// (entity as IAuditableEntity).ModifiedDate = DateTime.Now;
//}
_dbSet.Update(entity);
await _dbContext.SaveChangesAsync();
return entity;
}
public async Task DeleteAsync(T entity)
{
_dbSet.Remove(entity);
await _dbContext.SaveChangesAsync();
}
#endregion
}
}

View file

@ -1,28 +1,18 @@
using BMA.EHR.Application.Common.Interfaces;
using BMA.EHR.Domain.Entities.MetaData.Prefix;
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.AspNetCore.Http;
using System.Security.AccessControl;
namespace BMA.EHR.Application.Repositories.Prefix
namespace BMA.EHR.Application.Repositories
{
public class PrefixRepository : GenericRepository<Guid, PrefixEntity>
public class PrefixRepository : GenericRepository<Guid, Prefix>
{
#region " Fields "
private readonly IApplicationDBContext _dbContext;
private readonly IHttpContextAccessor _httpContextAccessor;
#endregion
#region " Constructor and Destructor "
public PrefixRepository(IApplicationDBContext dbContext,
IHttpContextAccessor httpContextAccessor) : base(dbContext, httpContextAccessor)
public PrefixRepository(IApplicationDBContext dbContext, IHttpContextAccessor httpContextAccessor) : base(dbContext, httpContextAccessor)
{
_dbContext = dbContext;
_httpContextAccessor = httpContextAccessor;
}
#endregion
}
}

View file

@ -1,35 +1,11 @@
using BMA.EHR.Domain.Shared;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System.Security.Claims;
namespace BMA.EHR.Domain.Common
{
public class BaseController : ControllerBase
{
#region " Fields "
private readonly IHttpContextAccessor _httpContextAccessor;
#endregion
#region " Constructor and Destructor "
public BaseController(IHttpContextAccessor httpContextAccessor)
{
_httpContextAccessor = httpContextAccessor;
}
#endregion
#region " Properties "
private string? UserId => _httpContextAccessor?.HttpContext?.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value;
private string? FullName => _httpContextAccessor?.HttpContext?.User?.FindFirst("name")?.Value;
#endregion
#region " Methods "
#region " Protected "

View file

@ -1,13 +0,0 @@
using BMA.EHR.Domain.Common.Interfaces;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Common
{
public abstract class BaseDataEntity<T> : BaseEntity<T>, IActivableEntity
{
[Required, Column(Order = 990), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -1,13 +0,0 @@
using BMA.EHR.Domain.Common.Interfaces;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Common
{
public class BaseDraftEntity<T> : BaseDataEntity<T>, IPublishableEntity
{
[Required, Column(Order = 899), Comment("สถานะการเผยแพร่ข้อมูล")]
public bool IsPublished { get; set; } = false;
}
}

View file

@ -1,36 +0,0 @@
using BMA.EHR.Domain.Common.Interfaces;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BMA.EHR.Domain.Common
{
public class BaseEntity<T> : IAuditableEntity
{
[Key, Column(Order = 0), Comment("คีย์หลัก")]
public virtual T Id { get; set; }
[Required, Column(Order = 991), Comment("User Id ที่สร้างข้อมูล")]
public Guid CreatedUserId { get; set; } = Guid.Empty;
[Required, Column(Order = 992), Comment("ชื่อ User ที่สร้างข้อมูล")]
public string CreatedUserFullName { get; set; } = string.Empty;
[Required, Column(Order = 993), Comment("สร้างข้อมูลเมื่อ")]
public DateTime CreatedDate { get; set; } = DateTime.Now;
[Column(Order = 994), Comment("User Id ที่แก้ไขข้อมูล")]
public Guid? ModifiedUserId { get; set; }
[Column(Order = 995), Comment("ชื่อ User ที่แก้ไขข้อมูล")]
public string? ModifiedUserFullName { get; set; }
[Column(Order = 996), Comment("แก้ไขข้อมูลเมื่อ")]
public DateTime? ModifiedDate { get; set; }
}
}

View file

@ -1,7 +0,0 @@
namespace BMA.EHR.Domain.Common.Interfaces
{
public interface IActivableEntity
{
bool IsActive { get; set; }
}
}

View file

@ -1,17 +0,0 @@
namespace BMA.EHR.Domain.Common.Interfaces
{
public interface IAuditableEntity
{
Guid CreatedUserId { get; set; }
string CreatedUserFullName { get; set; }
DateTime CreatedDate { get; set; }
Guid? ModifiedUserId { get; set; }
string? ModifiedUserFullName { get; set; }
DateTime? ModifiedDate { get; set; }
}
}

View file

@ -1,13 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BMA.EHR.Domain.Common.Interfaces
{
public interface IPublishableEntity
{
bool IsPublished { get; set; }
}
}

View file

@ -1,13 +0,0 @@
using BMA.EHR.Domain.Common;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Entities.MetaData.BloodGroup
{
public class BloodGroupDraftEntity : BaseDraftEntity<Guid>
{
[Required, MaxLength(2), Column(Order = 1), Comment("ชื่อหมู่โลหิต")]
public string Name { get; set; } = string.Empty;
}
}

View file

@ -1,13 +0,0 @@
using BMA.EHR.Domain.Common;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Entities.MetaData.BloodGroup
{
public class BloodGroupEntity : BaseDataEntity<Guid>
{
[Required, MaxLength(2), Column(Order = 1), Comment("ชื่อหมู่โลหิต")]
public string Name { get; set; } = string.Empty;
}
}

View file

@ -1,15 +0,0 @@
using BMA.EHR.Domain.Common;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Entities.MetaData.BloodGroup
{
public class BloodGroupPublishHistoryEntity : BaseEntity<Guid>
{
[Column(Order = 1), Comment("รายละเอียดการแก้ไข")]
public string Detail { get; set; } = string.Empty;
[Column(Order = 2), Comment("เก็บ Object ที่มีการอัพเดตในระบบ")]
public string ObjectValue { get; set; } = string.Empty;
}
}

View file

@ -1,13 +0,0 @@
using BMA.EHR.Domain.Common;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Entities.MetaData.Prefix
{
public class PrefixDraftEntity : BaseDraftEntity<Guid>
{
[Required, MaxLength(100), Column(Order = 1), Comment("รายละเอียดคำนำหน้า")]
public string Name { get; set; } = string.Empty;
}
}

View file

@ -1,13 +0,0 @@
using BMA.EHR.Domain.Common;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Entities.MetaData.Prefix
{
public class PrefixEntity : BaseDataEntity<Guid>
{
[Required, MaxLength(100), Column(Order = 1), Comment("รายละเอียดคำนำหน้า")]
public string Name { get; set; } = string.Empty;
}
}

View file

@ -1,15 +0,0 @@
using BMA.EHR.Domain.Common;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Entities.MetaData.Prefix
{
public class PrefixPublishHistoryEntity : BaseEntity<Guid>
{
[Column(Order = 1), Comment("รายละเอียดการแก้ไข")]
public string Detail { get; set; } = string.Empty;
[Column(Order = 2), Comment("เก็บ Object ที่มีการอัพเดตในระบบ")]
public string ObjectValue { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,24 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Organization.Service.Models
{
public class AvailablePositionLevelEntity : EntityBase
{
[ForeignKey("PositionMasterId")]
public PositionMasterEntity? PositionMaster_PositionMasterId { get; set; }
[Column(Order = 2), Comment("PositionMasterId")]
public Guid? PositionMasterId { get; set; }
[Column(Order = 3), Comment("PositionLevelId")]
public Guid? PositionLevelId { get; set; }
}
}

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.Domain.Models.Base
{
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,16 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace BMA.EHR.Organization.Service.Models
{
public class EntityLinkBase
{
[Key, Column(Order = 0), Comment("PrimaryKey")]
[JsonPropertyName("id")]
public Guid Id { get; set; }
}
}

View file

@ -0,0 +1,29 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Profile.Service.Models.Documents
{
public class Document
{
[Key]
public Guid Id { get; set; }
[Required, MaxLength(255)]
public string FileName { get; set; } = string.Empty;
[Required]
public int FileSize { get; set; } = 0;
[Required, MaxLength(128)]
public string FileType { get; set; } = string.Empty;
[Column(TypeName = "text")]
public string Detail { get; set; } = string.Empty;
[Required]
public Guid ObjectRefId { get; set; }
[Required]
public DateTime CreatedDate { get; set; } = DateTime.Now;
}
}

View file

@ -0,0 +1,13 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class LimitLeave : EntityBase
{
[Comment("ยังไม่ชัวใช้อะไรเป็นkey")]
public string? Name { get; set; }
public virtual List<LimitTypeLeave> LimitTypeLeaves { get; set; } = new List<LimitTypeLeave>();
public virtual List<Profile> Profiles { get; set; } = new List<Profile>();
}
}

View file

@ -0,0 +1,15 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class LimitTypeLeave : EntityBase
{
[Comment("ประเภทการลา")]
public virtual TypeLeave? TypeLeave { get; set; }
[Comment("จำนวนที่ลาได้")]
public double? NumLeave { get; set; }
public LimitLeave? LimitLeave { get; set; }
}
}

View file

@ -0,0 +1,293 @@
using BMA.EHR.Profile.Service.Models.Documents;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class Profile : EntityBase
{
[Key]
public Guid Id { get; set; }
[MaxLength(13), Comment("รหัสบัตรประชาชน")]
public string? CitizenId { get; set; }
[MaxLength(50)]
public string? ProfileType { get; set; }
[MaxLength(20), Comment("ประเภทการจ้าง")]
public string? EmployeeType { get; set; }
[MaxLength(20), Comment("ประเภทลูกจ้าง")]
public string? EmployeeClass { get; set; }
[Comment("Id คำนำหน้า")]
public Guid? PrefixId { get; set; }
[Required, MaxLength(100), Comment("ชื่อ")]
public string? FirstName { get; set; }
[Required, MaxLength(100), Comment("นามสกุล")]
public string? LastName { get; set; }
[Comment("Id คำนำหน้า(เดิม)")]
public Guid? PrefixOldId { get; set; }
[Required, MaxLength(100), Comment("ชื่อ(เดิม)")]
public string? FirstNameOld { get; set; }
[Required, MaxLength(100), Comment("นามสกุล(เดิม)")]
public string? LastNameOld { get; set; }
[MaxLength(100)]
public string AvatarRef { get; set; }
[Comment("Id เพศ")]
public Guid? GenderId { get; set; }
[MaxLength(100), Comment("สัญชาติ")]
public string? Nationality { get; set; }
[MaxLength(100), Comment("เชื้อชาติ")]
public string? Race { get; set; }
[Comment("Id ศาสนา")]
public Guid? ReligionId { get; set; }
[Required, Comment("วันเกิด")]
public DateTime BirthDate { get; set; }
[Comment("Id กลุ่มเลือด")]
public Guid? BloodGroupId { get; set; }
[Comment("Id สถานะภาพ")]
public Guid? RelationshipId { get; set; }
[MaxLength(50), Comment("เบอร์โทร")]
public string? TelephoneNumber { get; set; }
[Comment("คู่สมรส")]
public bool? Couple { get; set; }
[Comment("Id คำนำหน้าคู่สมรส")]
public Guid? CouplePrefixId { get; set; }
[MaxLength(100), Comment("ชื่อคู่สมรส")]
public string? CoupleFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลคู่สมรส")]
public string? CoupleLastName { get; set; }
[MaxLength(100), Comment("นามสกุลคู่สมรส(เดิม)")]
public string? CoupleLastNameOld { get; set; }
[MaxLength(100), Comment("อาชีพคู่สมรส")]
public string? CoupleCareer { get; set; }
[Comment("Id คำนำหน้าบิดา")]
public Guid? FatherPrefixId { get; set; }
[MaxLength(100), Comment("ชื่อบิดา")]
public string? FatherFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลบิดา")]
public string? FatherLastName { get; set; }
[MaxLength(100), Comment("อาชีพบิดา")]
public string? FatherCareer { get; set; }
[Comment("Id คำนำหน้ามารดา")]
public Guid? MotherPrefixId { get; set; }
[MaxLength(100), Comment("ชื่อมารดา")]
public string? MotherFirstName { get; set; }
[MaxLength(100), Comment("นามสกุลมารดา")]
public string? MotherLastName { get; set; }
[MaxLength(100), Comment("อาชีพมารดา")]
public string? MotherCareer { get; set; }
[MaxLength(200), Comment("ที่อยู่ปัจจุบัน")]
public string? CurrentAddress { get; set; }
[Comment("Id แขวงปัจจุบัน")]
public Guid? CurrentSubDistrictId { get; set; }
[Comment("Id เขตปัจจุบัน")]
public Guid? CurrentDistrictId { get; set; }
[Comment("Id จังหวัดปัจจุบัน")]
public Guid? CurrentProvinceId { get; set; }
[MaxLength(5), Comment("รหัสไปรษณีย์ปัจจุบัน")]
public string? CurrentZipCode { get; set; }
[Comment("ที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้านหรือไม่")]
public bool? RegistrationSame { get; set; } = false;
[MaxLength(200), Comment("Id แขวงตามทะเบียนบ้าน")]
public string? RegistrationAddress { get; set; }
[Comment("แขวงตามทะเบียนบ้าน")]
public Guid? RegistrationSubDistrictId { get; set; }
[Comment("Id เขตตามทะเบียนบ้าน")]
public Guid? RegistrationDistrictId { get; set; }
[Comment("Id จังหวัดตามทะเบียนบ้าน")]
public Guid? RegistrationProvinceId { get; set; }
[MaxLength(5), Comment("รหัสไปรษณีย์ตามทะเบียนบ้าน")]
public string? RegistrationZipCode { get; set; }
public DateTime? DateAppoint { get; set; }
public DateTime? DateStart { get; set; }
public DateTime? DateRetire { get; set; }
public string? ReasonSameDate { get; set; }
// public Guid? AffiliationId { get; set; }
// public Guid? PositionId { get; set; }
// public Guid? WorkId { get; set; }
// public Guid? TypeId { get; set; }
// public Guid? LevelId { get; set; }
// public Guid? NumberId { get; set; }
// public Guid? BusinessId { get; set; }
[Comment("Id สังกัด")]
public Guid? OcId { get; set; }
[Comment("สังกัด")]
public string? Oc { get; set; }
public Guid? OrganizationShortNameId { get; set; }
public string? OrganizationShortName { get; set; }
public string? GovernmentCode { get; set; }
public Guid? OrganizationOrganizationId { get; set; }
public string? OrganizationOrganization { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionId { get; set; }
[Comment("ตำแหน่ง")]
public string? Position { get; set; }
[Comment("Id เลขที่ตำแหน่ง")]
public Guid? PosNoId { get; set; }
[Comment("เลขที่ตำแหน่ง")]
public string? PosNo { get; set; }
[Comment("เลขที่ตำแหน่งลูกจ้าง")]
public string? PosNoEmployee { get; set; }
[Comment("Id สายงาน")]
public Guid? PositionLineId { get; set; }
[Comment("สายงาน")]
public string? PositionLine { get; set; }
[Comment("Id ด้าน/สาขา")]
public Guid? PositionPathSideId { get; set; }
[Comment("ด้าน/สาขา")]
public string? PositionPathSide { get; set; }
[Comment("Id ประเภทตำแหน่ง")]
public Guid? PositionTypeId { get; set; }
[Comment("ประเภทตำแหน่ง")]
public string? PositionType { get; set; }
[Comment(" Id ระดับ")]
public Guid? PositionLevelId { get; set; }
[Comment("ระดับ")]
public string? PositionLevel { get; set; }
[Comment("Id ตำแหน่งทางการบริหาร")]
public Guid? PositionExecutiveId { get; set; }
[Comment("ตำแหน่งทางการบริหาร")]
public string? PositionExecutive { get; set; }
[Comment("Id ด้านทางการบริหาร")]
public Guid? PositionExecutiveSideId { get; set; }
[Comment("ด้านทางการบริหาร")]
public string? PositionExecutiveSide { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionEmployeePositionId { get; set; }
[Comment("ตำแหน่ง")]
public string? PositionEmployeePosition { get; set; }
[Comment("Id ด้านของตำแหน่ง")]
public Guid? PositionEmployeePositionSideId { get; set; }
[Comment("ด้านของตำแหน่ง")]
public string? PositionEmployeePositionSide { get; set; }
[Comment(" Id ระดับชั้นงาน")]
public Guid? PositionEmployeeLevelId { get; set; }
[Comment("ระดับชั้นงาน")]
public string? PositionEmployeeLevel { get; set; }
[Comment("Id กลุ่มงาน")]
public Guid? PositionEmployeeGroupId { get; set; }
[Comment("กลุ่มงาน")]
public string? PositionEmployeeGroup { get; set; }
[MaxLength(100), Comment("สถานภาพทางกาย")]
public string Physical { get; set; }
[MaxLength(100)]
public string Ability { get; set; }
public bool IsActive { get; set; } = true;
public bool IsLeave { get; set; } = false;
public DateTime? LeaveDate { get; set; }
[MaxLength(1000)]
public string? LeaveReason { get; set; }
public string? LeaveDetail { get; set; }
public string? LeaveNumberOrder { get; set; }
public DateTime? LeaveDateOrder { get; set; }
public DateTime? CreatedDate { get; set; }
public DateTime? ModifiedDate { get; set; }
[MaxLength(250)]
public string CreatedUser { get; set; } = string.Empty;
[MaxLength(5)]
public string EntryStatus { get; set; } = "st1"; // สถานะการตรวจสอบ st1 = create; st2 = pending
public bool IsTransfer { get; set; } = false;
public DateTime? TransferDate { get; set; }
public int GovAgeAbsent { get; set; } = 0;
public int GovAgePlus { get; set; } = 0;
// public OrganizationEntity? Organization { get; set; }
// public PositionNumberEntity PositionNumber { get; set; }
// public Position Position { get; set; }
// public PositionExecutive PositionExecutive { get; set; }
public bool IsVerified { get; set; } = false;
[MaxLength(100)]
public string VerifiedUser { get; set; } = string.Empty;
public DateTime? VerifiedDate { get; set; }
public Document? Avatar { get; set; }
public bool IsProbation { get; set; } = true;
// public PositionType PositionType { get; set; } // ประเภทตำแหน่ง
// public PositionLevel PositionLevel { get; set; } // ระดับ
// public OrganizationPositionEntity? OrganizationPosition { get; set; }
public LimitLeave? LimitLeave { get; set; }
public virtual List<ProfileEducation> Educations { get; set; } = new List<ProfileEducation>();
public virtual List<ProfileHonor> Honors { get; set; } = new List<ProfileHonor>();
public virtual List<ProfileAssessment> Assessments { get; set; } = new List<ProfileAssessment>();
public virtual List<ProfileDiscipline> Disciplines { get; set; } = new List<ProfileDiscipline>();
public virtual List<ProfileCertificate> Certificates { get; set; } = new List<ProfileCertificate>();
public virtual List<ProfileTraining> Trainings { get; set; } = new List<ProfileTraining>();
public virtual List<ProfileInsignia> Insignias { get; set; } = new List<ProfileInsignia>();
public virtual List<ProfileSalary> Salaries { get; set; } = new List<ProfileSalary>();
public virtual List<ProfileHistory> ProfileHistory { get; set; } = new List<ProfileHistory>();
public virtual List<ProfileCoupleHistory> CoupleHistory { get; set; } = new List<ProfileCoupleHistory>();
public virtual List<ProfileFatherHistory> FatherHistory { get; set; } = new List<ProfileFatherHistory>();
public virtual List<ProfileMotherHistory> MotherHistory { get; set; } = new List<ProfileMotherHistory>();
public virtual List<ProfileFamilyHistory> FamilyHistory { get; set; } = new List<ProfileFamilyHistory>();
public virtual List<ProfileGovernmentHistory> GovernmentHistory { get; set; } = new List<ProfileGovernmentHistory>();
public virtual List<ProfileLeave> Leaves { get; set; } = new List<ProfileLeave>();
public virtual List<ProfileCurrentAddressHistory> CurrentAddressHistory { get; set; } = new List<ProfileCurrentAddressHistory>();
public virtual List<ProfileRegistrationAddressHistory> RegistrationAddressHistory { get; set; } = new List<ProfileRegistrationAddressHistory>();
public virtual List<ProfileAddressHistory> AddressHistory { get; set; } = new List<ProfileAddressHistory>();
public virtual List<ProfileOther> Others { get; set; } = new List<ProfileOther>();
public virtual List<ProfileAbility> Abilitys { get; set; } = new List<ProfileAbility>();
public virtual List<ProfileDuty> Dutys { get; set; } = new List<ProfileDuty>();
public virtual List<ProfileNopaid> Nopaids { get; set; } = new List<ProfileNopaid>();
public virtual List<ProfileAvatarHistory> AvatarHistory { get; set; } = new List<ProfileAvatarHistory>();
public virtual List<ProfilePaper> Papers { get; set; } = new List<ProfilePaper>();
public virtual List<ProfileChildren> Childrens { get; set; } = new List<ProfileChildren>();
public virtual List<ProfileChangeName> ChangeNames { get; set; } = new List<ProfileChangeName>();
}
}

View file

@ -0,0 +1,47 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileAbility : EntityBase
{
[Comment("ด้าน")]
/// <summary>
/// ด้าน (ใช้เฉพาะ ความสามารถพิเศษ)
/// </summary>
public string? Field { get; set; }
[Comment("รายละเอียด")]
/// <summary>
/// รายละเอียด
/// </summary>
public string? Detail { get; set; }
[Comment("หมายเหตุ")]
/// <summary>
/// หมายเหตุ
/// </summary>
public string? Remark { get; set; }
[Comment("วันที่เริ่มต้น")]
/// <summary>
/// วันที่เริ่มต้น
/// </summary>
public DateTime? DateStart { get; set; }
[Comment("วันที่สิ้นสุด")]
/// <summary>
/// วันที่สิ้นสุด
/// </summary>
public DateTime? DateEnd { get; set; }
[Comment("เอกสารอ้างอิง")]
/// <summary>
/// เอกสารอ้างอิง
/// </summary>
public string? Reference { get; set; }
// public string? Side { get; set; }
// public string? Detail { get; set; }
// public string? Note { get; set; }
public virtual List<ProfileAbilityHistory> ProfileAbilityHistorys { get; set; } = new List<ProfileAbilityHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,45 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileAbilityHistory : EntityBase
{
[Comment("ด้าน")]
/// <summary>
/// ด้าน (ใช้เฉพาะ ความสามารถพิเศษ)
/// </summary>
public string? Field { get; set; }
[Comment("รายละเอียด")]
/// <summary>
/// รายละเอียด
/// </summary>
public string? Detail { get; set; }
[Comment("หมายเหตุ")]
/// <summary>
/// หมายเหตุ
/// </summary>
public string? Remark { get; set; }
[Comment("วันที่เริ่มต้น")]
/// <summary>
/// วันที่เริ่มต้น
/// </summary>
public DateTime? DateStart { get; set; }
[Comment("วันที่สิ้นสุด")]
/// <summary>
/// วันที่สิ้นสุด
/// </summary>
public DateTime? DateEnd { get; set; }
[Comment("เอกสารอ้างอิง")]
/// <summary>
/// เอกสารอ้างอิง
/// </summary>
public string? Reference { get; set; }
// public string? Side { get; set; }
// public string? Detail { get; set; }
// public string? Note { get; set; }
public virtual ProfileAbility? ProfileAbility { get; set; }
}
}

View file

@ -0,0 +1,47 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileAddressHistory : EntityBase
{
[Comment("ที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้านหรือไม่")]
public bool? RegistrationSame { get; set; }
[MaxLength(200), Comment("ที่อยู่ตามทะเบียนบ้าน")]
public string? RegistrationAddress { get; set; }
[Comment("Id แขวงตามทะเบียนบ้าน")]
public Guid? RegistrationSubDistrictId { get; set; }
[Comment("แขวงตามทะเบียนบ้าน")]
public string? RegistrationSubDistrict { get; set; }
[Comment("Id เขตตามทะเบียนบ้าน")]
public Guid? RegistrationDistrictId { get; set; }
[Comment("เขตตามทะเบียนบ้าน")]
public string? RegistrationDistrict { get; set; }
[Comment("Id จังหวัดตามทะเบียนบ้าน")]
public Guid? RegistrationProvinceId { get; set; }
[Comment("จังหวัดตามทะเบียนบ้าน")]
public string? RegistrationProvince { get; set; }
[MaxLength(5), Comment("รหัสไปรษณีย์ตามทะเบียนบ้าน")]
public string? RegistrationZipCode { get; set; }
[MaxLength(200), Comment("ที่อยู่ปัจจุบัน")]
public string? CurrentAddress { get; set; }
[Comment("Id แขวงปัจจุบัน")]
public Guid? CurrentSubDistrictId { get; set; }
[Comment("แขวงปัจจุบัน")]
public string? CurrentSubDistrict { get; set; }
[Comment("Id เขตปัจจุบัน")]
public Guid? CurrentDistrictId { get; set; }
[Comment("เขตปัจจุบัน")]
public string? CurrentDistrict { get; set; }
[Comment("Id จังหวัดปัจจุบัน")]
public Guid? CurrentProvinceId { get; set; }
[Comment("จังหวัดปัจจุบัน")]
public string? CurrentProvince { get; set; }
[MaxLength(5), Comment("รหัสไปรษณีย์ปัจจุบัน")]
public string? CurrentZipCode { get; set; }
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,29 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileAssessment : EntityBase
{
[Comment("ชื่อแบบประเมิน")]
public string? Name { get; set; }
[Comment("วันที่ได้รับ")]
public DateTime? Date { get; set; }
[Comment("ส่วนที่1 (คะแนน)")]
public double? Point1Total { get; set; }
[Comment("ผลประเมินส่วนที่1 (คะแนน)")]
public double? Point1 { get; set; }
[Comment("ส่วนที่2 (คะแนน)")]
public double? Point2Total { get; set; }
[Comment("ผลประเมินส่วนที่2 (คะแนน)")]
public double? Point2 { get; set; }
[Comment("ผลรวม (คะแนน)")]
public double? PointSumTotal { get; set; }
[Comment("ผลประเมินรวม (คะแนน)")]
public double? PointSum { get; set; }
public virtual List<ProfileAssessmentHistory> ProfileAssessmentHistorys { get; set; } = new List<ProfileAssessmentHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,28 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileAssessmentHistory : EntityBase
{
[Comment("ชื่อแบบประเมิน")]
public string? Name { get; set; }
[Comment("วันที่ได้รับ")]
public DateTime? Date { get; set; }
[Comment("ส่วนที่1 (คะแนน)")]
public double? Point1Total { get; set; }
[Comment("ผลประเมินส่วนที่1 (คะแนน)")]
public double? Point1 { get; set; }
[Comment("ส่วนที่2 (คะแนน)")]
public double? Point2Total { get; set; }
[Comment("ผลประเมินส่วนที่2 (คะแนน)")]
public double? Point2 { get; set; }
[Comment("ผลรวม (คะแนน)")]
public double? PointSumTotal { get; set; }
[Comment("ผลประเมินรวม (คะแนน)")]
public double? PointSum { get; set; }
public virtual ProfileAssessment? ProfileAssessment { get; set; }
}
}

View file

@ -0,0 +1,15 @@
using BMA.EHR.Profile.Service.Models.Documents;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileAvatarHistory : EntityBase
{
[Comment("Id ไฟล์รูปใน minio")]
public Document AvatarFile { get; set; }
[Comment("Id ทะเบียนประวัติ")]
public Profile Profile { get; set; }
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileCertificate : EntityBase
{
// [Key]
// public int Id { get; set; }
// [Required]
// public int Order { get; set; }
[MaxLength(20), Comment("เลขที่ใบอนุญาต")]
public string? CertificateNo { get; set; }
[MaxLength(200), Comment("หน่วยงานผู้ออกใบอนุญาต")]
public string? Issuer { get; set; }
[Comment("วันที่ออกใบอนุญาต")]
public DateTime? IssueDate { get; set; }
[Comment("วันที่หมดอายุ")]
public DateTime? ExpireDate { get; set; }
[MaxLength(100), Comment("ชื่อใบอนุญาต")]
public string? CertificateType { get; set; }
// public string? Name { get; set; }
// public string? CertiNumber { get; set; }
// public DateTime? Start { get; set; }
// public DateTime? End { get; set; }
public virtual List<ProfileCertificateHistory> ProfileCertificateHistorys { get; set; } = new List<ProfileCertificateHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,26 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileCertificateHistory : EntityBase
{
[MaxLength(20), Comment("เลขที่ใบอนุญาต")]
public string? CertificateNo { get; set; }
[MaxLength(200), Comment("หน่วยงานผู้ออกใบอนุญาต")]
public string? Issuer { get; set; }
[Comment("วันที่ออกใบอนุญาต")]
public DateTime? IssueDate { get; set; }
[Comment("วันที่หมดอายุ")]
public DateTime? ExpireDate { get; set; }
[MaxLength(100), Comment("ชื่อใบอนุญาต")]
public string? CertificateType { get; set; }
// public string? Name { get; set; }
// public string? CertiNumber { get; set; }
// public DateTime? Start { get; set; }
// public DateTime? End { get; set; }
public virtual ProfileCertificate? ProfileCertificate { get; set; }
}
}

View file

@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Profile.Service.Models.Documents;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileChangeName : EntityBase
{
[Comment("Id คำนำหน้า")]
public Guid? PrefixId { get; set; }
[Comment("คำนำหน้า")]
public string? Prefix { get; set; }
[MaxLength(100), Comment("ชื่อ")]
public string? FirstName { get; set; }
[MaxLength(100), Comment("นามสกุล")]
public string? LastName { get; set; }
[MaxLength(100), Comment("สถานะ")]
public string? Status { get; set; }
[Comment("เอกสารการเปลี่ยนชื่อ")]
public Document? Document { get; set; }
public virtual List<ProfileChangeNameHistory> ProfileChangeNameHistorys { get; set; } = new List<ProfileChangeNameHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Profile.Service.Models.Documents;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileChangeNameHistory : EntityBase
{
[Comment("Id คำนำหน้า")]
public Guid? PrefixId { get; set; }
[Comment("คำนำหน้า")]
public string? Prefix { get; set; }
[MaxLength(100), Comment("ชื่อ")]
public string? FirstName { get; set; }
[MaxLength(100), Comment("นามสกุล")]
public string? LastName { get; set; }
[MaxLength(100), Comment("สถานะ")]
public string? Status { get; set; }
[Comment("เอกสารการเปลี่ยนชื่อ")]
public Document? Document { get; set; }
public virtual ProfileChangeName? ProfileChangeName { get; set; }
}
}

View file

@ -0,0 +1,22 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileChildren : EntityBase
{
[Comment("Id คำนำหน้าบุตร")]
public Guid? ChildrenPrefixId { get; set; }
[Comment("คำนำหน้าบุตร")]
public string? ChildrenPrefix { get; set; }
[Comment("ชื่อบุตร")]
public string? ChildrenFirstName { get; set; }
[Comment("นามสกุลบุตร")]
public string? ChildrenLastName { get; set; }
[Comment("อาชีพบุตร")]
public string? ChildrenCareer { get; set; }
public virtual List<ProfileChildrenHistory> ProfileChildrenHistorys { get; set; } = new List<ProfileChildrenHistory>();
public Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,20 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileChildrenHistory : EntityBase
{
[Comment("Id คำนำหน้าบุตร")]
public Guid? ChildrenPrefixId { get; set; }
[Comment("คำนำหน้าบุตร")]
public string? ChildrenPrefix { get; set; }
[Comment("ชื่อบุตร")]
public string? ChildrenFirstName { get; set; }
[Comment("นามสกุลบุตร")]
public string? ChildrenLastName { get; set; }
[Comment("อาชีพบุตร")]
public string? ChildrenCareer { get; set; }
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileCoupleHistory
{
[Key, Comment("ไม่ใช้")]
public int Id { get; set; }
[Required]
[MaxLength(50)]
public string Prefix { get; set; }
[Required]
[MaxLength(100)]
public string FirstName { get; set; }
[Required]
[MaxLength(100)]
public string LastName { get; set; }
[MaxLength(100)]
public string Career { get; set; }
public DateTime CreatedDate { get; set; } = DateTime.Now;
public Profile Profile { get; set; }
}
}

View file

@ -0,0 +1,34 @@
using System;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileCurrentAddressHistory
{
[Key, Comment("ไม่ใช้")]
public int Id { get; set; }
[MaxLength(200)]
[Required]
public string Address { get; set; }
[Required]
public Guid SubDistrictId { get; set; }
[Required]
public Guid DistrictId { get; set; }
[Required]
public Guid ProvinceId { get; set; }
[MaxLength(5)]
[Required]
public string ZipCode { get; set; }
public DateTime CreatedDate { get; set; } = DateTime.Now;
public Profile Profile { get; set; }
}
}

View file

@ -0,0 +1,34 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileDiscipline : EntityBase
{
// [Key]
// public int Id { get; set; }
// [Required]
// public int Order { get; set; }
[Comment("ระดับความผิด")]
public string? Level { get; set; }
[Column(TypeName = "text")]
[Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("เอกสารอ้างอิง (เลขที่คำสั่ง)")]
public string? RefCommandNo { get; set; }
[Comment("เอกสารอ้างอิง (ลงวันที่)")]
public DateTime? RefCommandDate { get; set; }
[Comment("วัน เดือน ปี")]
public DateTime? Date { get; set; }
// public DateTime? Date { get; set; }
// public string? Status { get; set; }
// public string? Level { get; set; }
// public string? RefNo { get; set; }
// public DateTime? RefDate { get; set; }
public virtual List<ProfileDisciplineHistory> ProfileDisciplineHistorys { get; set; } = new List<ProfileDisciplineHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,29 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileDisciplineHistory : EntityBase
{
[Comment("ระดับความผิด")]
public string? Level { get; set; }
[Column(TypeName = "text")]
[Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("เอกสารอ้างอิง (เลขที่คำสั่ง)")]
public string? RefCommandNo { get; set; }
[Comment("เอกสารอ้างอิง (ลงวันที่)")]
public DateTime? RefCommandDate { get; set; }
[Comment("วัน เดือน ปี")]
public DateTime? Date { get; set; }
// public DateTime? Date { get; set; }
// public string? Status { get; set; }
// public string? Level { get; set; }
// public string? RefNo { get; set; }
// public DateTime? RefDate { get; set; }
public virtual ProfileDiscipline? ProfileDiscipline { get; set; }
}
}

View file

@ -0,0 +1,21 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileDuty : EntityBase
{
[Comment("เริ่มต้น")]
public DateTime? DateStart { get; set; }
[Comment("สิ้นสุด")]
public DateTime? DateEnd { get; set; }
[Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("เอกสารอ้างอิง")]
public string? Reference { get; set; }
public virtual List<ProfileDutyHistory> ProfileDutyHistorys { get; set; } = new List<ProfileDutyHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,20 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileDutyHistory : EntityBase
{
[Comment("เริ่มต้น")]
public DateTime? DateStart { get; set; }
[Comment("สิ้นสุด")]
public DateTime? DateEnd { get; set; }
[Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("เอกสารอ้างอิง")]
public string? Reference { get; set; }
public virtual ProfileDuty? ProfileDuty { get; set; }
}
}

View file

@ -0,0 +1,49 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileEducation : EntityBase
{
// [Key]
// public int Id { get; set; }
// [Required]
// public int Order { get; set; }
[MaxLength(1000), Comment("สถานศึกษา")]
public string? Institute { get; set; }
[MaxLength(200), Comment("วุฒิการศึกษา")]
public string? Degree { get; set; }
[MaxLength(200), Comment("สาขาวิชา/ทาง")]
public string? Field { get; set; }
[MaxLength(20), Comment("เกรดเฉลี่ย")]
public string? Gpa { get; set; }
[MaxLength(1000), Comment("ประเทศ")]
public string? Country { get; set; }
[MaxLength(1000), Comment("ระยะเวลา")]
public string? Duration { get; set; }
[MaxLength(1000), Comment("ข้อมูลการติดต่อ")]
public string? Other { get; set; }
[MaxLength(1000), Comment("ทุน")]
public string? FundName { get; set; }
[Comment("ระยะเวลาหลักสูตร")]
public int DurationYear { get; set; }
[Comment("วันที่สำเร็จการศึกษา")]
public DateTime? FinishDate { get; set; }
[Comment("ตั้งแต่")]
public DateTime? StartDate { get; set; }
[Comment("ถึง")]
public DateTime? EndDate { get; set; }
[Comment("ระดับศึกษา")]
public string? EducationLevel { get; set; }
[Comment("Id ระดับศึกษา")]
public Guid? EducationLevelId { get; set; }
[Comment("เป็นวุฒิการศึกษาในตำแหน่ง")]
public string? PositionPath { get; set; }
[Comment("Id เป็นวุฒิการศึกษาในตำแหน่ง")]
public Guid? PositionPathId { get; set; }
public virtual List<ProfileEducationHistory> ProfileEducationHistorys { get; set; } = new List<ProfileEducationHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,43 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileEducationHistory : EntityBase
{
[MaxLength(1000), Comment("สถานศึกษา")]
public string? Institute { get; set; }//
[MaxLength(200), Comment("วุฒิการศึกษา")]
public string? Degree { get; set; }//
[MaxLength(200), Comment("สาขาวิชา/ทาง")]
public string? Field { get; set; }//
[MaxLength(20), Comment("เกรดเฉลี่ย")]
public string? Gpa { get; set; }//
[MaxLength(1000), Comment("ประเทศ")]
public string? Country { get; set; }//
[MaxLength(1000), Comment("ระยะเวลา")]
public string? Duration { get; set; }//
[MaxLength(1000), Comment("ข้อมูลการติดต่อ")]
public string? Other { get; set; }//
[MaxLength(1000), Comment("ทุน")]
public string? FundName { get; set; }//
[Comment("ระยะเวลาหลักสูตร")]
public int DurationYear { get; set; }//
[Comment("วันที่สำเร็จการศึกษา")]
public DateTime? FinishDate { get; set; }//
[Comment("ตั้งแต่")]
public DateTime? StartDate { get; set; }//
[Comment("ถึง")]
public DateTime? EndDate { get; set; }//
[Comment("ระดับศึกษา")]
public string? EducationLevel { get; set; }
[Comment("Id ระดับศึกษา")]
public Guid? EducationLevelId { get; set; }
[Comment("เป็นวุฒิการศึกษาในตำแหน่ง")]
public string? PositionPath { get; set; }
[Comment("Id เป็นวุฒิการศึกษาในตำแหน่ง")]
public Guid? PositionPathId { get; set; }
public virtual ProfileEducation? ProfileEducation { get; set; }
}
}

View file

@ -0,0 +1,50 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileFamilyHistory : EntityBase
{
[Comment("คู่สมรส")]
public bool? Couple { get; set; }
[Comment("Id คำนำหน้าคู่สมรส")]
public Guid? CouplePrefixId { get; set; }
[Comment("คำนำหน้าคู่สมรส")]
public string? CouplePrefix { get; set; }
[Comment("ชื่อคู่สมรส")]
public string? CoupleFirstName { get; set; }
[Comment("นามสกุลคู่สมรส")]
public string? CoupleLastName { get; set; }
[Comment("นามสกุลคู่สมรส(เดิม)")]
public string? CoupleLastNameOld { get; set; }
[Comment("อาชีพคู่สมรส")]
public string? CoupleCareer { get; set; }
[Comment("Id คำนำหน้าบิดา")]
public Guid? FatherPrefixId { get; set; }
[Comment("คำนำหน้าบิดา")]
public string? FatherPrefix { get; set; }
[Comment("ชื่อบิดา")]
public string? FatherFirstName { get; set; }
[Comment("นามสกุลบิดา")]
public string? FatherLastName { get; set; }
[Comment("อาชีพบิดา")]
public string? FatherCareer { get; set; }
[Comment("Id คำนำหน้ามารดา")]
public Guid? MotherPrefixId { get; set; }
[Comment("คำนำหน้ามารดา")]
public string? MotherPrefix { get; set; }
[Comment("ชื่อมารดา")]
public string? MotherFirstName { get; set; }
[Comment("นามสกุลมารดา")]
public string? MotherLastName { get; set; }
[Comment("อาชีพมารดา")]
public string? MotherCareer { get; set; }
public virtual Profile? Profile { get; set; }
public virtual List<ProfileChildrenHistory> Childrens { get; set; } = new List<ProfileChildrenHistory>();
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileFatherHistory
{
[Key, Comment("ไม่ใช้")]
public int Id { get; set; }
[Required]
[MaxLength(50)]
public string Prefix { get; set; }
[Required]
[MaxLength(100)]
public string FirstName { get; set; }
[Required]
[MaxLength(100)]
public string LastName { get; set; }
[MaxLength(100)]
public string Career { get; set; }
public DateTime CreatedDate { get; set; } = DateTime.Now;
public Profile Profile { get; set; }
}
}

View file

@ -0,0 +1,54 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileGovernmentHistory : EntityBase
{
[Comment("เหตุผลกรณีไม่ตรงวัน")]
public string? ReasonSameDate { get; set; }
[Comment("Id สังกัด")]
public Guid? OcId { get; set; }
[Comment("สังกัด")]
public string? Oc { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionId { get; set; }
[Comment("ตำแหน่ง")]
public string? Position { get; set; }
[Comment("Id เลขที่ตำแหน่ง")]
public Guid? PosNoId { get; set; }
[Comment("เลขที่ตำแหน่ง")]
public string? PosNo { get; set; }
[Comment("สายงาน")]
public string? PositionLine { get; set; }
[Comment("ประเภทตำแหน่ง")]
public string? PositionType { get; set; }
[Comment("ระดับตำแหน่ง")]
public string? PositionLevel { get; set; }
[Comment("ตำแหน่งทางการบริหาร")]
public string? PositionExecutive { get; set; }
[Comment("ตำแหน่ง")]
public string? PositionEmployeePosition { get; set; }
[Comment("ด้านของตำแหน่ง")]
public string? PositionEmployeePositionSide { get; set; }
[Comment("ระดับชั้นงาน")]
public string? PositionEmployeeLevel { get; set; }
[Comment("กลุ่มงาน")]
public string? PositionEmployeeGroup { get; set; }
[Comment("วันที่สั่งบรรจุ")]
public DateTime? DateAppoint { get; set; }
[Comment("เริ่มปฎิบัติราชการ")]
public DateTime? DateStart { get; set; }
[Comment("วันเกษียณอายุ")]
public string? RetireDate { get; set; }
[Comment("อายุราชการ")]
public string? GovAge { get; set; }
[Comment("ขาดราชการ")]
public int? GovAgeAbsent { get; set; } = 0;
[Comment("อายุราชการเกื้อกูล")]
public int? GovAgePlus { get; set; } = 0;
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileHistory : EntityBase
{
[MaxLength(13), Comment("รหัสบัตรประชาชน")]
public string? CitizenId { get; set; }
[Comment("Id คำนำหน้า")]
public Guid? PrefixId { 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("Id เพศ")]
public Guid? GenderId { get; set; }
[Comment("เพศ")]
public string? Gender { get; set; }
[MaxLength(100), Comment("สัญชาติ")]
public string? Nationality { get; set; }
[MaxLength(100), Comment("เชื้อชาติ")]
public string? Race { get; set; }
[Comment("Id ศาสนา")]
public Guid? ReligionId { get; set; }
[Comment("ศาสนา")]
public string? Religion { get; set; }
[Required, Comment("วันเกิด")]
public DateTime BirthDate { get; set; }
[Comment("Id กลุ่มเลือด")]
public Guid? BloodGroupId { get; set; }
[Comment("กลุ่มเลือด")]
public string? BloodGroup { get; set; }
[Comment("Id สถานะภาพ")]
public Guid? RelationshipId { get; set; }
[Comment("สถานะภาพ")]
public string? Relationship { get; set; }
[MaxLength(50), Comment("เบอร์โทร")]
public string? TelephoneNumber { get; set; }
[MaxLength(20), Comment("ประเภทการจ้าง")]
public string? EmployeeType { get; set; }
[MaxLength(20), Comment("ประเภทลูกจ้าง")]
public string? EmployeeClass { get; set; }
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,30 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileHonor : EntityBase
{
// [Key]
// public int Id { get; set; }
// [Required]
// public int Order { get; set; }
// [MaxLength(20)]
// public string? No { get; set; }
[MaxLength(200), Comment("หน่วยงานที่ออก")]
public string? Issuer { get; set; }
[MaxLength(2000), Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("วันที่ได้รับ")]
public DateTime? IssueDate { get; set; }
// public DateTime? ReceiveDate { get; set; }
// public string? Detail { get; set; }
// public Guid? OrganizationOrganizationId { get; set; }
// public string? OrganizationOrganization { get; set; }
public virtual List<ProfileHonorHistory> ProfileHonorHistorys { get; set; } = new List<ProfileHonorHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,23 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileHonorHistory : EntityBase
{
[MaxLength(200), Comment("หน่วยงานที่ออก")]
public string? Issuer { get; set; }
[MaxLength(2000), Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("วันที่ได้รับ")]
public DateTime? IssueDate { get; set; }
// public DateTime? ReceiveDate { get; set; }
// public string? Detail { get; set; }
// public Guid? OrganizationOrganizationId { get; set; }
// public string? OrganizationOrganization { get; set; }
public virtual ProfileHonor? ProfileHonor { get; set; }
}
}

View file

@ -0,0 +1,35 @@
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileInsignia : EntityBase
{
[Comment("ปีที่ยื่นขอ")]
public int Year { get; set; }
[MaxLength(20), Comment("ลำดับที่")]
public string? No { get; set; }
[MaxLength(300), Comment("ราชกิจจาฯ ฉบับที่")]
public string? Issue { get; set; }
[MaxLength(30), Comment("เล่มที่")]
public string? VolumeNo { get; set; }
[MaxLength(30), Comment("เล่ม")]
public string? Volume { get; set; }
[MaxLength(30), Comment("ตอน")]
public string? Section { get; set; }
[MaxLength(30), Comment("หน้า")]
public string? Page { get; set; }
[Comment("วันที่ประกาศในราชกิจจาฯ")]
public DateTime? DateAnnounce { get; set; }
[Comment("ลงวันที่")]
public DateTime? ReceiveDate { get; set; }
[Comment("ประเภท")]
public string? InsigniaType { get; set; }
[Comment("ชื่อเครื่องราชฯ")]
public string? Insignia { get; set; }
public Guid? InsigniaId { get; set; }
public virtual List<ProfileInsigniaHistory> ProfileInsigniaHistorys { get; set; } = new List<ProfileInsigniaHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,34 @@
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileInsigniaHistory : EntityBase
{
[Comment("ปีที่ยื่นขอ")]
public int Year { get; set; }
[MaxLength(20), Comment("ลำดับที่")]
public string? No { get; set; }
[MaxLength(300), Comment("ราชกิจจาฯ ฉบับที่")]
public string? Issue { get; set; }
[MaxLength(30), Comment("เล่มที่")]
public string? VolumeNo { get; set; }
[MaxLength(30), Comment("เล่ม")]
public string? Volume { get; set; }
[MaxLength(30), Comment("ตอน")]
public string? Section { get; set; }
[MaxLength(30), Comment("หน้า")]
public string? Page { get; set; }
[Comment("วันที่ประกาศในราชกิจจาฯ")]
public DateTime? DateAnnounce { get; set; }
[Comment("ลงวันที่")]
public DateTime? ReceiveDate { get; set; }
[Comment("ประเภท")]
public string? InsigniaType { get; set; }
[Comment("ชื่อเครื่องราชฯ")]
public string? Insignia { get; set; }
public Guid? InsigniaId { get; set; }
public virtual ProfileInsignia? ProfileInsignia { get; set; }
}
}

View file

@ -0,0 +1,28 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileLeave : EntityBase
{
[Comment("วัน เดือน ปี ที่เริ่มลา")]
public DateTime? DateStartLeave { get; set; }
[Comment("วัน เดือน ปี ที่สิ้นสุดลา")]
public DateTime? DateEndLeave { get; set; }
[Comment("ลาครั้งที่")]
public double? NumLeave { get; set; }
[Comment("ลามาแล้ว")]
public double? SumLeave { get; set; }
[Comment("รวมเป็น")]
public double? TotalLeave { get; set; }
[Comment("สถานะ")]
public string? Status { get; set; }
[Comment("เหตุผล")]
public string? Reason { get; set; }
public virtual List<ProfileLeaveHistory> ProfileLeaveHistorys { get; set; } = new List<ProfileLeaveHistory>();
public virtual Profile? Profile { get; set; }
[Comment("ประเภทการลา")]
public virtual TypeLeave? TypeLeave { get; set; }
}
}

View file

@ -0,0 +1,27 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileLeaveHistory : EntityBase
{
[Comment("วัน เดือน ปี ที่เริ่มลา")]
public DateTime? DateStartLeave { get; set; }
[Comment("วัน เดือน ปี ที่สิ้นสุดลา")]
public DateTime? DateEndLeave { get; set; }
[Comment("ลาครั้งที่")]
public double? NumLeave { get; set; }
[Comment("ลามาแล้ว")]
public double? SumLeave { get; set; }
[Comment("รวมเป็น")]
public double? TotalLeave { get; set; }
[Comment("สถานะ")]
public string? Status { get; set; }
[Comment("เหตุผล")]
public string? Reason { get; set; }
[Comment("ประเภทการลา")]
public virtual TypeLeave? TypeLeave { get; set; }
public virtual ProfileLeave? ProfileLeave { get; set; }
}
}

View file

@ -0,0 +1,31 @@
using System;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileMotherHistory
{
[Key, Comment("ไม่ใช้")]
public int Id { get; set; }
[Required]
[MaxLength(50)]
public string Prefix { get; set; }
[Required]
[MaxLength(100)]
public string FirstName { get; set; }
[Required]
[MaxLength(100)]
public string LastName { get; set; }
[MaxLength(100)]
public string Career { get; set; }
public DateTime CreatedDate { get; set; } = DateTime.Now;
public Profile Profile { get; set; }
}
}

View file

@ -0,0 +1,30 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileNopaid : EntityBase
{
// [Key]
// public int Id { get; set; }
// [Required]
// public int Order { get; set; }
// [MaxLength(20)]
// public string No { get; set; }
// [MaxLength(200)]
// public string Issuer { get; set; }
// [MaxLength(2000)]
// public string Detail { get; set; }
// public DateTime IssueDate { get; set; }
[Comment("วัน เดือน ปี")]
public DateTime? Date { get; set; }
[Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("เอกสารอ้างอิง")]
public string? Reference { get; set; }
public virtual List<ProfileNopaidHistory> ProfileNopaidHistorys { get; set; } = new List<ProfileNopaidHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,18 @@
using System;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileNopaidHistory : EntityBase
{
[Comment("วัน เดือน ปี")]
public DateTime? Date { get; set; }
[Comment("รายละเอียด")]
public string? Detail { get; set; }
[Comment("เอกสารอ้างอิง")]
public string? Reference { get; set; }
public virtual ProfileNopaid? ProfileNopaid { get; set; }
}
}

View file

@ -0,0 +1,15 @@
using BMA.EHR.Profile.Service.Models.Documents;
using System.ComponentModel.DataAnnotations;
using Microsoft.EntityFrameworkCore;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileOrganization : EntityBase
{
[Comment("Id หน่วยงานที่สังกัด")]
public Guid? OrganizationId { get; set; }
[Comment("User Id KeyCloak")]
public Guid? UserId { get; set; }
}
}

View file

@ -0,0 +1,18 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileOther : EntityBase
{
[Comment("วันที่")]
public DateTime? Date { get; set; }
[Comment("รายละเอียด")]
public string? Detail { get; set; }
public virtual List<ProfileOtherHistory> ProfileOtherHistorys { get; set; } = new List<ProfileOtherHistory>();
public Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,17 @@
using System;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileOtherHistory : EntityBase
{
[Comment("วันที่")]
public DateTime? Date { get; set; }
[Comment("รายละเอียด")]
public string? Detail { get; set; }
public ProfileOther? ProfileOther { get; set; }
}
}

View file

@ -0,0 +1,19 @@
using BMA.EHR.Domain.Models.Base;
using BMA.EHR.Profile.Service.Models.Documents;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfilePaper : EntityBase
{
// [Key]
// public int Id { get; set; }
[Required, MaxLength(255), Comment("ชื่อไฟล์")]
public string? Detail { get; set; }
[Required, MaxLength(255), Comment("ประเภทไฟล์-ไม่ใช้")]
public string? CategoryName { get; set; }
public Document Document { get; set; }
public virtual Profile Profile { get; set; }
}
}

View file

@ -0,0 +1,34 @@
using System;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileRegistrationAddressHistory
{
[Key, Comment("ไม่ใช้")]
public int Id { get; set; }
[MaxLength(200)]
[Required]
public string Address { get; set; }
[Required]
public Guid SubDistrictId { get; set; }
[Required]
public Guid DistrictId { get; set; }
[Required]
public Guid ProvinceId { get; set; }
[MaxLength(5)]
[Required]
public string ZipCode { get; set; }
public DateTime CreatedDate { get; set; } = DateTime.Now;
public Profile Profile { get; set; }
}
}

View file

@ -0,0 +1,54 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileSalary : EntityBase
{
[Comment("วัน เดือน ปี รับตำแหน่ง")]
public DateTime? Date { get; set; }
[Comment("เงินเดือน")]
public double? Amount { get; set; }
[Comment("เงินประจำตำแหน่ง")]
public double? PositionSalaryAmount { get; set; }
[Comment("เงินค่าตอบแทนรายเดือน")]
public double? MouthSalaryAmount { get; set; }
[Comment("Id สังกัด")]
public Guid? OcId { get; set; }
[Comment("Id ชื่อย่อหน่วยงาน")]
public Guid? OrganizationShortNameId { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionId { get; set; }
[Comment("Id เลขที่ตำแหน่ง")]
public Guid? PosNoId { get; set; }
[Comment("เลขที่ตำแหน่งลูกจ้าง")]
public string? PosNoEmployee { get; set; }
[Comment("Id สายงาน")]
public Guid? PositionLineId { get; set; }
[Comment("Id ด้าน/สาขา")]
public Guid? PositionPathSideId { get; set; }
[Comment("Id ประเภทตำแหน่ง")]
public Guid? PositionTypeId { get; set; }
[Comment("Id ระดับ")]
public Guid? PositionLevelId { get; set; }
[Comment("Id ตำแหน่งทางการบริหาร")]
public Guid? PositionExecutiveId { get; set; }
[Comment("Id ด้านทางการบริหาร")]
public Guid? PositionExecutiveSideId { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionEmployeePositionId { get; set; }
[Comment("Id ด้านของตำแหน่ง")]
public Guid? PositionEmployeePositionSideId { get; set; }
[Comment(" Id ระดับชั้นงาน")]
public Guid? PositionEmployeeLevelId { get; set; }
[Comment("Id กลุ่มงาน")]
public Guid? PositionEmployeeGroupId { get; set; }
[Comment("ตำแหน่ง (รายละเอียด)")]
public string? SalaryClass { get; set; }
[Comment("เอกสารอ้างอิง")]
public string? SalaryRef { get; set; }
public virtual List<ProfileSalaryHistory> ProfileSalaryHistorys { get; set; } = new List<ProfileSalaryHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,79 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileSalaryHistory : EntityBase
{
[Comment("วัน เดือน ปี รับตำแหน่ง")]
public DateTime? Date { get; set; }
[Comment("เงินเดือน")]
public double? Amount { get; set; }
[Comment("เงินประจำตำแหน่ง")]
public double? PositionSalaryAmount { get; set; }
[Comment("เงินค่าตอบแทนรายเดือน")]
public double? MouthSalaryAmount { get; set; }
[Comment("Id สังกัด")]
public Guid? OcId { get; set; }
[Comment("สังกัด")]
public string? Oc { get; set; }
public Guid? OrganizationShortNameId { get; set; }
public string? OrganizationShortName { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionId { get; set; }
[Comment("ตำแหน่ง")]
public string? Position { get; set; }
[Comment("Id เลขที่ตำแหน่ง")]
public Guid? PosNoId { get; set; }
[Comment("เลขที่ตำแหน่ง")]
public string? PosNo { get; set; }
[Comment("เลขที่ตำแหน่งลูกจ้าง")]
public string? PosNoEmployee { get; set; }
[Comment("Id สายงาน")]
public Guid? PositionLineId { get; set; }
[Comment("สายงาน")]
public string? PositionLine { get; set; }
[Comment("Id ด้าน/สาขา")]
public Guid? PositionPathSideId { get; set; }
[Comment("ด้าน/สาขา")]
public string? PositionPathSide { get; set; }
[Comment("Id ประเภทตำแหน่ง")]
public Guid? PositionTypeId { get; set; }
[Comment("ประเภทตำแหน่ง")]
public string? PositionType { get; set; }
[Comment(" Id ระดับ")]
public Guid? PositionLevelId { get; set; }
[Comment("ระดับ")]
public string? PositionLevel { get; set; }
[Comment("Id ด้านทางการบริหาร")]
public Guid? PositionExecutiveId { get; set; }
[Comment("ตำแหน่งทางการบริหาร")]
public string? PositionExecutive { get; set; }
[Comment("Id ด้านทางการบริหาร")]
public Guid? PositionExecutiveSideId { get; set; }
[Comment("ด้านทางการบริหาร")]
public string? PositionExecutiveSide { get; set; }
[Comment("Id ตำแหน่ง")]
public Guid? PositionEmployeePositionId { get; set; }
[Comment("ตำแหน่ง")]
public string? PositionEmployeePosition { get; set; }
[Comment("Id ด้านของตำแหน่ง")]
public Guid? PositionEmployeePositionSideId { get; set; }
[Comment("ด้านของตำแหน่ง")]
public string? PositionEmployeePositionSide { get; set; }
[Comment(" Id ระดับชั้นงาน")]
public Guid? PositionEmployeeLevelId { get; set; }
[Comment("ระดับชั้นงาน")]
public string? PositionEmployeeLevel { get; set; }
[Comment("Id กลุ่มงาน")]
public Guid? PositionEmployeeGroupId { get; set; }
[Comment("กลุ่มงาน")]
public string? PositionEmployeeGroup { get; set; }
[Comment("ตำแหน่ง (รายละเอียด)")]
public string? SalaryClass { get; set; }
[Comment("เอกสารอ้างอิง")]
public string? SalaryRef { get; set; }
public virtual ProfileSalary? ProfileSalary { get; set; }
}
}

View file

@ -0,0 +1,20 @@
using BMA.EHR.Profile.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileSalaryOrganization
{
[ForeignKey("ProfileSalary"), Comment("ไม่ใช้")]
public int Id { get; set; }
[MaxLength(200)]
public string Comment { get; set; }
// public OrganizationEntity Organization { get; set; }
// public ProfileSalary ProfileSalary { get; set; }
}
}

View file

@ -0,0 +1,20 @@
using BMA.EHR.Domain.Models.MetaData;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileSalaryPosition
{
[ForeignKey("ProfileSalary"), Comment("ไม่ใช้")]
public int Id { get; set; }
[MaxLength(200)]
public string Comment { get; set; }
public Position Position { get; set; }
// public ProfileSalary ProfileSalary { get; set; }
}
}

View file

@ -0,0 +1,20 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileSalaryPositionLevel
{
[ForeignKey("ProfileSalary"), Comment("ไม่ใช้")]
public int Id { get; set; }
[MaxLength(200)]
public string Comment { get; set; }
// public PositionLevel PositionLevel { get; set; }
// public ProfileSalary ProfileSalary { get; set; }
}
}

View file

@ -0,0 +1,20 @@
using BMA.EHR.Profile.Service.Models;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileSalaryPositionNumber
{
[ForeignKey("ProfileSalary"), Comment("ไม่ใช้")]
public int Id { get; set; }
[MaxLength(200)]
public string Comment { get; set; }
// public PositionNumberEntity PositionNumber { get; set; }
// public ProfileSalary ProfileSalary { get; set; }
}
}

View file

@ -0,0 +1,22 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileSalaryPositionType
{
[ForeignKey("ProfileSalary"), Comment("ไม่ใช้")]
public int Id { get; set; }
[MaxLength(200)]
public string Comment { get; set; }
// public PositionType PositionType { get; set; }
// public ProfileSalary ProfileSalary { get; set; }
}
}

View file

@ -0,0 +1,34 @@
using System;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileTraining : EntityBase
{
[MaxLength(200), Comment("ชื่อโครงการ/หลักสูตรการฝึกอบรม")]
public string? Name { get; set; }
[MaxLength(200), Comment("หัวข้อการฝึกอบรม/ดูงาน")]
public string? Topic { get; set; }
[MaxLength(200), Comment("ปีที่อบรม (พ.ศ.)")]
public int? Yearly { get; set; }
[MaxLength(200), Comment("สถานที่ฝึกอบรม/ดูงาน")]
public string? Place { get; set; }
[MaxLength(200), Comment("รวมระยะเวลาในการฝึกอบรม/ดูงาน")]
public string? Duration { get; set; }
[MaxLength(200), Comment("หน่วยงานที่รับผิดชอบจัดการฝึกอบรม/ดูงาน")]
public string? Department { get; set; }
[MaxLength(200), Comment("เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ")]
public string? NumberOrder { get; set; }
[Comment("คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่")]
public DateTime? DateOrder { get; set; }
[Comment("วันเริ่มต้นการฝึกอบรม/ดูงาน")]
public DateTime? StartDate { get; set; }
[Comment("วันสิ้นสุดการฝึกอบรม/ดูงาน")]
public DateTime? EndDate { get; set; }
public virtual List<ProfileTrainingHistory> ProfileTrainingHistorys { get; set; } = new List<ProfileTrainingHistory>();
public virtual Profile? Profile { get; set; }
}
}

View file

@ -0,0 +1,33 @@
using System;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class ProfileTrainingHistory : EntityBase
{
[MaxLength(200), Comment("ชื่อโครงการ/หลักสูตรการฝึกอบรม")]
public string? Name { get; set; }
[MaxLength(200), Comment("หัวข้อการฝึกอบรม/ดูงาน")]
public string? Topic { get; set; }
[MaxLength(200), Comment("ปีที่อบรม (พ.ศ.)")]
public int? Yearly { get; set; }
[MaxLength(200), Comment("สถานที่ฝึกอบรม/ดูงาน")]
public string? Place { get; set; }
[MaxLength(200), Comment("รวมระยะเวลาในการฝึกอบรม/ดูงาน")]
public string? Duration { get; set; }
[MaxLength(200), Comment("หน่วยงานที่รับผิดชอบจัดการฝึกอบรม/ดูงาน")]
public string? Department { get; set; }
[MaxLength(200), Comment("เลขที่คำสั่ง/เลขที่หนังสืออนุมัติ")]
public string? NumberOrder { get; set; }
[Comment("คำสั่งลงวันที่/หนังสืออนุมัติลงวันที่")]
public DateTime? DateOrder { get; set; }
[Comment("วันเริ่มต้นการฝึกอบรม/ดูงาน")]
public DateTime? StartDate { get; set; }
[Comment("วันสิ้นสุดการฝึกอบรม/ดูงาน")]
public DateTime? EndDate { get; set; }
public virtual ProfileTraining? ProfileTraining { get; set; }
}
}

View file

@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
namespace BMA.EHR.Profile.Service.Models.HR
{
public class TypeLeave : EntityBase
{
[Comment("ประเภทการลา")]
public string? Name { get; set; }
public virtual List<LimitTypeLeave> LimitTypeLeaves { get; set; } = new List<LimitTypeLeave>();
}
}

View file

@ -0,0 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Domain.Models.MetaData
{
public class BloodGroup : EntityBase
{
[Required, MaxLength(2), 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;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Domain.Models.MetaData
{
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; }
}
}

View file

@ -0,0 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Domain.Models.MetaData
{
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;
}
}

View file

@ -0,0 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Domain.Models.MetaData
{
public class Gender : EntityBase
{
[Required, MaxLength(20), 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,28 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class Holiday : EntityBase
{
[Required, Column(Order = 1), Comment("ประจำปี")]
public int Year { get; set; } = 0;
[Required, Column(Order = 2), Comment("วันหยุด")]
public DateTime HolidayDate { get; set; } = DateTime.Now.Date;
[Required, Column(Order = 3), Comment("วันหยุด(Original)")]
public DateTime OriginalDate { get; set; } = DateTime.Now.Date;
[Required, MaxLength(250), Column(Order = 4), Comment("ชื่อวันหยุด")]
public string Name { get; set; } = string.Empty;
[Required, Column(Order = 5), Comment("เป็นวันหยุดพิเศษหรือไม่")]
public bool IsSpecial { get; set; } = true;
[Required, Column(Order = 6), Comment("ประเภทของวันหยุดสำหรับ ทำงาน 5 วัน=`NORMAL`,ทำงาน 6 วัน=`6DAYS`")]
public string Category { get; set; } = "NORMAL";
}
}

View file

@ -0,0 +1,27 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Domain.Models.MetaData
{
public class Insignia : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ชื่อเครื่องราชย์")]
public string Name { get; set; } = string.Empty;
[Required, MaxLength(30), Column(Order = 2), Comment("ชื่อย่อเครื่องราชย์")]
public string ShortName { get; set; } = string.Empty;
[Column(Order = 3), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
[Column(Order = 4), Comment("ลำดับชั้นของเครื่องราชย์ เอาไว้ตรวจสอบเวลาขอว่าต้องได้ชั้นที่สูงกว่าที่เคยได้รับแล้วเท่านั้น")]
public int Level { get; set; } = 0;
[Column(Order = 5), Comment("หมายเหตุ")]
public string Note { get; set; } = string.Empty;
public virtual InsigniaType? InsigniaType { get; set; }
}
}

View file

@ -0,0 +1,16 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Domain.Models.MetaData
{
public class InsigniaType : 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;
}
}

View file

@ -0,0 +1,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationAgency : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationFax : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationGovernmentAgency : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationLevel : 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 BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
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;
[Column(Order = 3), Comment("หมายเหตุ")]
public string Note { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,23 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationShortName : EntityBase
{
[Required, MaxLength(100), Column(Order = 1), Comment("ข้อมูลโครงสร้างหน่วยงานชื่อ รหัสหน่วยงาน")]
public string AgencyCode { get; set; } = string.Empty;
[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;
[Column(Order = 5), Comment("หมายเหตุ")]
public string Note { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationStatus : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationTelExternal : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationTelInternal : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class OrganizationType : 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,16 @@
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
using BMA.EHR.Domain.Models.Base;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PhysicalStatus : 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,37 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class Position : EntityBase
{
[Required, MaxLength(300), Column(Order = 1), Comment("ชื่อตำแหน่ง")]
public string Name { get; set; } = string.Empty;
[MaxLength(300), Column(Order = 2), Comment("ด้าน/สาขา")]
public virtual PositionPathSide? PathSide { get; set; }
[MaxLength(300), Column(Order = 3), Comment("ชื่อตำแหน่งทางการบริหาร")]
public string ExecutiveName { get; set; } = string.Empty;
[MaxLength(300), Column(Order = 4), Comment("ด้านทางการบริหาร")]
public virtual PositionExecutiveSide? ExecutiveSide { get; set; }
[Column(Order = 5), Comment("สายงาน")]
public virtual PositionPath? PositionPath { get; set; }
[Column(Order = 6), Comment("ตำแหน่งประเภท")]
public virtual PositionType? PositionType { get; set; }
[Column(Order = 7), Comment("ระดับ")]
public virtual PositionLevel? PositionLevel { get; set; }
[Column(Order = 8), Comment("ตำแหน่งสำหรับข้าราชการหรือลูกจ้าง officer/employee")]
public string PositionCategory { get; set; } = string.Empty;
[Column(Order = 9), Comment("สถานะการใช้งาน")]
public bool IsActive { get; set; } = true;
}
}

View file

@ -0,0 +1,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PositionEmployeeGroup : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PositionEmployeeLevel : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PositionEmployeeLine : 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 BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PositionEmployeePosition : 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;
[Column(Order = 3), Comment("หมายเหตุ")]
public string Note { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,19 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PositionEmployeePositionSide : 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;
[Column(Order = 3), Comment("หมายเหตุ")]
public string Note { get; set; } = string.Empty;
}
}

View file

@ -0,0 +1,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PositionEmployeeStatus : 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,16 @@
using BMA.EHR.Domain.Models.Base;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace BMA.EHR.Domain.Models.MetaData
{
public class PositionExecutive : 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;
}
}

Some files were not shown because too many files have changed in this diff Show more