⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user.cs

📁 办公自动化系统
💻 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 + -