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

📄 group.cs

📁 客户订单管理系统 使用环境:&#61656 读者须安装好IIS和Microsoft Visual Stutio.NET相关开发环境
💻 CS
字号:
using System;
using System.Data ;
using System.Xml ;
using COAdmin.COMMON;
using COAdmin.DAL ;


namespace COAdmin.BLL
{
	/// <summary>
	/// Group 的摘要说明。
	/// </summary>
	public class Group
	{
		public Group()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}

		private string _groupID;
		private string _groupName;	
		private XmlAccess xa = new XmlAccess() ; 
		private string _usrXmlDocPath = COAdminGlobals.ConfigFilePath + "SysUser.xml" ;
		private string[] attName = {"id","dsc"} ;
		
		public string GroupID
		{
			get{ return _groupID ; }
			set{ _groupID = value ;}
		}

		public string GroupName
		{
			get{ return _groupName ; }
			set{ _groupName = value ; }
		}

		/// <summary>
		/// 添加组信息
		/// </summary>
		/// <returns></returns>
		public int AddGroup()
		{
			int ret = -1 ;

			//读取XML文
			xa.Load(this._usrXmlDocPath) ;
			//先检查是否存在
			if(xa.FindNode(".//Group[@id='" + this._groupID + "']"))
			{
				//存在相同的组,返回1
				ret = 1 ;
				return ret ;
			}
			
			string[] attVal = {_groupID,_groupName} ;

			//执行添加
			string path=".//Root" ; 
			ret = xa.AddNode(path,"Group",attName,attVal) ;

			//保存
			xa.SaveXml(this._usrXmlDocPath) ;

			return ret ;			
		}

		/// <summary>
		/// 修改组信息
		/// </summary>
		/// <returns></returns>
		public int ModifyGroup()
		{
			int ret = -1 ;

			//读取XML文
			xa.Load(this._usrXmlDocPath) ;

			//路径
			string path = ".//Group[@id='" + this._groupID + "']" ;

			string[] attVal = {_groupID,_groupName} ;

			//修改用户信息
			ret = xa.ModifyAttribute(path,attName,attVal) ;

			//保存
			xa.SaveXml(this._usrXmlDocPath) ;

			return ret ;
		}

		/// <summary>
		/// 删除组信息
		/// </summary>
		/// <param name="grpID">组ID</param>
		/// <returns></returns>
		public int DeleteGroup(string grpID)
		{
			int ret = -1 ;

			//读取XML文
			xa.Load(this._usrXmlDocPath) ;

			//路径
			string path = ".//Group[@id='" + grpID + "']" ;

			//执行删除操作
			ret = xa.DeleteNode(path) ;

			//保存删除后的XML文
			xa.SaveXml(this._usrXmlDocPath) ;

			return ret ;
		}

		/// <summary>
		/// 查询所有组信息
		/// </summary>
		/// <returns></returns>
		public DataTable GetGroup()
		{
			DataTable ret = null ;

			//读取XML文
			xa.Load(this._usrXmlDocPath) ;

			//节点路径
			string path = ".//Group"  ;

			//获取节点的所有子节点
			XmlNodeList list = xa.GetNodes(path) ;
			ret = NodeListToTable(list) ;			

			return ret ;
		}

		/// <summary>
		/// 角色节点集合转化为DataTable
		/// </summary>
		/// <param name="list">节点集合</param>		
		/// <returns>用户DataTable</returns>
		private DataTable NodeListToTable(XmlNodeList list)
		{
			DataTable dt = CreateDataTable() ;

			if(list==null)
			{
				return dt ;
			}

			for(int i=0;i<list.Count;i++)
			{
				XmlNode nd = list[i] ;
				//新建行
				DataRow dr = dt.NewRow() ;
				dr["valueID"] = nd.Attributes["id"].Value ;
				dr["valueText"] = nd.Attributes["dsc"].Value ;				
				dt.Rows.Add(dr) ;
			}

			return dt ;
		}

		/// <summary>
		/// 创建角色表
		/// </summary>
		/// <returns>DataTable</returns>
		private DataTable CreateDataTable()
		{
			DataTable dt = new DataTable() ;
			dt.Columns.Add("valueID") ;
			dt.Columns.Add("valueText") ;

			return dt ;
		}

		/// <summary>
		/// 获取组的角色列表
		/// </summary>
		/// <param name="grpID">组ID</param>
		/// <returns></returns>
		public string GetGroupRoles(string grpID)
		{
			string roles = "" ;
			string path = ".//Group[@id='" + grpID + "']" ;

			//读取XML文
			xa.Load(this._usrXmlDocPath) ;

			//取用户权限列表
			path = ".//Group[@id='" + grpID + "']/role" ;			
			XmlNodeList list = xa.GetNodes(path) ;
			if(list == null)
			{
				return roles ;
			}
				
			//将权限列表整编为逗号分隔的字符串
			for(int i=0;i<list.Count;i++)
			{
				if(roles != "")
				{
					roles += "," ;
				}
				roles += list[i].Attributes["id"].Value ;
			}

			return roles ;
		}

		/// <summary>
		/// 保存组角色信息
		/// </summary>
		/// <param name="grpID">组ID</param>
		/// <param name="roles">角色字符串</param>
		public void AddRoles(string grpID,string roles)
		{			
			string[] spRole = roles.Split(new char[] {','}) ;
			string path=".//Group[@id='" + grpID + "']" ;

			//读取XML文
			xa.Load(this._usrXmlDocPath) ;
			//先清除用户的角色
			XmlNode node = xa.GetSingleNode(path) ;
			XmlNodeList list = xa.GetNodes(path+"/role") ;
			foreach(XmlNode nd in list)
			{
				node.RemoveChild(nd) ;
			}

			//逐个添加角色
			foreach(string role in spRole)
			{
			
				string[] attName = {"id"} ;	
				string[] attVal = {role} ;
			
				//执行添加				
				xa.AddNode(path,"role",attName,attVal) ;
			}

			//保存
			xa.SaveXml(this._usrXmlDocPath) ;	
		}

		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -