2
schangxiang@126.com
2024-08-16 b47c50a2a514def7374b32d7194b2c599cba5625
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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]";
        }
 
    }
}