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 BaseEntity : IActivableEntity, IAuditableEntity { [Key, Column(Order = 0), Comment("คีย์หลัก")] public virtual T Id { get; set; } [Required, Column(Order = 990), Comment("สถานะการใช้งาน")] public bool IsActive { get; set; } = true; [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; } } }