144 lines
4.1 KiB
C#
144 lines
4.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using NOVA.DevFx.Security.Model;
|
|
using System.Data;
|
|
using NOVA.DevFx.Data.Utils;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace NOVA.DevFx.Security.DataHandler
|
|
{
|
|
/// <summary>
|
|
/// 角色数据操作类
|
|
/// </summary>
|
|
public static class RoleHandler
|
|
{
|
|
|
|
/// <summary>
|
|
/// 将数据转换成实体类
|
|
/// </summary>
|
|
public static Role DataReaderToEntites(IDataReader dr)
|
|
{
|
|
Role model = new Role();
|
|
if (dr["id"].ToString() != "")
|
|
{
|
|
model.id = int.Parse(dr["id"].ToString());
|
|
}
|
|
model.name = dr["name"].ToString();
|
|
model.description = dr["description"].ToString();
|
|
if (dr["sort_index"].ToString() != "")
|
|
{
|
|
model.sort_index = int.Parse(dr["sort_index"].ToString());
|
|
}
|
|
return model;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取指定用户编码的所有角色列表
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static List<Role> GetListByUserID(int userid)
|
|
{
|
|
return GetList(" [id] in (select role_id from s_user_in_role where user_id="+userid.ToString()+")");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获得数据列表
|
|
/// </summary>
|
|
public static List<Role> GetList(string strWhere)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("select id,name,description,sort_index ");
|
|
strSql.Append(" FROM s_role ");
|
|
if (strWhere.Trim() != "")
|
|
{
|
|
strSql.Append(" where " + strWhere);
|
|
}
|
|
SqlDataReader read = SqlHelper.ExecuteReader(strSql.ToString());
|
|
|
|
List<Role> m_lst = new List<Role>();
|
|
while (read.Read())
|
|
{
|
|
Role item = DataReaderToEntites(read);
|
|
if (item != null)
|
|
{
|
|
m_lst.Add(item);
|
|
}
|
|
}
|
|
read.Close();
|
|
return m_lst;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 获取指定编号的用户信息
|
|
/// </summary>
|
|
/// <param name="uid"></param>
|
|
/// <returns></returns>
|
|
public static Role GetItem(int rid)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("select id,name,description,sort_index ");
|
|
strSql.Append(" FROM s_role ");
|
|
strSql.Append(" WHERE [id]=@id ");
|
|
SqlParameter[] parameters = {
|
|
new SqlParameter("@id", SqlDbType.Int,4)};
|
|
int n = 0;
|
|
parameters[n++].Value = rid;
|
|
|
|
SqlDataReader read = SqlHelper.ExecuteReader(strSql.ToString(), parameters);
|
|
Role item = null;
|
|
|
|
if (read.Read())
|
|
{
|
|
item = DataReaderToEntites(read);
|
|
}
|
|
if (item != null)
|
|
{
|
|
read.Close();
|
|
return item;
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取指定用户名的用户信息
|
|
/// </summary>
|
|
/// <param name="uid"></param>
|
|
/// <returns></returns>
|
|
public static Role GetItemByName(int uname)
|
|
{
|
|
StringBuilder strSql = new StringBuilder();
|
|
strSql.Append("select id,name,description,sort_index ");
|
|
strSql.Append(" FROM s_role ");
|
|
strSql.Append(" WHERE [name]=@name ");
|
|
SqlParameter[] parameters = {
|
|
new SqlParameter("@name", SqlDbType.VarChar,50)};
|
|
int n = 0;
|
|
parameters[n++].Value = uname;
|
|
|
|
SqlDataReader read = SqlHelper.ExecuteReader(strSql.ToString(), parameters);
|
|
Role item = null;
|
|
if (read.Read())
|
|
{
|
|
item = DataReaderToEntites(read);
|
|
}
|
|
if (item != null)
|
|
{
|
|
read.Close();
|
|
return item;
|
|
}
|
|
else
|
|
{
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|