public void UpdateRecord(System.Collections.Generic.List <int> UpdList, YueMES.Base.Dal.DAO dao, string DBNo, string sysLinkName, string CacheKey = null) { if (UpdList == null || UpdList.Count == 0 || string.IsNullOrEmpty(CacheKey)) { return; } string sql = ""; StringBuilder sbd = new StringBuilder(); foreach (var id in UpdList) { sbd.Append(id); sbd.Append(","); } sql = string.Format("{0} and ma.ID in({1})", CacheKey, sbd.ToString(0, sbd.Length - 1)); BooleanValue <DataTable> bv = dao.GetDataTable(sql); if (bv.Success && bv.Value.Rows.Count > 0) { if (CacheKey != null) { object busisData = null; YueMES.Base.Dal.DTO.TryGetCache(CacheKey, DBNo, out busisData); if (busisData == null) { return; } Sys_Users busis = (Sys_Users)busisData; if (busis.Columns.Count != bv.Value.Columns.Count) { return; } lock (_lock) { foreach (var id in UpdList) { DataRow[] drs = busis.Select(string.Format("ID={0}", id)); if (drs.Length == 0) { continue; } busis.Rows.Remove(drs[0]); } foreach (DataRow row in bv.Value.Rows) { busis.LoadDataRow(row, true); } busis.AcceptChanges(); } } } }
public static Sys_User GetItem(int id) { Sys_User result = (Sys_User)Default.FindRow("ID", id); if (result != null) { return(result); } string sql = string.Format("select su.*,dp.name as DepName from Sys_User su left join dept dp on su.dep=dp.dep where su.ID={0}", id); BooleanValue <DataRow> bv = DAO.Default.GetDataRow(sql); DataRow dr = bv.Value; if (dr == null) { return(null); } result = Default.LoadDataRow(dr, true) as Sys_User; return(result); }
public void UpdateRecord(List <int> UpdList, DAO dao, string DBNo, string sysLinkName, string CacheKey = null) { if (UpdList == null || UpdList.Count == 0) { return; } string sql = ""; StringBuilder sbd = new StringBuilder(); foreach (var id in UpdList) { sbd.Append(id); sbd.Append(","); } sql = string.Format("select su.*,dp.name as DepName from Sys_User su left join dept dp on su.dep=dp.dep where su.ID in({0})", sbd.ToString(0, sbd.Length - 1)); BooleanValue <DataTable> bv = dao.GetDataTable(sql); if (bv.Success && bv.Value.Rows.Count > 0) { if (CacheKey != null) { object busisData = null; YueMES.Base.Dal.DTO.TryGetCache(string.IsNullOrEmpty(CacheKey) ? Default_sql : CacheKey, DBNo, out busisData); if (busisData == null) { return; } Sys_Users busis = (Sys_Users)busisData; lock (_lock) { if (busis.Columns.Count != bv.Value.Columns.Count) { return; } foreach (var id in UpdList) { DataRow[] drs = busis.Select(string.Format("ID={0}", id)); if (drs.Length == 0) { continue; } busis.Rows.Remove(drs[0]); } foreach (DataRow row in bv.Value.Rows) { busis.LoadDataRow(row, true); } busis.AcceptChanges(); } } } sql = "SELECT r.ID FROM sys_User a INNER JOIN sys_Role_User b ON a.ID=b.UserID INNER JOIN sys_Role r ON b.MID=r.ID where a.ID IN({0})"; sql = string.Format(sql, sbd.ToString(0, sbd.Length - 1)); bv = dao.GetDataTable(sql); if (bv.Success && bv.Value.Rows.Count > 0) { base.addThreadInfo(DBNo); foreach (DataRow row in bv.Value.Rows) { Sys_Role busi = Sys_Roles.GetItem(Convert.ToInt32(row["ID"])); if (busi == null) { continue; } busi.ResetRoleUsers(); } } }