Пример #1
0
		// 初始化全部对象节点的权限信息
		// 本函数应当在InitialUserRecordCache()后调用, 因为要用到用户记录信息
		int InitialObjRights(TreeNode parent,
			out string strError)
		{
			strError = "";
			Debug.Assert(parent != null, "");

			int i;
			int nRet;

			ObjRight objright = new ObjRight();

            string strDatabaseObject = TreeViewUtil.GetPath(parent, '/');

			for(i=0;i<this.m_aUserName.Count;i++)
			{
				string strUserName = (string)this.m_aUserName[i];

				Debug.Assert(strUserName != "", "用户名不能为空");

				string strRights = "";
				nRet = GetObjectRights(
					this.ServerUrl,
					strUserName,
					strDatabaseObject,
					out strRights,
					out strError);
				if (nRet == -1)
					return -1;

				RightLine line = new RightLine();
				line.UserName = strUserName;
				line.Rights = strRights;
				objright.RightLines.Add(line);
			}


			parent.Tag = objright;

			// 递归

			for(i=0;i<parent.Nodes.Count;i++)
			{
				TreeNode child = parent.Nodes[i];

				nRet = InitialObjRights(child,
					out strError);
				if (nRet == -1)
					return -1;

			}

			return 0;
		}
Пример #2
0
		// 对于当前右侧listview, 收集修改过的权限值
		int CollectChangedRights()
		{
			if (m_strCurDatabaseObject == "")
				return 0;

			TreeNode node = TreeViewUtil.GetTreeNode(this.treeView_objects,
				m_strCurDatabaseObject);
			if (node == null)
				return -1;

			ObjRight objright = (ObjRight)node.Tag;
			if (objright == null)
			{
				objright = new ObjRight();
				node.Tag = objright;
			}


			// 观察listview中是否有修改过的事项
			for(int i=0;i<this.listView_usersRights.Items.Count;i++)
			{
				string strUserName = this.listView_usersRights.Items[i].Text;
				string strRights = this.listView_usersRights.Items[i].SubItems[1].Text;

				// 找到旧rights
				string strOldRights = objright.GetRights(strUserName);

				if (strOldRights != strRights)
					objright.SetRights(strUserName, strRights);
			}

			return 0;
		}
Пример #3
0
 /// <summary>
 /// Initializes a new instance of the structure.
 /// </summary>
 public Right(ObjRight objRight)
 {
     View    = objRight.View;
     Control = objRight.Control;
 }
Пример #4
0
		// 把权限修改信息放入树对象所附的信息对象中
		void SetRights(string strDatabaseObject,
			string strUserName,
			string strRights)
		{

			TreeNode node = TreeViewUtil.GetTreeNode(this.treeView_objects,
				strDatabaseObject);
			if (node == null)
			{
				Debug.Assert(false, "");
				return;
			}

			ObjRight objright = (ObjRight)node.Tag;
			if (objright == null)
			{
				objright = new ObjRight();
				node.Tag = objright;
			}

			objright.SetRights(strUserName,
				strRights);
		}
Пример #5
0
 /// <summary>
 /// Initializes a new instance of the structure.
 /// </summary>
 public EntityRights(ObjRight objRight)
 {
     ViewRight    = objRight.View;
     ControlRight = objRight.Control;
 }