服务端的TigerApi 框架,基于.NET6 2024 版本
Cloud Zhang
2024-05-16 4361513fb831fdd416356e576682358bd72a121c
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
using System;
using SqlSugar;
using System.Linq;
using System.ComponentModel;
using System.Collections.Generic;
using System.Text.RegularExpressions;
 
namespace Tiger.Model
{
    /// <summary>
    /// 实体:条码规则明细定义
    /// </summary>
    [Description("Primary:ID")]
    [Serializable]
    [SugarTable("BAS_CODE_DTL")]
    public class BAS_CODE_DTL : DbEntityWithAuth
    {
        #region 构造函数
        /// <summary>
        /// 实体:条码规则明细定义
        /// </summary>
        public BAS_CODE_DTL() {}
        #endregion
 
        #region 公共属性
        /// <summary>
        /// 规则ID
        /// </summary>
        public string RULE_ID { get; set; }
        /// <summary>
        /// 规则顺序(从1开始累计加1)
        /// </summary>
        public int RULE_SEQ { get; set; }
        /// <summary>
        /// 明细描述
        /// </summary>
        public string DESCRIPTION { get; set; }
        /// <summary>
        /// 数据类型(0Character纯字母|1Numeric纯数字|2FixedCode固定值|3SerialCode流水号|4DateCode日期|5TimeCode时间|6DbCheck关联校验|7NoCheck不校验)
        /// </summary>
        public int DATA_TYPE { get; set; }
        /// <summary>
        /// 数据选择值(纯字母,日期,时间选择值)
        /// </summary>
        public string DATA_CASE { get; set; }
        /// <summary>
        /// 数据值(固定值填写值)
        /// </summary>
        public string DATA_VALUE { get; set; }
        /// <summary>
        /// 流水号最小值
        /// </summary>
        public int SERIAL_MIN { get; set; }
        /// <summary>
        /// 流水号最大值
        /// </summary>
        public int SERIAL_MAX { get; set; }
        /// <summary>
        /// 流水号重置类型(0Default默认|1Year年|2Month月|3Week周|4Day日|5NotReset不重置)
        /// </summary>
        public int SERIAL_RESET { get; set; }
        /// <summary>
        /// 关联表
        /// </summary>
        public string CHECK_TABLE { get; set; }
        /// <summary>
        /// 关联字段
        /// </summary>
        public string CHECK_FIELD { get; set; }
        /// <summary>
        /// 校验长度(默认是1)
        /// </summary>
        public int CHECK_LENGTH { get; set; }
        /// <summary>
        /// 匹配次数(默认是1)
        /// </summary>
        public int REPEAT_TIMES { get; set; }
        /// <summary>
        /// 起始位置(从0开始)
        /// </summary>
        public string START_DIGIT { get; set; }
        /// <summary>
        /// 校验表达式
        /// </summary>
        public string DATA_REGEX { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string REMARK { get; set; }
        #endregion
 
        #region 虚拟属性
        /*例子
        [SugarColumn(IsIgnore = true)]
        public string FieldName { get; set; }
        */
        /// <summary>
        /// Regex 对象, 正则表达式:^(DATA_REGEX)$
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public Regex Regex => new Regex($"^{DATA_REGEX}$");
        /// <summary>
        /// 分组的校验表达式,使用RULE_SEQ分组
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public string DATA_REGEX_WithGroup => $"(?<{RULE_SEQ}>{DATA_REGEX})";
        /// <summary>
        /// 校验正则表达式
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public Regex GroupRegex => new Regex(DATA_REGEX_WithGroup);
        /// <summary>
        /// 数据值(生成条码时的值)
        /// </summary>
        [SugarColumn(IsIgnore = true)]
        public string CodeValue { get; set; }
        #endregion
 
        #region 外键属性
        /*例子
        //一对一外键导航
        [Navigate(NavigateType.OneToOne, nameof(ClassAId))]//一对一 ClassAId是BAS_CODE_DTL类里面的外键ID字段
        public ClassA ClassA { get; set; } //注意禁止手动赋值,只能是null
        //一对多外键导航
        [Navigate(NavigateType.OneToMany, nameof(ClassA.BAS_CODE_DTLId))]//ClassA表中的BAS_CODE_DTLId
        public List<ClassA> ClassAList { get; set; }//注意禁止手动赋值,只能是null
        //多对多外键导航
        [Navigate(typeof(MappingClass), nameof(MappingClass.BAS_CODE_DTLId), nameof(MappingClass.ClassAId))]//注意顺序
        public List<ClassA> ClassAList { get; set; } //注意禁止手动赋值,只能是null
        */
        #endregion
 
        #region 枚举变量
        /// <summary>
        /// 数据类型(0Character纯字母|1Numeric纯数字|2FixedCode固定值|3SerialCode流水号|4DateCode日期|5TimeCode时间|6DbCheck关联校验|7NoCheck不校验)
        /// </summary>
        public enum DATA_TYPEs
        {
            [Description("纯字母")]
            Character,
            [Description("纯数字")]
            Numeric,
            [Description("固定值")]
            FixedCode,
            [Description("流水号")]
            SerialCode,
            [Description("日期")]
            DateCode,
            [Description("时间")]
            TimeCode,
            [Description("关联校验")]
            DbCheck,
            [Description("不校验")]
            NoCheck,
        }
        /// <summary>
        /// 大小写(0NotSet不限制|1Upper全大写|2Lower全小写)
        /// </summary>
        //public enum DATA_CASEs
        //{
        //    [Description("不限制")]
        //    NotSet,
        //    [Description("全大写")]
        //    Upper,
        //    [Description("全小写")]
        //    Lower,
        //}
        /// <summary>
        /// 流水号重置类型(0Default默认|1Year年|2Month月|3Week周|4Day日|5NotReset不重置)
        /// </summary>
        public enum SERIAL_RESETs
        {
            [Description("默认")]
            Default,
            [Description("年")]
            Year,
            [Description("月")]
            Month,
            [Description("周")]
            Week,
            [Description("日")]
            Day,
            [Description("不重置")]
            NotReset,
        }
        #endregion
 
        #region 公共方法
 
        #endregion
 
    }//endClass
}