领胜LDS 键盘AOI检测项目
xcd
2020-07-15 bbac60058524198c13c4a22943719f853ef8e2bc
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
using Bro.Common.Helper;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
 
namespace Bro.M071.Model
{
    public class BaseModel
    {
        /// <summary>
        /// 编号,唯一值,使用GUID
        /// </summary>
        [Key]
        [Required(ErrorMessage = "编号不可为空!")]
        [StringLength(64)]
        public string ID { get; set; } = Guid.NewGuid().ToString().ToUpper();
 
        /// <summary>
        /// 禁用状态 0 未禁用 1 已禁用
        /// </summary>
        [Required]
        public int IS_DISABLED { get; set; } = 0;
 
        /// <summary>
        /// 删除状态 0 未删除 1 已删除
        /// </summary>
        [Required]
        public int IS_DELETED { get; set; } = 0;
 
        /// <summary>
        /// 创建人信息
        /// </summary>
        //[Required]
        [StringLength(64)]
        public string CREATE_USER { get; set; }
 
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CREATE_TIME { get; set; } = DateTime.Now;
 
        /// <summary>
        /// 更新人信息
        /// </summary>
        [StringLength(64)]
        public string UPDATE_USER { get; set; }
 
        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UPDATE_TIME { get; set; }
    }
 
    public static class BaseModelHelper
    {
        public static void Create<T>(this T t, string userId) where T : BaseModel
        {
            t.CREATE_USER = userId;
            t.CREATE_TIME = DateTime.Now;
        }
 
        public static void Update<T>(this T t, string userId) where T : BaseModel
        {
            t.UPDATE_USER = userId;
            t.UPDATE_TIME = DateTime.Now;
        }
 
        static List<string> NoTransferProps = new List<string>() { "ID", "CREATE_USER", "CREATE_TIME", "UPDATE_USER", "UPDATE_TIME", "IS_DELETED" };
        public static void DataTransfer<T>(this T destT, T sourceT) where T : BaseModel
        {
            destT.DataFrom(sourceT, NoTransferProps);
        }
 
        public static List<T> ToPagedList<T>(this IQueryable<T> orderQuery, BaseRequest request) where T : class
        {
            return orderQuery.Skip((request.PageNum - 1) * request.PageSize).Take(request.PageSize).ToList();
        }
    }
 
    public class BaseRequest : INotifyPropertyChanged
    {
 
        private int pageNum = 1;
        /// <summary>
        /// 查询结果页数
        /// </summary>
        public int PageNum
        {
            get => pageNum;
            set
            {
                if (pageNum != value)
                {
                    pageNum = value;
                    PropertyChanged?.BeginInvoke(this, new PropertyChangedEventArgs("PageNum"), null, null);
                }
            }
        }
 
        private int pageSize = 100;
        /// <summary>
        /// 每页的查询结果条数
        /// </summary>
        public int PageSize
        {
            get => pageSize;
            set
            {
                if (pageSize != value)
                {
                    pageSize = value;
                    PropertyChanged?.BeginInvoke(this, new PropertyChangedEventArgs("PageSize"), null, null);
                }
            }
        }
 
        /// <summary>
        /// 查询起始时间
        /// </summary>
        public DateTime? StartTime { get; set; }
 
        /// <summary>
        /// 查询结束时间
        /// </summary>
        public DateTime? EndTime { get; set; }
 
        /// <summary>
        /// 启用状态过滤器 1:仅未启用 0:仅启用 -1:全部
        /// </summary>
        public int DisableFilter { get; set; } = 0;
 
        /// <summary>
        /// 查询字符串
        /// </summary>
        public string SearchTxt { get; set; }
 
        private int totalNum = 0;
        /// <summary>
        /// 数据总数
        /// </summary>
        public int TotalNum
        {
            get => totalNum;
            set
            {
                if (totalNum != value)
                {
                    totalNum = value;
                    PropertyChanged?.BeginInvoke(this, new PropertyChangedEventArgs("TotalNum"), null, null);
                }
                TotalPage = (int)Math.Ceiling((double)TotalNum / PageSize);
            }
        }
 
        private int totalPage = 0;
        /// <summary>
        /// 总页数
        /// </summary>
        public int TotalPage
        {
            get => totalPage;
            set
            {
                if (totalPage != value)
                {
                    totalPage = value;
                    PropertyChanged?.BeginInvoke(this, new PropertyChangedEventArgs("TotalPage"), null, null);
                }
            }
        }
 
        public event PropertyChangedEventHandler PropertyChanged;
    }
}