role.cs

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

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

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

		public int Create(string description)
		{
			int rowsAffected;
			SqlParameter[] parameters = 
				{
					new SqlParameter("@Description", SqlDbType.VarChar, 50)
				};
			parameters[0].Value = description;

			return RunProcedure("sp_Accounts_CreateRole", parameters, out rowsAffected);
		}

		public bool Delete(int roleId)
		{
			int rowsAffected;
			SqlParameter[] parameters =
				{
					new SqlParameter("@RoleID", SqlDbType.Int, 4)
				};
			parameters[0].Value = roleId;
			RunProcedure("sp_Accounts_DeleteRole", parameters, out rowsAffected);
			return (rowsAffected == 1);
		}

		public bool Update(int roleId, string description)
		{
			int rowsAffected;
			SqlParameter[] parameters =
				{
					new SqlParameter("@RoleID", SqlDbType.Int, 4),
					new SqlParameter("@Description", SqlDbType.VarChar, 50)
				};
			parameters[0].Value = roleId;
			parameters[1].Value = description;
			RunProcedure("sp_Accounts_UpdateRole", parameters, out rowsAffected);
			return (rowsAffected == 1);
		}

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

			parameters[0].Value = roleId;
			using (DataSet roles = RunProcedure( "sp_Accounts_GetRoleDetails", parameters, "Roles" ))
			{
				return roles.Tables[0].Rows[0];
			}
		}

		public DataSet GetRoleList()
		{
			using (DataSet roles = RunProcedure( "sp_Accounts_GetAllRoles", new IDataParameter[]{}, "Roles" ))
			{
				return roles;
			}
		}

		public void AddPermission(int roleId, int permissionId)
		{
			int rowsAffected;
			SqlParameter[] parameters =
				{
					new SqlParameter("@RoleID", SqlDbType.Int, 4),
					new SqlParameter("@PermissionID", SqlDbType.Int, 4)
				};
			parameters[0].Value = roleId;
			parameters[1].Value = permissionId;
			RunProcedure("sp_Accounts_AddPermissionToRole", parameters, out rowsAffected);
		}

		public void RemovePermission(int roleId, int permissionId)
		{
			int rowsAffected;
			SqlParameter[] parameters =
				{
					new SqlParameter("@RoleID", SqlDbType.Int, 4),
					new SqlParameter("@PermissionID", SqlDbType.Int, 4)
				};
			parameters[0].Value = roleId;
			parameters[1].Value = permissionId;
			RunProcedure("sp_Accounts_RemovePermissionFromRole", parameters, out rowsAffected);
		}

		public void ClearPermissions(int roleId)
		{
			int rowsAffected;
			SqlParameter[] parameters =
				{
					new SqlParameter("@RoleID", SqlDbType.Int, 4),					
				};
			parameters[0].Value = roleId;
			RunProcedure("sp_Accounts_ClearPermissionsFromRole", parameters, out rowsAffected);
		}

	}
}

⌨️ 快捷键说明

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