using NPin.Framework.SqlSugarCore.Abstractions.Data;
using SqlSugar;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities;

namespace NPin.Framework.Upms.Domain.Entities;

[SugarTable("Post", "岗位表")]
public class PostEntity : Entity<Guid>, ISoftDelete, IAuditedObject, IOrderNum, IEnabled
{
    [SugarColumn(IsPrimaryKey = true, ColumnDescription = "主键")]
    public override Guid Id { get; protected set; }

    [SugarColumn(ColumnDescription = "岗位编码")]
    public string Code { get; set; } = string.Empty;

    [SugarColumn(ColumnDescription = "岗位名称")]
    public string Name { get; set; } = string.Empty;

    [SugarColumn(ColumnDescription = "岗位描述")]
    public string? Remark { get; set; }

    public bool IsDeleted { get; }
    public DateTime CreationTime { get; } = DateTime.Now;
    public Guid? CreatorId { get; }
    public DateTime? LastModificationTime { get; }
    public Guid? LastModifierId { get; }
    public int OrderNum { get; set; }
    public bool IsEnabled { get; set; }
}