DEntityBase.cs 1.78 KB
using NCC.Common.Const;
using NCC.Common.Extension;
using NCC.Dependency;
using SqlSugar;
using System;

namespace NCC.Common.Entity
{
    /// <summary>
    /// 实体类基类
    /// </summary>
    [SuppressSniffer]
    public abstract class DEntityBase<TKey> : IEntity<TKey> where TKey : IEquatable<TKey>
    {
        /// <summary>
        /// 获取或设置 编号
        /// </summary>  
        [SugarColumn(ColumnName = "F_Id", ColumnDescription = "主键", IsPrimaryKey = true)]
        public TKey Id { get; set; }

        /// <summary>
        /// 获取或设置 删除标志
        /// </summary>
        [SugarColumn(ColumnName = "F_DeleteMark", ColumnDescription = "删除标志", IsNullable = true)]
        public virtual int? DeleteMark { get; set; }

        /// <summary>
        /// 获取或设置 删除时间
        /// </summary>
        [SugarColumn(ColumnName = "F_DeleteTime", ColumnDescription = "删除时间", IsNullable = true)]
        public virtual DateTime? DeleteTime { get; set; }

        /// <summary>
        /// 获取或设置 删除用户
        /// </summary>
        [SugarColumn(ColumnName = "F_DeleteUserId", ColumnDescription = "删除用户", IsNullable = true)]
        public virtual string DeleteUserId { get; set; }


        /// <summary>
        /// 创建
        /// </summary>
        public virtual void Create()
        {
            
        }

        /// <summary>
        /// 删除
        /// </summary>
        public virtual void Delete()
        {
            var userId = App.User.FindFirst(ClaimConst.CLAINM_USERID)?.Value;
            this.DeleteTime = DateTime.Now;
            this.DeleteMark = 1;
            if (!string.IsNullOrEmpty(userId))
            {
                this.DeleteUserId = userId;
            }
        }


    }
}