温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:多功能在线考试系统改进版源码
当前文件:
OnLineExamUpdate/App_Code/BusinessLogicLayer/Users.cs,打开代码结构图
OnLineExamUpdate/App_Code/BusinessLogicLayer/Users.cs,打开代码结构图1using System; 2
using System.Data; 3
using System.Collections; 4
using System.Data.SqlClient; 5
using OnLineExam.DataAccessLayer; 6
using OnLineExam.DataAccessHelper; 7
8
namespace OnLineExam.BusinessLogicLayer 9
...{ 10
//用户类 11
public class Users 12
...{ 13
私有成员#region 私有成员 14
private string _userID; //用户编号 15
private string _userPwd; //用户密码 16
private string _userName; //用户姓名 17
private int _department; //用户部门 18
private int _roleid; //用户角色 19
private string _rolename; 20
private ArrayList _duties = new ArrayList(); //用户所有的权限 21
22
#endregion 私有成员 23
24
属性#region 属性 25
26
public string UserID 27
...{ 28
set 29
...{ 30
this._userID = value; 31
} 32
get 33
...{ 34
return this._userID; 35
} 36
} 37
public string UserPwd 38
...{ 39
set 40
...{ 41
this._userPwd = value; 42
} 43
get 44
...{ 45
return this._userPwd; 46
} 47
} 48
49
public string UserName 50
...{ 51
set 52
...{ 53
this._userName = value; 54
} 55
get 56
...{ 57
return this._userName; 58
} 59
} 60
public int DepartmentId 61
...{ 62
set 63
...{ 64
this._department = value; 65
} 66
get 67
...{ 68
return this._department; 69
} 70
} 71
public int RoleId 72
...{ 73
set 74
...{ 75
this._roleid = value; 76
} 77
get 78
...{ 79
return this._roleid; 80
} 81
} 82
public string RoleName 83
...{ 84
set 85
...{ 86
this._rolename = value; 87
} 88
get 89
...{ 90
return this._rolename; 91
} 92
} 93
public ArrayList Duties 94
...{ 95
set 96
...{ 97
this._duties = value; 98
} 99
get 100
...{ 101
return this._duties; 102
} 103
} 104
#endregion 属性 105
106
方法#region 方法 107
108
//根据用户 UserID 初始化该用户 109
//输入: 110
// XUserID - 用户编号; 111
//输出: 112
// 用户存在:返回True; 113
// 用户不在:返回False; 114
public bool LoadData(string XUserID) 115
...{ 116
SqlParameter[] Params = new SqlParameter[1]; 117
DataBase DB = new DataBase(); 118
119
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, XUserID); //用户编号 120
121
DataSet ds = DB.GetDataSet("Proc_UsersDetail", Params); 122
ds.CaseSensitive = false; 123
DataRow DR; 124
if (ds.Tables[0].Rows.Count > 0) 125
...{ 126
DR= ds.Tables[0].Rows[0]; 127
this._userID = GetSafeData.ValidateDataRow_S(DR, "UserID"); //用户编号 128
this._userName = GetSafeData.ValidateDataRow_S(DR, "UserName"); //用户姓名 129
this._userPwd = GetSafeData.ValidateDataRow_S(DR, "UserPwd"); //用户密码 130
this._department = GetSafeData.ValidateDataRow_N(DR, "DepartmentId"); //所在部门 131
this._roleid = GetSafeData.ValidateDataRow_N(DR, "RoleId"); //用户权限 132
this._rolename = GetSafeData.ValidateDataRow_S(DR, "RoleName"); //用户权限 133
134
//获取权限集合 135
string colName = ""; 136
for (int i = 0; i < DR.ItemArray.Length; i++) 137
...{ 138
colName = DR.Table.Columns[i].ColumnName; 139
if (colName.StartsWith("HasDuty_") && GetSafeData.ValidateDataRow_N(DR, colName) == 1) 140
...{ 141
this._duties.Add(DR.Table.Columns[i].ColumnName.Substring(8)); //去掉前缀“HasDuty_” 142
} 143
} 144
return true; 145
} 146
else 147
...{ 148
return false; 149
} 150
} 151
152
//根据UserID判断该用户是否存在 153
//输入: 154
// XUserID - 用户编号; 155
//输出: 156
// 用户存在:返回True; 157
// 用户不在:返回False; 158
public bool CheckUser(string XUserID) 159
...{ 160
SqlParameter[] Params = new SqlParameter[1]; 161
DataBase DB = new DataBase(); 162
163
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, XUserID); //教工姓名 164
165
SqlDataReader DR = DB.RunProcGetReader("Proc_UsersDetail", Params); 166
if (!DR.Read()) 167
...{ 168
return false; 169
} 170
else 171
...{ 172
return true; 173
} 174
} 175
176
177
//根据UserID和UserPassword判断密码是否正确 178
//输入: 179
// XUserID - 用户编号; 180
//输出: 181
// 用户存在:返回True; 182
// 用户不在:返回False; 183
public bool CheckPassword(string XUserID) 184
...{ 185
SqlParameter[] Params = new SqlParameter[1]; 186
DataBase DB = new DataBase(); 187
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, XUserID); //编号 188
189
SqlDataReader DR = DB.RunProcGetReader("Proc_UsersDetail", Params); 190
if (!DR.Read()) 191
...{ 192
return false; 193
} 194
else 195
...{ 196
this._userPwd = DR["UserPwd"].ToString(); 197
return true; 198
} 199
} 200
//判断是否已经考试 201
public bool IsTest(string UserID, int PaperID) 202
...{ 203
SqlParameter[] Params = new SqlParameter[2]; 204
205
DataBase DB = new DataBase(); 206
207
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 20, UserID); 208
Params[1] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, PaperID); 209
210
SqlDataReader DR = DB.RunProcGetReader("Proc_IsTest", Params); 211
if (!DR.Read()) 212
...{ 213
return false; 214
} 215
else 216
...{ 217
return true; 218
} 219
} 220
221
//修改用户的密码 222
//输入: 223
// XUserID - 用户编号; 224
//输出: 225
// 修改成功:返回True; 226
// 修改失败:返回False; 227
public bool ModifyPassword(string XUserID) 228
...{ 229
SqlParameter[] Params = new SqlParameter[2]; 230
231
DataBase DB = new DataBase(); 232
233
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 20, XUserID); //用户编号 234
Params[1] = DB.MakeInParam("@UserPwd", SqlDbType.VarChar, 64, UserPwd); //用户密码 235
236
int Count = -1; 237
Count = DB.RunProc("Proc_UserPwdModify", Params); 238
if (Count > 0) 239
return true; 240
else return false; 241
} 242
243
//向Users表中添加用户信息(采用存储过程) 244
//输出: 245
// 插入成功:返回True; 246
// 插入失败:返回False; 247
public bool InsertByProc() 248
...{ 249
SqlParameter[] Params = new SqlParameter[5]; 250
251
DataBase DB = new DataBase(); 252
253
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, UserID); //用户编号 254
Params[1] = DB.MakeInParam("@UserName", SqlDbType.VarChar, 50, UserName); //用户姓名 255
Params[2] = DB.MakeInParam("@UserPwd", SqlDbType.VarChar,64, UserPwd); //用户密码 256
Params[3] = DB.MakeInParam("@RoleId", SqlDbType.Int, 4,RoleId); //角色 257
Params[4] = DB.MakeInParam("@DepartmentId", SqlDbType.Int, 4, DepartmentId); //部门 258
259
int Count = -1; 260
Count = DB.RunProc("Proc_UsersAdd", Params); 261
if (Count > 0) 262
return true; 263
else return false; 264
} 265
//更新用户的信息 266
public bool UpdateByProc(string XUserID) 267
...{ 268
SqlParameter[] Params = new SqlParameter[4]; 269
270
DataBase DB = new DataBase(); 271
272
Params[0] = DB.MakeInParam("@UserID", SqlDbType.VarChar, 50, XUserID); //用户编号 273
Params[1] = DB.MakeInParam("@UserName", SqlDbType.VarChar, 50, UserName); //用户姓名 274
Params[2] = DB.MakeInParam("@DepartmentId", SqlDbType.Int, 4, DepartmentId); //部门 275
Params[3] = DB.MakeInParam("@RoleId", SqlDbType.Int, 4, RoleId); //角色 276
277
278
int Count = -1; 279
Count = DB.RunProc("Proc_UsersModify", Params); 280
if (Count > 0) 281
return true; 282
else <




