using iWareCommon.Common.Entity;
|
using iWareCommon.Utils;
|
using iWareDataCore.ORM;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace iWareDataCore.RBAC.Entity
|
{
|
/// <summary>
|
/// 角色-菜单
|
/// </summary>
|
public class RoleContentEntity : ICommonEntity<RBACRoleContent>
|
{
|
/// <summary>
|
/// 主键
|
/// </summary>
|
public int Id { get; set; }
|
|
/// <summary>
|
/// 菜单Id
|
/// </summary>
|
public int ContentId { get; set; }
|
|
/// <summary>
|
/// 角色Id
|
/// </summary>
|
public int RoleId { get; set; }
|
|
|
/// <summary>
|
/// 权限值
|
/// </summary>
|
public int Value { get; set; }
|
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
public RoleContentEntity() { }
|
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
/// <param name="roleContent">orm中的角色-菜单实体</param>
|
public RoleContentEntity(RBACRoleContent roleContent)
|
{
|
EntityPropHelper<RoleContentEntity, RBACRoleContent>.CopyProp(roleContent, this, GetColumnMap());
|
}
|
|
/// <summary>
|
/// 将对象转换成ORM中的类型
|
/// </summary>
|
/// <returns>Orm中的角色-菜单类型</returns>
|
public RBACRoleContent ToOrm()
|
{
|
var roleContent = new RBACRoleContent();
|
EntityPropHelper<RoleContentEntity, RBACRoleContent>.CopyProp(this, roleContent, GetColumnMap());
|
return roleContent;
|
}
|
|
/// <summary>
|
/// 获取自定义角色-菜单类中的字段名为键,orm中对象的字段名为值的字典
|
/// </summary>
|
/// <returns>自定义角色-菜单类中的字段名为键,orm中对象的字段名为值的字典</returns>
|
public static Dictionary<string, string> GetColumnMap()
|
{
|
return new Dictionary<string, string>()
|
{
|
{"Id", "id"},
|
{"ContentId", "contentid"},
|
{"RoleId", "roleid"},
|
{"Value", "value"}
|
};
|
}
|
|
|
|
/// <summary>
|
/// 根据ContentRoleEntity的字段转RBACContentRole的字段
|
/// </summary>
|
/// <param name="name">ContentRoleEntity的字段</param>
|
/// <returns>RBACContentRole中的字段</returns>
|
public static string GetColumnName(string name)
|
{
|
var columnMap = GetColumnMap();
|
return columnMap.ContainsKey(name) ? columnMap[name] : name;
|
}
|
|
/// <summary>
|
/// 获取ContentRoleEntity对应的表名
|
/// </summary>
|
/// <returns>ContentRoleEntity</returns>
|
public static string GetTableName()
|
{
|
return "[dbo].[RBACRoleContent]";
|
}
|
|
}
|
}
|