using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using MySql.Data.MySqlClient; namespace FangYar.OracleDAL.TBL { public class SysUSerRulesDAL : FangYar.IDAL.TBL.SysUSerRulesIDAL { #region 私有方法 /// /// DataRow转model实体类对象 /// /// /// private void DataRowToModel(Model.TBL.TBL_SYS_USERSRULES_Model model, DataRow dr) { if (!DBNull.Value.Equals(dr["ID"])) model.ID = dr["ID"].ToString(); if (!DBNull.Value.Equals(dr["USERS_UID"])) model.USERS_UID = dr["USERS_UID"].ToString(); if (!DBNull.Value.Equals(dr["APP_ID"])) model.APP_ID = dr["APP_ID"].ToString(); if (!DBNull.Value.Equals(dr["RULES_TYPE"])) model.RULES_TYPE = dr["RULES_TYPE"].ToString(); if (!DBNull.Value.Equals(dr["RULES_ID"])) model.RULES_ID = dr["RULES_ID"].ToString(); } /// /// DataRow转model实体类对象 /// /// /// private Model.TBL.TBL_SYS_USERSRULES_Model DataRowToModel(DataRow dr) { Model.TBL.TBL_SYS_USERSRULES_Model model = new Model.TBL.TBL_SYS_USERSRULES_Model(); if (!DBNull.Value.Equals(dr["ID"])) model.ID = dr["ID"].ToString(); if (!DBNull.Value.Equals(dr["USERS_UID"])) model.USERS_UID = dr["USERS_UID"].ToString(); if (!DBNull.Value.Equals(dr["APP_ID"])) model.APP_ID = dr["APP_ID"].ToString(); if (!DBNull.Value.Equals(dr["RULES_TYPE"])) model.RULES_TYPE = dr["RULES_TYPE"].ToString(); if (!DBNull.Value.Equals(dr["RULES_ID"])) model.RULES_ID = dr["RULES_ID"].ToString(); return model; } /// /// 把DataTable行转成实体类List集合 /// private List DataTableToList(DataTable dt) { List modellist = new List(); if (dt.Rows.Count > 0) { foreach (DataRow myRow in dt.Rows) { modellist.Add(DataRowToModel(myRow)); } } return modellist; } #endregion #region 基本方法 /// /// 根据UID获取model /// public FangYar.Model.TBL.TBL_SYS_USERSRULES_Model GetModelByID(string ID) { Model.TBL.TBL_SYS_USERSRULES_Model model = null; string sql = "select * from TBL_SYS_USERSRULES where ID=@ID"; MySqlParameter[] paras ={ new MySqlParameter("@ID",MySqlDbType.VarChar,36) }; paras[0].Value = ID; DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql, paras); if (dt.Rows.Count > 0) { model = new Model.TBL.TBL_SYS_USERSRULES_Model(); DataRowToModel(model, dt.Rows[0]); return model; } else { return null; } } /// /// 添加 /// public bool Add(FangYar.Model.TBL.TBL_SYS_USERSRULES_Model model) { StringBuilder strsql = new StringBuilder(); strsql.Append("insert into TBL_SYS_USERSRULES (USERS_UID,APP_ID,RULES_TYPE,RULES_ID,ID)"); strsql.Append("values"); strsql.Append("(@USERS_UID,@APP_ID,@RULES_TYPE,@RULES_ID,@ID)"); MySqlParameter[] paras ={ new MySqlParameter("@USERS_UID",model.USERS_UID), new MySqlParameter("@APP_ID",model.APP_ID), new MySqlParameter("@RULES_TYPE",model.RULES_TYPE), new MySqlParameter("@RULES_ID",model.RULES_ID), new MySqlParameter("@ID",Guid.NewGuid().ToString("N")), }; int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras); if (i > 0) { return true; } else { return false; } } /// /// 删除 /// public bool Delete(string IDList) { string sql = "delete from TBL_SYS_USERSRULES where ID in('" + IDList + "')"; try { FangYar.Common.MySqlHelper.ExecuteSql(sql); return true; } catch { return false; } } /// /// 删除 /// public bool Delete(string userORroleID,string ruleType) { string sql = ""; if (ruleType == "1") { sql = "delete from TBL_SYS_USERSRULES where USERS_UID ='" + userORroleID + "' and RULES_TYPE =" + ruleType; } else if (ruleType == "2") { sql = "delete from TBL_SYS_USERSRULES where USERS_UID ='" + userORroleID + "' and RULES_TYPE =" + ruleType; } try { FangYar.Common.MySqlHelper.ExecuteSql(sql); return true; } catch { return false; } } /// /// 根据角色ID删除 /// public bool DeleteByRulesId(string userORroleID, string ruleType) { string sql = "delete from TBL_SYS_USERSRULES where RULES_ID ='" + userORroleID + "' and RULES_TYPE =" + ruleType; try { FangYar.Common.MySqlHelper.ExecuteSql(sql); return true; } catch { return false; } } /// /// 编辑 /// public bool Edit(FangYar.Model.TBL.TBL_SYS_USERSRULES_Model model) { StringBuilder strsql = new StringBuilder(); strsql.Append("update TBL_SYS_USERSRULES set "); strsql.Append("USERS_UID=@USERS_UID,"); strsql.Append("APP_ID=@APP_ID,"); strsql.Append("RULES_TYPE=@RULES_TYPE,"); strsql.Append("RULES_ID=@RULES_ID "); strsql.Append(" where ID=@ID"); MySqlParameter[] paras ={ new MySqlParameter("@USERS_UID",model.USERS_UID), new MySqlParameter("@APP_ID",model.APP_ID), new MySqlParameter("@RULES_TYPE",model.RULES_TYPE), new MySqlParameter("@RULES_ID",model.RULES_ID), new MySqlParameter("@ID",model.ID) }; int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras); if (i > 0) { return true; } else { return false; } } /// /// 获取记录数 /// public int Count(string strwhere) { string sql = "select count(1) from TBL_SYS_USERSRULES "; if (strwhere != null && strwhere != "") { sql += " where " + strwhere; } try { return FangYar.Common.MySqlHelper.GetCount(sql); } catch { return 0; } } //当前用户下的角色或者权限 public DataTable getUserRules(string UsersUid, string appid, string rulesTypes) { StringBuilder strsql = new StringBuilder(); if (rulesTypes == "1") { strsql.Append("select * from TBL_SYS_PERM t "); } else if (rulesTypes == "2") { strsql.Append("select * from TBL_SYS_ROLE t "); } strsql.Append("left join"); strsql.AppendFormat("(select RULES_TYPE,RULES_ID from TBL_SYS_USERSRULES where app_ID='{0}' and USERS_UID ='{1}' )", appid, UsersUid); strsql.Append(" b on t.id=b.RULES_ID "); DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strsql.ToString()); if (dt.Rows.Count > 0) { return dt; } else { return null; } } //当前用户下的角色或者权限 , 根据机构判断 public DataTable getUserRules(string UsersUid, string appid, string rulesTypes, string org_id) { StringBuilder strsql = new StringBuilder(); if (rulesTypes == "1") { strsql.Append("select * from TBL_SYS_PERM t "); } else if (rulesTypes == "2") { strsql.Append("select * from TBL_SYS_ROLE t "); } strsql.Append("left join"); strsql.AppendFormat("(select RULES_TYPE,RULES_ID from TBL_SYS_USERSRULES where app_ID='{0}' and USERS_UID ='{1}' )", appid, UsersUid); strsql.Append(" b on t.id=b.RULES_ID where org_id ='"+ org_id + "'"); DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strsql.ToString()); if (dt.Rows.Count > 0) { return dt; } else { return null; } } //当前角色下绑定的用户 public DataTable ChooseUSer(string AppId, string RuleID) { StringBuilder strsql = new StringBuilder(); strsql.Append("select t.users_uid,t.users_name,b.USERS_UID as rules_user from TBL_SYS_USERS t "); strsql.Append("left join"); strsql.AppendFormat("(select USERS_UID from TBL_SYS_USERSRULES where APP_ID='{0}' and RULES_ID ='{1}' )", AppId, RuleID); strsql.Append(" b on t.USERS_UID=b.USERS_UID "); DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strsql.ToString()); if (dt.Rows.Count > 0) { return dt; } else { return null; } } #endregion #region 分页 /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public string QueryJsonList(int PageIndex, int PageSize, string strwhere) { return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public string QueryJsonList(int PageIndex, int PageSize, string strwhere, string order) { return FangYar.Common.JsonHelper.ToJson(QueryPage(PageIndex, PageSize, strwhere, order)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public List QueryList(int PageIndex, int PageSize, string strwhere) { return DataTableToList(QueryPage(PageIndex, PageSize, strwhere)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public List QueryList(int PageIndex, int PageSize, string strwhere, string order) { return DataTableToList(QueryPage(PageIndex, PageSize, strwhere, order)); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// public DataTable QueryPage(int PageIndex, int PageSize, string strwhere) { return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_USERSRULES", strwhere); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// 排序 /// public DataTable QueryPage(int PageIndex, int PageSize, string strwhere, string order) { return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_USERSRULES", strwhere, order); } /// /// 存储过程分页 /// /// 页面索引 /// 页面大小 /// 查询条件 /// 排序 /// public void QueryProc(int PageIndex, int PageSize, string strwhere, string order) { int totalcount = 0; FangYar.Common.SqlPagerHelperOra.Select(PageSize, PageIndex, out totalcount, "TBL_SYS_USERSRULES", "*", null, null, null); } #endregion /// /// 根据账号删除用户角色表 /// /// /// public bool DeleteByUid(string USERS_UID) { string sql = "delete from TBL_SYS_USERSRULES where USERS_UID = '" + USERS_UID + "'"; try { FangYar.Common.MySqlHelper.ExecuteSql(sql); return true; } catch { return false; } } } }