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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
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.DEV.Entity
{
    public class EquipmentEntity : ICommonEntity<DEVEquipment>
    {
        /// <summary>
        /// 设备表主键
        /// </summary>
        public int Id { get; set; }
 
        /// <summary>
        /// 设备标识
        /// </summary>
        public string EquipId { get; set; }
 
        /// <summary>
        /// 设备名称
        /// </summary>
        public string EquipName { get; set; }
 
        /// <summary>
        /// 需要连接服务器的ip
        /// </summary>
        public string ServerIp { get; set; }
 
        /// <summary>
        /// 需要连接服务器的端口
        /// </summary>
        public string ServerPort { get; set; }
 
        /// <summary>
        /// 设备本身的ip
        /// </summary>
        public string LocalIp { get; set; }
 
        /// <summary>
        /// 设备本身的端口
        /// </summary>
        public string LocalPort { get; set; }
 
        /// <summary>
        /// 设备类型    0为堆垛机   1为传送机  
        /// </summary>
        public int TypeId { get; set; }
 
        /// <summary>
        /// 所属区域
        /// </summary>
        public string Area { get; set; }
 
        /// <summary>
        /// 是否启用  0为禁用  1为启用
        /// </summary>
        public int Status { get; set; }
 
        /// <summary>
        /// 展示名
        /// </summary>
        public string DisplayName { get; set; }
 
        /// <summary>
        /// 构造函数
        /// </summary>
        public EquipmentEntity() { }
 
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="equipment">ORM中的DEVEquipment实体</param>
        public EquipmentEntity(DEVEquipment equipment)
        {
            EntityPropHelper<EquipmentEntity, DEVEquipment>.CopyProp(equipment, this, GetColumnMap());
 
        }
 
        /// <summary>
        /// 获取自定义类中的字段名为键,ORM中对象的字段名为值的字段
        /// </summary>
        /// <returns></returns>
        public static Dictionary<string, string> GetColumnMap()
        {
            return new Dictionary<string, string>() 
            { 
                {"Id", "id"},
                {"EquipId", "equipid"},
                {"EquipName", "equipname"},
                {"ServerIp", "serverip"},
                {"ServerPort", "serverport"},
                {"LocalIp", "localip"},
                {"LocalPort", "localport"},
                {"TypeId", "typeid"},
                {"Area", "area"},
                {"Status","status"},
                {"DisplayName","displayname"}
            };
        }
 
        /// <summary>
        /// 将place实体转化为orm里面的place模型
        /// </summary>
        /// <returns>orm中的place模型</returns>
        public DEVEquipment ToOrm()
        {
            var equip = new DEVEquipment();
            EntityPropHelper<EquipmentEntity, DEVEquipment>.CopyProp(this, equip, GetColumnMap());
            return equip;
        }
 
 
        /// <summary>
        /// 根据EquipmentEntity的字段转DEVEquipment的字段
        /// </summary>
        /// <param name="name">EquipmentEntity的字段</param>
        /// <returns>DEVEquipment</returns>
        public static string GetColumnName(string name)
        {
            var columnMap = GetColumnMap();
            return columnMap.ContainsKey(name) ? columnMap[name] : name;
        }
 
        /// <summary>
        /// 获取EquipmentEntity对应的表名
        /// </summary>
        /// <returns>DEVEquipment</returns>
        public static string GetTableName()
        {
            return "[dbo].[DEVEquipment]";
        }
        
 
    }
}