using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ZXDT.DBUtility;
using System.Data;
using System.Data.SqlClient;
using ZXDT.CallCenter.Model;
namespace ZXDT.CallCenter.DAL
{
///
/// 数据访问类:T_Sys_RoleInfo
///
public partial class T_Sys_RoleInfo
{
public T_Sys_RoleInfo()
{ }
#region BasicMethod
///
/// 是否存在该记录
///
public bool Exists(int F_RoleId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) from T_Sys_RoleInfo");
strSql.Append(" where F_RoleId=@F_RoleId");
SqlParameter[] parameters = {
new SqlParameter("@F_RoleId", SqlDbType.Int,4)
};
parameters[0].Value = F_RoleId;
return DbHelperSQL.Exists(strSql.ToString(), parameters);
}
///
/// 增加一条数据
///
public int Add(ZXDT.CallCenter.Model.T_Sys_RoleInfo model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("insert into T_Sys_RoleInfo(");
strSql.Append("F_RoleName,F_RoleCode,F_Remark)");
strSql.Append(" values (");
strSql.Append("@F_RoleName,@F_RoleCode,@F_Remark)");
strSql.Append(";select @@IDENTITY");
SqlParameter[] parameters = {
new SqlParameter("@F_RoleName", SqlDbType.NVarChar,50),
new SqlParameter("@F_RoleCode", SqlDbType.NVarChar,50),
new SqlParameter("@F_Remark", SqlDbType.NVarChar,200)};
parameters[0].Value = model.F_RoleName;
parameters[1].Value = model.F_RoleCode;
parameters[2].Value = model.F_Remark;
object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
///
/// 更新一条数据
///
public bool Update(ZXDT.CallCenter.Model.T_Sys_RoleInfo model)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("update T_Sys_RoleInfo set ");
strSql.Append("F_RoleName=@F_RoleName,");
strSql.Append("F_RoleCode=@F_RoleCode,");
strSql.Append("F_Remark=@F_Remark");
strSql.Append(" where F_RoleId=@F_RoleId");
SqlParameter[] parameters = {
new SqlParameter("@F_RoleName", SqlDbType.NVarChar,50),
new SqlParameter("@F_RoleCode", SqlDbType.NVarChar,50),
new SqlParameter("@F_Remark", SqlDbType.NVarChar,200),
new SqlParameter("@F_RoleId", SqlDbType.Int,4)};
parameters[0].Value = model.F_RoleName;
parameters[1].Value = model.F_RoleCode;
parameters[2].Value = model.F_Remark;
parameters[3].Value = model.F_RoleId;
int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
///
/// 删除一条数据
///
public bool Delete(int F_RoleId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from T_Sys_RoleInfo ");
strSql.Append(" where F_RoleId=@F_RoleId");
SqlParameter[] parameters = {
new SqlParameter("@F_RoleId", SqlDbType.Int,4)
};
parameters[0].Value = F_RoleId;
int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
///
/// 批量删除数据
///
public bool DeleteList(string F_RoleIdlist)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("delete from T_Sys_RoleInfo ");
strSql.Append(" where F_RoleId in (" + F_RoleIdlist + ") ");
int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
if (rows > 0)
{
return true;
}
else
{
return false;
}
}
///
/// 得到一个对象实体
///
public ZXDT.CallCenter.Model.T_Sys_RoleInfo GetModel(int F_RoleId)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select top 1 F_RoleId,F_RoleName,F_RoleCode,F_Remark from T_Sys_RoleInfo ");
strSql.Append(" where F_RoleId=@F_RoleId");
SqlParameter[] parameters = {
new SqlParameter("@F_RoleId", SqlDbType.Int,4)
};
parameters[0].Value = F_RoleId;
ZXDT.CallCenter.Model.T_Sys_RoleInfo model = new ZXDT.CallCenter.Model.T_Sys_RoleInfo();
DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
if (ds.Tables[0].Rows.Count > 0)
{
return DataRowToModel(ds.Tables[0].Rows[0]);
}
else
{
return null;
}
}
///
/// 得到一个对象实体
///
public ZXDT.CallCenter.Model.T_Sys_RoleInfo DataRowToModel(DataRow row)
{
ZXDT.CallCenter.Model.T_Sys_RoleInfo model = new ZXDT.CallCenter.Model.T_Sys_RoleInfo();
if (row != null)
{
if (row["F_RoleId"] != null && row["F_RoleId"].ToString() != "")
{
model.F_RoleId = int.Parse(row["F_RoleId"].ToString());
}
if (row["F_RoleName"] != null)
{
model.F_RoleName = row["F_RoleName"].ToString();
}
if (row["F_RoleCode"] != null)
{
model.F_RoleCode = row["F_RoleCode"].ToString();
}
if (row["F_Remark"] != null)
{
model.F_Remark = row["F_Remark"].ToString();
}
}
return model;
}
///
/// 获得数据列表
///
public DataSet GetList(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select F_RoleId,F_RoleName,F_RoleCode,F_Remark ");
strSql.Append(" FROM T_Sys_RoleInfo ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
return DbHelperSQL.Query(strSql.ToString());
}
///
/// 获得前几行数据
///
public DataSet GetList(int Top, string strWhere, string filedOrder)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select ");
if (Top > 0)
{
strSql.Append(" top " + Top.ToString());
}
strSql.Append(" F_RoleId,F_RoleName,F_RoleCode,F_Remark ");
strSql.Append(" FROM T_Sys_RoleInfo ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
strSql.Append(" order by " + filedOrder);
return DbHelperSQL.Query(strSql.ToString());
}
///
/// 获取记录总数
///
public int GetRecordCount(string strWhere)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("select count(1) FROM T_Sys_RoleInfo ");
if (strWhere.Trim() != "")
{
strSql.Append(" where " + strWhere);
}
object obj = DbHelperSQL.GetSingle(strSql.ToString());
if (obj == null)
{
return 0;
}
else
{
return Convert.ToInt32(obj);
}
}
///
/// 分页获取数据列表
///
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
if (!string.IsNullOrEmpty(orderby.Trim()))
{
strSql.Append("order by T." + orderby);
}
else
{
strSql.Append("order by T.F_RoleId desc");
}
strSql.Append(")AS Row, T.* from T_Sys_RoleInfo T ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.Append(" WHERE " + strWhere);
}
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
return DbHelperSQL.Query(strSql.ToString());
}
#endregion BasicMethod
#region 角色授权
///
/// 获取菜单树
///
public TreeNodeStrModel GetMenuTree(int roleId)
{
List menuList = GetRoleMenu(roleId);
TreeNodeStrModel returnModel = new TreeNodeStrModel();
StringBuilder strSql = new StringBuilder();
strSql.Append("select * ");
strSql.Append(" FROM T_Sys_ModuleFunctions ");
strSql.Append(" where F_StateFlag=1 ");
DataSet ds = DbHelperSQL.Query(strSql.ToString());
if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
TreeNodeStrModel model = new TreeNodeStrModel();
List modelList = new List();
model.name = "菜单列表";
model.code = "0";
model.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_close.png";
model.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_open.png";
model.open = "true";
model.Checked = true;
model.children = modelList;
returnModel = GetTreeModel(ds.Tables[0], model, menuList);
}
return returnModel;
}
///
/// 获取chlid
///
/// 数据结合
/// 当前model
///
public TreeNodeStrModel GetTreeModel(DataTable table, TreeNodeStrModel model, List menuList)
{
DataRow[] rows = table.Select("F_ParentId='" + model.code + "'");
if (rows != null && rows.Length > 0)
{
foreach (DataRow row in rows)
{
List modelList = new List();
TreeNodeStrModel childModel = new TreeNodeStrModel();
childModel.name = row["F_Name"].ToString();
childModel.code = row["F_FunctionId"].ToString();
childModel.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_close.png";
childModel.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_open.png";
childModel.open = "true";
if (menuList != null && menuList.Find(t => t.F_FunctionId.ToString() == row["F_FunctionId"].ToString()) != null)
{
childModel.Checked = true;
}
else
{
childModel.Checked = false;
}
childModel.children = modelList;
model.children.Add(childModel);
GetTreeModel(table, childModel, menuList);
}
}
return model;
}
public List GetRoleMenu(int roleId)
{
List modelList = new List();
StringBuilder strSql = new StringBuilder();
strSql.Append(" SELECT c.*");
strSql.Append(" FROM dbo.T_Sys_RoleFunction AS a LEFT OUTER JOIN");
strSql.Append(" T_Sys_RoleInfo AS b ON a.F_RoleId = b.F_RoleId LEFT OUTER JOIN");
strSql.Append(" T_Sys_ModuleFunctions AS c ON a.F_FunctionId = c.F_FunctionId");
strSql.Append(" WHERE (c.F_StateFlag = 1)");
if (roleId > 0)
{
strSql.Append(" and a.F_RoleId=" + roleId);
}
strSql.Append(" order by c.F_Sort asc ");
DataSet ds = DbHelperSQL.Query(strSql.ToString());
if (ds != null && ds.Tables.Count > 0)
{
foreach (DataRow dr in ds.Tables[0].Rows)
{
Model.T_Sys_ModuleFunctions model = new Model.T_Sys_ModuleFunctions();
DbHelperSQL.SetModelValue(model, dr);
modelList.Add(model);
}
}
return modelList;
}
///
/// 授权
///
/// 角色id
/// 菜单id
///
public bool AddRolesMenuList(int roleId, string MenuIdStr)
{
//事务处理
NoSortHashtable table = new NoSortHashtable();
StringBuilder strSql = new StringBuilder();
strSql.AppendFormat(@"------------{0} {1}", System.Guid.NewGuid().ToString(), Environment.NewLine);
strSql.Append("delete from T_Sys_RoleFunction ");
strSql.Append(" where F_RoleId=@F_RoleId");
SqlParameter[] parameters = {
new SqlParameter("@F_RoleId", SqlDbType.Int,4)
};
parameters[0].Value = roleId;
table.Add(strSql.ToString(), parameters);
if (!string.IsNullOrEmpty(MenuIdStr))
{
string[] arrList = MenuIdStr.Split(',');
if (arrList.Length > 0)
{
foreach (string str in arrList)
{
strSql = new StringBuilder();
strSql.AppendFormat(@"------------{0} {1}", System.Guid.NewGuid().ToString(), Environment.NewLine);
strSql.Append("insert into T_Sys_RoleFunction(");
strSql.Append("F_RoleId,F_FunctionId)");
strSql.Append(" values (");
strSql.Append("@F_RoleId,@F_FunctionId)");
SqlParameter[] parametersNew = {
new SqlParameter("@F_RoleId", SqlDbType.Int,4),
new SqlParameter("@F_FunctionId", SqlDbType.Int,4)};
parametersNew[0].Value = roleId;
parametersNew[1].Value = str;
table.Add(strSql.ToString(), parametersNew);
}
}
}
return DbHelperSQL.ExecuteSqlTran(table);
}
#endregion
}
}