Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        /// <summary>
        /// 从所有部门中移除人
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public bool DeleteUserForDepartment(int userId)
        {
            UserDepartmentManager userDepartmentManager = new UserDepartmentManager();

            return(userDepartmentManager.Delete(d => d.UserId == userId));
        }
Пример #6
0
        /// <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);
        }