using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using MySql.Data.MySqlClient; namespace FangYar.OracleDAL.TBL { class SysRolepermDAL : FangYar.IDAL.TBL.SysRolepermIDAL { #region 私有方法 /// /// DataRow转model实体类对象 /// private void DataRowToModel(Model.TBL.TBL_SYS_ROLEPERM_Model model, DataRow dr) { if (!DBNull.Value.Equals(dr["ID"])) model.ID = dr["ID"].ToString(); if (!DBNull.Value.Equals(dr["APP_ID"])) model.APP_ID = dr["APP_ID"].ToString(); if (!DBNull.Value.Equals(dr["ROLE_ID"])) model.ROLE_ID = dr["ROLE_ID"].ToString(); if (!DBNull.Value.Equals(dr["PERM_ID"])) model.PERM_ID = dr["PERM_ID"].ToString(); } /// /// DataRow转model实体类对象 /// private Model.TBL.TBL_SYS_ROLEPERM_Model DataRowToModel(DataRow dr) { Model.TBL.TBL_SYS_ROLEPERM_Model model = new Model.TBL.TBL_SYS_ROLEPERM_Model(); if (!DBNull.Value.Equals(dr["ID"])) model.ID = dr["ID"].ToString(); if (!DBNull.Value.Equals(dr["APP_ID"])) model.APP_ID = dr["APP_ID"].ToString(); if (!DBNull.Value.Equals(dr["ROLE_ID"])) model.ROLE_ID = dr["ROLE_ID"].ToString(); if (!DBNull.Value.Equals(dr["PERM_ID"])) model.PERM_ID = dr["PERM_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 基本方法 /// /// 根据ID获取实体对象 /// public Model.TBL.TBL_SYS_ROLEPERM_Model GetModelByID(string Id) { Model.TBL.TBL_SYS_ROLEPERM_Model model = null; string sql = "select * from TBL_SYS_ROLEPERM 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_ROLEPERM_Model(); DataRowToModel(model, dt.Rows[0]); return model; } else { return null; } } /// /// 根据APP_ID获取实体类对象 /// public Model.TBL.TBL_SYS_ROLEPERM_Model GetModelByRoleId(string RoleId) { Model.TBL.TBL_SYS_ROLEPERM_Model model = null; string sql = "select * from TBL_SYS_ROLEPERM where ROLE_ID=@ROLE_ID"; MySqlParameter[] paras ={ new MySqlParameter("@APP_ID",MySqlDbType.VarChar,36) }; paras[0].Value = RoleId; DataTable dt = FangYar.Common.MySqlHelper.QueryTable(sql, paras); if (dt.Rows.Count > 0) { model = new Model.TBL.TBL_SYS_ROLEPERM_Model(); DataRowToModel(model, dt.Rows[0]); return model; } else { return null; } } /// /// 添加 /// public bool Add(Model.TBL.TBL_SYS_ROLEPERM_Model model) { StringBuilder strsql = new StringBuilder(); strsql.Append("insert into TBL_SYS_ROLEPERM (ID,APP_ID,ROLE_ID,PERM_ID)"); strsql.Append("values"); strsql.Append("(@ID,@APP_ID,@ROLE_ID,@PERM_ID)"); MySqlParameter[] paras ={ new MySqlParameter("@ID",Guid.NewGuid().ToString("N")), new MySqlParameter("@APP_ID",model.APP_ID), new MySqlParameter("@ROLE_ID",model.ROLE_ID), new MySqlParameter("@PERM_ID",model.PERM_ID), }; int i = FangYar.Common.MySqlHelper.ExecuteSql(strsql.ToString(), paras); if (i > 0) { return true; } else { return false; } } /// ///修改 /// public bool Edit(Model.TBL.TBL_SYS_ROLEPERM_Model model) { StringBuilder strsql = new StringBuilder(); strsql.Append("update TBL_SYS_ROLEPERM set "); strsql.Append("APP_ID=@APP_ID,"); strsql.Append("ROLE_ID=@ROLE_ID,"); strsql.Append("PERM_ID=@PERM_ID "); strsql.Append(" where ID=@ID"); MySqlParameter[] paras ={ new MySqlParameter("@APP_ID",model.APP_ID), new MySqlParameter("@ROLE_ID",model.ROLE_ID), new MySqlParameter("@PERM_ID",model.PERM_ID), new MySqlParameter("@ID",model.ID) }; 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_ROLEPERM where ROLE_ID in('" + IDList + "')"; try { int i = FangYar.Common.MySqlHelper.ExecuteSql(sql); if (i > 0) { return true; } else { return true; } } catch { return false; } } //记录总数 public int Count(string where) { string sql = "select count(1) from TBL_SYS_ROLEPERM "; if (where != null && where != "") { sql += " where " + where; } try { return FangYar.Common.MySqlHelper.GetCount(sql); } catch { return 0; } } #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_ROLEPERM", strwhere); } /// /// 分页无排序 /// /// 页面索引 /// 页面大小 /// 查询条件 /// 排序 /// public DataTable QueryPage(int PageIndex, int PageSize, string strwhere, string order) { return FangYar.Common.MySqlHelper.QueryPage(PageIndex, PageSize, "TBL_SYS_ROLEPERM", 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_ROLEPERM", "*", null, null, null); } #endregion #region 扩展方法 public DataTable RolePermDataset(string appid, string roleid) { StringBuilder strsql = new StringBuilder(); strsql.Append("select * from TBL_SYS_PERM t left join "); strsql.Append("(select PERM_ID from tbl_sys_roleperm where "); strsql.AppendFormat("app_ID='{0}' and role_id='{1}')", appid, roleid); strsql.Append(" b on t.id=b.PERM_ID "); DataTable dt = FangYar.Common.MySqlHelper.QueryTable(strsql.ToString()); if (dt.Rows.Count > 0) { return dt; } else { return null; } } #endregion } }