/// <summary> /// 单个删除 /// </summary> /// <param name="userInfo">用户</param> /// <param name="id">主键</param> /// <returns>影响行数</returns> public int Delete(UserInfo userInfo, string id) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_Delete, "主键:" + id); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var userManager = new PiUserManager(dbProvider, userInfo); returnValue = userManager.Delete(id); //已经被删除的用户的UserId设置为Null userManager.CheckUserStaff(); returnValue += new UserPermissionManager(dbProvider, userInfo).ClearUserPermissionByUserId(id); }); return(returnValue); }
/// <summary> /// 批量删除 /// </summary> /// <param name="userInfo">用户</param> /// <param name="ids">主键数组</param> /// <returns>影响行数</returns> public int BatchDelete(UserInfo userInfo, string[] ids) { int returnValue = 0; var parameter = ParameterUtil.CreateWithMessage(userInfo, MethodBase.GetCurrentMethod(), this.serviceName, RDIFrameworkMessage.UserService_BatchDelete, "主键数组:" + BusinessLogic.ArrayToList(ids)); ServiceUtil.ProcessRDIWriteDbWithTran(userInfo, parameter, dbProvider => { var userManager = new PiUserManager(dbProvider, userInfo); returnValue = userManager.Delete(ids); // 用户已经被删除的用户的UserId设置为Null,说白了,是需要整理数据 userManager.CheckUserStaff(); if (ids != null && ids.Length > 0) { returnValue += ids.Sum(userId => new UserPermissionManager(dbProvider, userInfo).ClearUserPermissionByUserId(userId)); } }); return(returnValue); }