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 { /// /// 角色数据操作类 /// public static class RoleHandler { /// /// 将数据转换成实体类 /// 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; } /// /// 获取指定用户编码的所有角色列表 /// /// public static List GetListByUserID(int userid) { return GetList(" [id] in (select role_id from s_user_in_role where user_id="+userid.ToString()+")"); } /// /// 获得数据列表 /// public static List 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 m_lst = new List(); while (read.Read()) { Role item = DataReaderToEntites(read); if (item != null) { m_lst.Add(item); } } read.Close(); return m_lst; } /// /// 获取指定编号的用户信息 /// /// /// 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; } } /// /// 获取指定用户名的用户信息 /// /// /// 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; } } } }