/// <summary> /// 删除部门根据主键 /// </summary> /// <param name="roleId"></param> /// <returns></returns> public bool DeleteDepartmentByDepartmentId(int departmentId) { bool result = true; RoleOp roleOp = new RoleOp(); List <int> roleIds = roleOp.GetRolesForDepartmentAndSubDepartment(departmentId); if (roleIds != null && roleIds.Count > 0) { foreach (int id in roleIds) { // 删除角色 result = result && roleOp.DeleteRoleByRoleId(id); } } //当前和所有子层级的部门id List <int> departmentIds = GetDpartmentIsForCurrentAndAllNodes(departmentId, true); if (departmentIds != null && departmentIds.Count > 0) { DepartmentManager DepartmentManager = new DepartmentManager(); UserDepartmentManager userDepartmentManager = new UserDepartmentManager(); foreach (int id in departmentIds) { ///删除部门中的用户 result = result && userDepartmentManager.Delete(d => d.DepartmentId == departmentId); ///删除部门 result = result && DepartmentManager.DeleteById(departmentId); } } return(result); }
/// <summary> /// 部门批量移除人员 /// </summary> /// <param name="departmentId"></param> /// <param name="userIds"></param> /// <param name="addUser"></param> /// <returns></returns> public bool DeleteUserForDepartment(int departmentId, List <int> userIds) { bool result = false; UserDepartmentManager userDepartmentManager = new UserDepartmentManager(); //包含自己和所有下级(包括孙子节点。。。。)的部门id List <int> departmentsIncludeAllSub = GetDpartmentIsForCurrentAndAllNodes(departmentId, true); //删除关系 包括所有下级部门中的该用户 if (userIds != null && userIds.Count > 0) { result = userDepartmentManager.Delete(d => userIds.Contains(d.UserId) && departmentsIncludeAllSub.Contains(d.DepartmentId)); } ///删除部门中角色和人的关系 RoleOp roleOp = new RoleOp(); List <int> roleIds = roleOp.GetRolesForDepartmentAndSubDepartment(departmentId); if (userIds != null && userIds.Count > 0) { foreach (int id in userIds) { roleOp.DeleteUserByRoleIds(roleIds, id); } } return(result); }
/// <summary> /// 部门批量添加人员 /// </summary> /// <param name="departmentId"></param> /// <param name="userIds"></param> /// <param name="addUser"></param> /// <returns></returns> public bool AddUserForDepartment(int departmentId, List <int> userIds) { bool result = true; UserDepartmentManager userDepartmentManager = new UserDepartmentManager(); if (userIds != null && userIds.Count > 0) { List <WXQ.Enties.UserDepartment> lt = new List <Enties.UserDepartment>(); DateTime dt = DateTime.Now; foreach (int m in userIds) { if (!UserExitInDepartment(m, departmentId)) { WXQ.Enties.UserDepartment rm = new Enties.UserDepartment { UserId = m, DepartmentId = departmentId, AddDateTime = dt, AddUser = this.OpUserId.ToString() }; userDepartmentManager.Db.Insertable <WXQ.Enties.UserDepartment>(rm).AddQueue(); } } DeleteUserForDepartment(departmentId, userIds); result = userDepartmentManager.Db.SaveQueues() > 0; } return(result); }
public bool DeleteTableData() { bool result = true; UsersManager UsersManager = new UsersManager(); UsersManager.Db.Deleteable <WXQ.Enties.Users>().Where(u => u.UsersId > -1).ExecuteCommand(); DepartmentManager departmentManager = new DepartmentManager(); departmentManager.Db.Deleteable <WXQ.Enties.Department>().Where(um => um.DepartmentId > -1).ExecuteCommand(); RoleManager roleManager = new RoleManager(); roleManager.Db.Deleteable <WXQ.Enties.Role>().Where(um => um.RoleId > -1).ExecuteCommand(); MenuManager menuManager = new MenuManager(); menuManager.Db.Deleteable <WXQ.Enties.Menu>().Where(um => um.MenuId > -1).ExecuteCommand(); UserRoleManager userRoleManager = new UserRoleManager(); userRoleManager.Db.Deleteable <WXQ.Enties.UserRole>().Where(d => d.RoleId > -1).ExecuteCommand(); RoleMenuManager roleMenuManager = new RoleMenuManager(); roleMenuManager.Db.Deleteable <WXQ.Enties.RoleMenu>().Where(d => d.RoleId > -1).ExecuteCommand(); DepartmentRoleManager departmentRoleManager = new DepartmentRoleManager(); departmentRoleManager.Db.Deleteable <WXQ.Enties.DepartmentRole>().Where(d => d.RoleId > -1).ExecuteCommand(); UserDepartmentManager userDepartmentManager = new UserDepartmentManager(); userDepartmentManager.Db.Deleteable <WXQ.Enties.UserDepartment>().Where(d => d.UserId > -1).ExecuteCommand(); return(result); }
/// <summary> /// 从所有部门中移除人 /// </summary> /// <param name="userId"></param> /// <returns></returns> public bool DeleteUserForDepartment(int userId) { UserDepartmentManager userDepartmentManager = new UserDepartmentManager(); return(userDepartmentManager.Delete(d => d.UserId == userId)); }
/// <summary> /// 部门是否有该用户 /// </summary> /// <param name="userId"></param> /// <param name="departmentId"></param> /// <returns></returns> public bool UserExitInDepartment(int userId, int departmentId) { UserDepartmentManager userDepartmentManager = new UserDepartmentManager(); return(userDepartmentManager.Db.Queryable <WXQ.Enties.UserDepartment>().Where(it => it.DepartmentId == departmentId && it.UserId == userId).Count() > 0); }