Files
tnb.server/common/Tnb.Common/Contracts/CDEntityBase.cs
2023-03-13 15:00:34 +08:00

93 lines
2.8 KiB
C#

using JNPF.Common.Const;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using SqlSugar;
namespace JNPF.Common.Contracts;
/// <summary>
/// 创删实体基类.
/// </summary>
[SuppressSniffer]
public abstract class CDEntityBase : EntityBase<string>, ICreatorTime, IDeleteTime
{
/// <summary>
/// 获取或设置 创建时间.
/// </summary>
[SugarColumn(ColumnName = "F_CREATORTIME", ColumnDescription = "创建时间")]
public virtual DateTime? CreatorTime { get; set; }
/// <summary>
/// 获取或设置 创建用户.
/// </summary>
[SugarColumn(ColumnName = "F_CREATORUSERID", ColumnDescription = "创建用户")]
public virtual string CreatorUserId { get; set; }
/// <summary>
/// 获取或设置 启用标识.
/// </summary>
[SugarColumn(ColumnName = "F_ENABLEDMARK", ColumnDescription = "启用标识")]
public virtual int? EnabledMark { get; set; }
/// <summary>
/// 获取或设置 删除标志.
/// </summary>
[SugarColumn(ColumnName = "F_DeleteMark", ColumnDescription = "删除标志")]
public virtual int? DeleteMark { get; set; }
/// <summary>
/// 获取或设置 删除时间.
/// </summary>
[SugarColumn(ColumnName = "F_DeleteTime", ColumnDescription = "删除时间")]
public virtual DateTime? DeleteTime { get; set; }
/// <summary>
/// 获取或设置 删除用户.
/// </summary>
[SugarColumn(ColumnName = "F_DeleteUserId", ColumnDescription = "删除用户")]
public virtual string DeleteUserId { get; set; }
/// <summary>
/// 创建.
/// </summary>
public virtual void Creator()
{
var userId = App.User.FindFirst(ClaimConst.CLAINMUSERID)?.Value;
this.CreatorTime = DateTime.Now;
this.Id = SnowflakeIdHelper.NextId();
this.EnabledMark = this.EnabledMark == null ? 1 : this.EnabledMark;
if (!string.IsNullOrEmpty(userId))
{
this.CreatorUserId = userId;
}
}
/// <summary>
/// 创建.
/// </summary>
public virtual void Create()
{
var userId = App.User.FindFirst(ClaimConst.CLAINMUSERID)?.Value;
this.CreatorTime = DateTime.Now;
this.Id = this.Id == null ? SnowflakeIdHelper.NextId() : this.Id;
this.EnabledMark = this.EnabledMark == null ? 1 : this.EnabledMark;
if (!string.IsNullOrEmpty(userId))
{
this.CreatorUserId = CreatorUserId == null ? userId : CreatorUserId;
}
}
/// <summary>
/// 删除.
/// </summary>
public virtual void Delete()
{
var userId = App.User.FindFirst(ClaimConst.CLAINMUSERID)?.Value;
this.DeleteTime = DateTime.Now;
this.DeleteMark = 1;
if (!string.IsNullOrEmpty(userId))
{
this.DeleteUserId = userId;
}
}
}