希望这些建议,能推动管理软件开发的规范化进程 (当前操作员类BaseUserInfo)

我们编写管理软件时,很重要的一个基础观念是:

 1. 当前软件系统是谁在操作?
 2. 当前软件系统的操作者部门信息是什么? 公司信息是什么? 通过这些信息获得相关数据.
 3. 当前软件系统操作者是否为系统管理员?
 4. 当前软件系统是谁在输入数据,谁在修改数据?

这个基础思想甚至会影响你整个系统的架构,贯穿各个层。
若没有这些数据,操作员在你系统里干了坏事,总得能记录吧?好让警察来破案。
在管理软件中,在登录过程中,确认当前操作员是谁?谁在操作数据等。
当软件系统不需要登录时,也可以把IP地址等标示信息,看成是一个特定的用户信息。

每个公司侧重的数据,每个软件侧重的数据理念都会有些不同,命名也有些不同,
其中的信息也大有不同,现在我只是提一个建议。
大家都统一命名为 BaseUserInfo,类的实体都命名为 UserInfo。
你可能这里的属性只需要几个,但是多几个也无妨,就当是后备用好了。
在C/S系统中,当前用户的信息可以存储在 Static 类里,在B/S系统中可以存在 Session 中。

  1 // ------------------------------------------------------------
  2 //  All Rights Reserved , Copyright (C) 2008 , Jirisoft , Ltd. 
  3 // ------------------------------------------------------------
  4
  5 using  System;
  6
  7 namespace  Jirisoft.Common.Utilities
  8 28171256_QsME.gif28171256_gjwR.gif {
  928171256_n5SW.gif28171257_6shl.gif /**//// <summary>
 10    /// BaseUserInfo
 11    /// 当前操作员信息的简要信息类
 12    /// 
 13    /// 修改纪录
 14    /// 
 15    ///  2008.08.26 JiRiGaLa 版本:1.2 整理代码。
 16    ///  2006.05.03 JiRiGaLa 版本:1.1 添加到工程项目中。
 17    ///  2006.01.21 JiRiGaLa 版本:1.0 远程传递参数用。
 18    ///  
 19    /// 版本:1.2
 20    ///
 21    /// <author>
 22    ///  <name>JiRiGaLa</name>
 23    ///  <date>2008.08.26</date>
 24 /// </author> 
 25 /// </summary>

 26 [Serializable]
 27 public class BaseUserInfo
 2828171256_n5SW.gif28171257_6shl.gif {
 2928171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
 30        /// 操作员代码
 31        /// </summary>

 32        private String id = String.Empty;
 33        public String ID
 3428171256_n5SW.gif28171257_6shl.gif        {
 35            get
 3628171256_n5SW.gif28171257_6shl.gif            {
 37                return this.id;
 38            }

 39            set
 4028171256_n5SW.gif28171257_6shl.gif            {
 41                this.id = value;
 42            }

 43        }

 44        
 4528171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
 46        /// 操作员用户名
 47        /// </summary>

 48        private String userName = String.Empty;
 49        public String UserName
 5028171256_n5SW.gif28171257_6shl.gif        {
 51            get
 5228171256_n5SW.gif28171257_6shl.gif            {
 53                return this.userName;
 54            }

 55            set
 5628171256_n5SW.gif28171257_6shl.gif            {
 57                this.userName = value;
 58            }

 59        }

 60        
 6128171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
 62        /// 操作员姓名
 63        /// </summary>

 64        private String realname = String.Empty;
 65        public String Realname
 6628171256_n5SW.gif28171257_6shl.gif        {
 67            get
 6828171256_n5SW.gif28171257_6shl.gif            {
 69                return this.realname;
 70            }

 71            set
 7228171256_n5SW.gif28171257_6shl.gif            {
 73                this.realname = value;
 74            }

 75        }

 76
 7728171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
 78        /// 当前的组织结构部门代码
 79        /// </summary>

 80        private String departmentID = String.Empty;
 81        public String DepartmentID
 8228171256_n5SW.gif28171257_6shl.gif        {
 83            get
 8428171256_n5SW.gif28171257_6shl.gif            {
 85                return this.departmentID;
 86            }

 87            set
 8828171256_n5SW.gif28171257_6shl.gif            {
 89                this.departmentID = value;
 90            }

 91        }

 92
 9328171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
 94        /// 当前的组织结构部门编号
 95        /// </summary>

 96        private String departmentCode = String.Empty;
 97        public String DepartmentCode
 9828171256_n5SW.gif28171257_6shl.gif        {
 99            get
10028171256_n5SW.gif28171257_6shl.gif            {
101                return this.departmentCode;
102            }

103            set
10428171256_n5SW.gif28171257_6shl.gif            {
105                this.departmentCode = value;
106            }

107        }

108
10928171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
110        /// 当前的组织结构部门名称
111        /// </summary>

112        private String departmentFullName = String.Empty;
113        public String DepartmentFullName
11428171256_n5SW.gif28171257_6shl.gif        {
115            get
11628171256_n5SW.gif28171257_6shl.gif            {
117                return this.departmentFullName;
118            }

119            set
12028171256_n5SW.gif28171257_6shl.gif            {
121                this.departmentFullName = value;
122            }

123        }

124        
12528171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
126        /// 当前的组织结构公司代码
127        /// </summary>

128        private String companyID = String.Empty;
129        public String CompanyID
13028171256_n5SW.gif28171257_6shl.gif        {
131            get
13228171256_n5SW.gif28171257_6shl.gif            {
133                return this.companyID;
134            }

135            set
13628171256_n5SW.gif28171257_6shl.gif            {
137                this.companyID = value;
138            }

139        }

140        
14128171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
142        /// 当前的组织结构公司编号
143        /// </summary>

144        private String companyCode = String.Empty;
145        public String CompanyCode
14628171256_n5SW.gif28171257_6shl.gif        {
147            get
14828171256_n5SW.gif28171257_6shl.gif            {
149                return this.companyCode;
150            }

151            set
15228171256_n5SW.gif28171257_6shl.gif            {
153                this.companyCode = value;
154            }

155        }

156        
15728171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
158        /// 当前的组织结构公司名称
159        /// </summary>

160        private String companyFullName = String.Empty;
161        public String CompanyFullName
16228171256_n5SW.gif28171257_6shl.gif        {
163            get
16428171256_n5SW.gif28171257_6shl.gif            {
165                return this.companyFullName;
166            }

167            set
16828171256_n5SW.gif28171257_6shl.gif            {
169                this.companyFullName = value;
170            }

171        }

172
17328171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
174        /// 操作员类型
175        /// </summary>

176        private String operatorCategory = String.Empty;
177        public String OperatorCategory
17828171256_n5SW.gif28171257_6shl.gif        {
179            get
18028171256_n5SW.gif28171257_6shl.gif            {
181                return this.operatorCategory;
182            }

183            set
18428171256_n5SW.gif28171257_6shl.gif            {
185                this.operatorCategory = value;
186            }

187        }

188
18928171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
190        /// 操作员类型名称
191        /// </summary>

192        private String operatorCategoryFullName = String.Empty;
193        public String OperatorCategoryFullName
19428171256_n5SW.gif28171257_6shl.gif        {
195            get
19628171256_n5SW.gif28171257_6shl.gif            {
197                return this.operatorCategoryFullName;
198            }

199            set
20028171256_n5SW.gif28171257_6shl.gif            {
201                this.operatorCategoryFullName = value;
202            }

203        }

204
20528171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
206        /// IP地址
207        /// </summary>

208        private String iPAddress = String.Empty;
209        public String IPAddress
21028171256_n5SW.gif28171257_6shl.gif        {
211            get
21228171256_n5SW.gif28171257_6shl.gif            {
213                return this.iPAddress;
214            }

215            set
21628171256_n5SW.gif28171257_6shl.gif            {
217                this.iPAddress = value;
218            }

219        }

220        
22128171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
222        /// MAC地址
223        /// </summary>

224        private String macAddress = String.Empty;
225        public String MACAddress
22628171256_n5SW.gif28171257_6shl.gif        {
227            get
22828171256_n5SW.gif28171257_6shl.gif            {
229                return this.macAddress;
230            }

231            set
23228171256_n5SW.gif28171257_6shl.gif            {
233                this.macAddress = value;
234            }

235        }

236
23728171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
238        /// 当前语言选择
239        /// </summary>

240        private String currentLanguage = String.Empty;
241        public String CurrentLanguage
24228171256_n5SW.gif28171257_6shl.gif        {
243            get
24428171256_n5SW.gif28171257_6shl.gif            {
245                return this.currentLanguage;
246            }

247            set
24828171256_n5SW.gif28171257_6shl.gif            {
249                this.currentLanguage = value;
250            }

251        }

252
25328171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
254        /// 当前布局风格选择
255        /// </summary>

256        private String themes = String.Empty;
257        public String Themes
25828171256_n5SW.gif28171257_6shl.gif        {
259            get
26028171256_n5SW.gif28171257_6shl.gif            {
261                return this.themes;
262            }

263            set
26428171256_n5SW.gif28171257_6shl.gif            {
265                this.themes = value;
266            }

267        }

268        
26928171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
270        /// 描述
271        /// </summary>

272        private String description = String.Empty;
273        public String Description
27428171256_n5SW.gif28171257_6shl.gif        {
275            get
27628171256_n5SW.gif28171257_6shl.gif            {
277                return this.description;
278            }

279            set
28028171256_n5SW.gif28171257_6shl.gif            {
281                this.description = value;
282            }

283        }

284
28528171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
286        /// WebService 用户名
287        /// </summary>

288        private String webServiceUsername = "Jirisoft";
289        public String WebServiceUsername
29028171256_n5SW.gif28171257_6shl.gif        {
291            get
29228171256_n5SW.gif28171257_6shl.gif            {
293                return this.webServiceUsername;
294            }

295            set
29628171256_n5SW.gif28171257_6shl.gif            {
297                this.webServiceUsername = value;
298            }

299        }

300
30128171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
302        /// WebService 密码
303        /// </summary>

304        private String webServicePassword = "Jirisoft";
305        public String WebServicePassword
30628171256_n5SW.gif28171257_6shl.gif        {
307            get
30828171256_n5SW.gif28171257_6shl.gif            {
309                return this.webServicePassword;
310            }

311            set
31228171256_n5SW.gif28171257_6shl.gif            {
313                this.webServicePassword = value;
314            }

315        }

316
317        public BaseUserInfo()
31828171256_n5SW.gif28171257_6shl.gif        {
319            this.GetUserInfo();
320        }

321
32228171257_6shl.gif28171256_n5SW.gif        public void GetUserInfo()#region public void GetUserInfo()
32328171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
324        /// 获取信息
325        /// </summary>

326        public void GetUserInfo()
32728171256_n5SW.gif28171257_6shl.gif  {
328            this.WebServiceUsername         = BaseConfiguration.Instance.WebServiceUsername;
329            this.WebServicePassword         = BaseConfiguration.Instance.WebServicePassword;
330            this.ID                         = BaseSystemInfo.OperatorID;
331            this.Realname                   = BaseSystemInfo.OperatorFullName;
332            this.UserName                   = BaseSystemInfo.OperatorUserName;
333            this.OperatorCategory           = BaseSystemInfo.OperatorCategory;
334            this.OperatorCategoryFullName   = BaseSystemInfo.OperatorCategoryFullName; 
335            this.CompanyID                  = BaseSystemInfo.OperatorCompanyID;
336            this.CompanyCode                = BaseSystemInfo.OperatorCompanyCode;
337            this.CompanyFullName            = BaseSystemInfo.OperatorCompanyFullName;
338            this.DepartmentID               = BaseSystemInfo.OperatorDepartmentID;
339            this.DepartmentCode             = BaseSystemInfo.OperatorDepartmentCode;
340            this.DepartmentFullName         = BaseSystemInfo.OperatorDepartmentFullName;
341            this.CurrentLanguage            = BaseSystemInfo.CurrentLanguage;
342            this.Themes                     = BaseSystemInfo.Themes;
343            this.IPAddress                  = BaseSystemInfo.IPAddress;
344            this.MACAddress                 = BaseSystemInfo.MACAddress;
345        }

346  #endregion

347  
34828171256_n5SW.gif28171257_6shl.gif        /**//// <summary>
349        /// 当前操作员是否为系统管理员
350        /// </summary>

351  public bool IsAdministrator
35228171256_n5SW.gif28171257_6shl.gif        {
353            get
35428171256_n5SW.gif28171257_6shl.gif            {
355                if (this.ID.Equals(Jirisoft.Common.OperatorCategory.Administrator.ToString()))
35628171256_n5SW.gif28171257_6shl.gif                {
357                    return true;
358                }

359                if (this.OperatorCategory.Equals(Jirisoft.Common.OperatorCategory.Administrator.ToString()))
36028171256_n5SW.gif28171257_6shl.gif                {
361                    return true;
362                }

363                return false;
364            }

365        }

366 }

367}

368

转载于:https://my.oschina.net/iwenr/blog/227858

猜你喜欢

转载自blog.csdn.net/weixin_33798152/article/details/91674136