using NCC.Common.Const;
using NCC.Common.Extension;
using NCC.Dependency;
using SqlSugar;
using System;
namespace NCC.Common.Entity
{
///
/// 实体类基类
///
[SuppressSniffer]
public abstract class DEntityBase : IEntity where TKey : IEquatable
{
///
/// 获取或设置 编号
///
[SugarColumn(ColumnName = "F_Id", ColumnDescription = "主键", IsPrimaryKey = true)]
public TKey Id { get; set; }
///
/// 获取或设置 删除标志
///
[SugarColumn(ColumnName = "F_DeleteMark", ColumnDescription = "删除标志", IsNullable = true)]
public virtual int? DeleteMark { get; set; }
///
/// 获取或设置 删除时间
///
[SugarColumn(ColumnName = "F_DeleteTime", ColumnDescription = "删除时间", IsNullable = true)]
public virtual DateTime? DeleteTime { get; set; }
///
/// 获取或设置 删除用户
///
[SugarColumn(ColumnName = "F_DeleteUserId", ColumnDescription = "删除用户", IsNullable = true)]
public virtual string DeleteUserId { get; set; }
///
/// 创建
///
public virtual void Create()
{
}
///
/// 删除
///
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;
}
}
}
}