permission.cs

来自「wrox c#高级编程」· CS 代码 · 共 73 行

CS
73
字号
using System;
using System.Data;
using System.Data.SqlClient;

namespace Wrox.WebModules.Accounts.Data
{
	/// <summary>
	/// Summary description for Permission.
	/// </summary>
	public class Permission: Wrox.WebModules.Data.DbObject
	{
		public Permission(string newConnectionString) : base(newConnectionString)
		{	}

		public DataRow Retrieve(int permissionId)
		{
			SqlParameter[] parameters = { new SqlParameter("@PermissionID", SqlDbType.Int, 4) };

			using (DataSet permissions = RunProcedure( "sp_Accounts_GetPermissionDetails", parameters, "Permissions" ))
			{
				if (permissions.Tables[0].Rows.Count == 0)
				{
					throw new AppException("No such permission found on file (" + permissionId + ")");
				}
				else
					return permissions.Tables[0].Rows[0];
			}			
		}

		public DataSet GetPermissionList()
		{
			SqlParameter[] parameters = { new SqlParameter("@RoleID", SqlDbType.VarChar, 4) };			
			using (DataSet permissions = RunProcedure("sp_Accounts_GetPermissionCategories", new IDataParameter[]{}, "Categories"))
			{
				RunProcedure("sp_Accounts_GetPermissionList", parameters, permissions, "Permissions");
				DataRelation permissionCategories = new DataRelation("PermissionCategories",
					permissions.Tables["Categories"].Columns["CategoryID"],
					permissions.Tables["Permissions"].Columns["CategoryID"], true);
				permissions.Relations.Add( permissionCategories );
				DataColumn[] categoryKeys = new DataColumn[1];
				categoryKeys[0] = permissions.Tables["Categories"].Columns["CategoryID"];
				DataColumn[] permissionKeys = new DataColumn[1];
				permissionKeys[0] = permissions.Tables["Permissions"].Columns["PermissionID"];
				permissions.Tables["Categories"].PrimaryKey = categoryKeys;
				permissions.Tables["Permissions"].PrimaryKey = permissionKeys;
				return permissions;
			}		
		}

		public DataSet GetPermissionList(int roleId)
		{
			SqlParameter[] parameters = { new SqlParameter("@RoleID", SqlDbType.VarChar, 4) };
			parameters[0].Value = roleId;
			using (DataSet permissions = RunProcedure("sp_Accounts_GetPermissionCategories", new IDataParameter[]{}, "Categories"))
			{
				RunProcedure("sp_Accounts_GetPermissionList", parameters, permissions, "Permissions");
				DataRelation permissionCategories = new DataRelation("PermissionCategories",
					permissions.Tables["Categories"].Columns["CategoryID"],
					permissions.Tables["Permissions"].Columns["CategoryID"], true);
				permissions.Relations.Add( permissionCategories );
				DataColumn[] categoryKeys = new DataColumn[1];
				categoryKeys[0] = permissions.Tables["Categories"].Columns["CategoryID"];
				DataColumn[] permissionKeys = new DataColumn[1];
				permissionKeys[0] = permissions.Tables["Permissions"].Columns["PermissionID"];
				permissions.Tables["Categories"].PrimaryKey = categoryKeys;
				permissions.Tables["Permissions"].PrimaryKey = permissionKeys;
				return permissions;
			}
		}

	}
}

⌨️ 快捷键说明

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