using JNPF.Common.Contracts;
using SqlSugar;
namespace JNPF.Systems.Entitys.Permission;
///
/// 实体类:操作权限.
///
[SugarTable("BASE_AUTHORIZE")]
public class AuthorizeEntity : CEntityBase
{
///
/// 项目类型:system、menu、module、button、column、resource.
///
[SugarColumn(ColumnName = "F_ITEMTYPE")]
public string ItemType { get; set; }
///
/// 项目主键.
///
[SugarColumn(ColumnName = "F_ITEMID")]
public string ItemId { get; set; }
///
/// 对象类型:Role、Position、User.
///
[SugarColumn(ColumnName = "F_OBJECTTYPE")]
public string ObjectType { get; set; }
///
/// 对象主键.
///
[SugarColumn(ColumnName = "F_OBJECTID")]
public string ObjectId { get; set; }
///
/// 排序码.
///
[SugarColumn(ColumnName = "F_SORTCODE")]
public long? SortCode { get; set; }
///
/// A集合是否存在B集合.
///
///
///
public override bool Equals(object? obj)
{
if (obj is AuthorizeEntity authorizeEntity)
{
//AuthorizeEntity authorizeEntity = obj as AuthorizeEntity;
return ItemType == authorizeEntity.ItemType && ItemId == authorizeEntity.ItemId && ObjectId == authorizeEntity.ObjectId && ObjectType == authorizeEntity.ObjectType;
}
return false;
}
///
/// 实体哈希值.
///
///
public override int GetHashCode()
{
return ItemType.GetHashCode() ^ ItemId.GetHashCode() ^ ObjectId.GetHashCode() ^ ObjectType.GetHashCode();
}
}