?? user.cs
字號:
using System;
using System.Data;
using System.Collections;
using MyOA.DataAccessLayer;
using MyOA.DataAccessHelper;
using MyOA.CommonComponent;
namespace MyOA.BusinessLogicLayer
{
/// <summary>
/// User 的摘要說明。
/// </summary>
public class User
{
#region 私有成員
private int _userId; //用戶Id
private string _loginName; //用戶登錄名
private string _userName; //用戶姓名
private string _password; //用戶密碼
private string _department; //用戶部門
private string _role; //用戶角色
private ArrayList _duties=new ArrayList(); //用戶所有的權限
private bool _exist; //是否存在標志
#endregion 私有成員
#region 屬性
public int UserId
{
set
{
this._userId=value;
}
get
{
return this._userId;
}
}
public string LoginName
{
set
{
this._loginName=value;
}
get
{
return this._loginName;
}
}
public string UserName
{
set
{
this._userName=value;
}
get
{
return this._userName;
}
}
public string Password
{
set
{
this._password=value;
}
get
{
return this._password;
}
}
public string Department
{
set
{
this._department=value;
}
get
{
return this._department;
}
}
public string Role
{
set
{
this._role=value;
}
get
{
return this._role;
}
}
public ArrayList Duties
{
set
{
this._duties=value;
}
get
{
return this._duties;
}
}
public bool Exist
{
get
{
return this._exist;
}
}
#endregion 屬性
#region 方法
/// <summary>
/// 根據參數loginName,獲取用戶詳細信息
/// </summary>
/// <param name="loginName">用戶登錄名</param>
public void LoadData(string loginName)
{
Database db=new Database(); //實例化一個Database類
string sql="";
sql="Select * from [User],[Department],[Role] where LoginName = "
+SqlStringConstructor.GetQuotedString(loginName)
+" And [User].DepartmentId=[Department].DepartmentId"
+" And [User].RoleId=[Role].RoleId";
DataRow dr=db.GetDataRow(sql); //利用Database類的GetDataRow方法查詢用戶數據
//根據查詢得到的數據,對成員賦值
if(dr!=null)
{
this._userId=GetSafeData.ValidateDataRow_N(dr,"UserID");
this._loginName=GetSafeData.ValidateDataRow_S(dr,"loginName");
this._userName=GetSafeData.ValidateDataRow_S(dr,"UserName");
this._password=GetSafeData.ValidateDataRow_S(dr,"PassWord");
this._department=GetSafeData.ValidateDataRow_S(dr,"DepartmentName");
this._role=GetSafeData.ValidateDataRow_S(dr,"RoleName");
//獲取權限集合
string colName="";
for(int i=0;i<dr.ItemArray.Length;i++)
{
colName=dr.Table.Columns[i].ColumnName;
if(colName.StartsWith("HasDuty_") && GetSafeData.ValidateDataRow_N(dr,colName)==1)
{
this._duties.Add(dr.Table.Columns[i].ColumnName.Substring(8)); //去掉前綴“HasDuty_”
}
}
//解密口令
this._password=Encrypt.DecryptString(_password,_loginName);
this._exist=true;
}
else
{
this._exist=false;
}
}
/// <summary>
/// 向數據庫添加一個用戶
/// </summary>
/// <param name="htUserInfo">用戶信息哈希表</param>
public static void Add(Hashtable userInfo)
{
Database db=new Database(); //實例化一個Database類
db.Insert("[User]",userInfo ); //利用Database類的Insert方法添加用戶數據
}
/// <summary>
/// 修改用戶數據
/// </summary>
/// <param name="htUserInfo">用戶信息哈希表</param>
public static void Update(Hashtable userInfo,string where)
{
Database db=new Database(); //實例化一個Database類
db.Update("[User]",userInfo,where); //利用Database類的Update方法修改用戶數據
}
/// <summary>
/// 刪除用戶數據
/// </summary>
/// <param name="loginName">用戶登錄名</param>
public static void Delete(string loginName)
{
Database db=new Database(); //實例化一個Database類
string sql="Delete from [User] Where [LoginName] = "
+SqlStringConstructor.GetQuotedString(loginName);
db.ExecuteSQL(sql);
}
/// <summary>
/// 判斷是否存在登錄名為loginName的用戶
/// </summary>
/// <param name="loginName">用戶登錄名</param>
/// <returns>如果存在,返回true;否則,返回false</returns>
public static bool HasUser(string loginName)
{
Database db=new Database();
string sql="";
sql="Select * from [User] where [LoginName] = "
+SqlStringConstructor.GetQuotedString(loginName);
DataRow row=db.GetDataRow(sql);
if(row!=null)
return true;
else
return false;
}
/// <summary>
/// 查詢用戶
/// </summary>
/// <param name="queryItems"></param>
/// <returns></returns>
public static DataTable QueryUsers(Hashtable queryItems)
{
string where=SqlStringConstructor.GetConditionClause(queryItems);
string sql="Select * From [User],[Department],[Role] "+where;
if(where=="")
sql+=" Where";
else
sql+=" And";
sql+=" [User].DepartmentId=[Department].DepartmentId"
+" And [User].RoleId=[Role].RoleId";
Database db = new Database();
return db.GetDataTable(sql);
}
#endregion 方法
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -