public async Task Remove(RemoveRoleDto roleDto)
        {
            var role = await _roleManager.Roles.FirstOrDefaultAsync(x => x.Id == roleDto.Id && x.IsActive);

            if (role == null)
            {
                throw new NotFoundException("Role", roleDto.Id);
            }


            var users = await _userManager.GetUsersInRoleAsync(role.Name);

            if (users.Where(x => x.IsActive).Count() > 0)
            {
                throw new ExistDependencyException("Role", role.Id, new List <string> {
                    "Users"
                });
            }

            role.IsActive = false;

            var result = await _roleManager.UpdateAsync(role);

            if (!result.Succeeded)
            {
                throw new RoleManagerException("remove", role.Name);
            }
        }
Beispiel #2
0
        public async Task <ActionResult> RemoveDepartment([FromBody] RemoveRoleDto roleDto)
        {
            if (!IsAvailableOperation())
            {
                return(BadRequest());
            }

            await _roleService.Remove(roleDto);

            AddLog(Enums.LogType.Create, LogMessage.CreateSuccessByIdMessage(LogMessage.RoleEntityName, roleDto.Id, LogMessage.RemoveAction, UserId));
            return(Ok());
        }
Beispiel #3
0
        /// <summary>
        /// 删除角色
        /// </summary>
        /// <param name="deleteRoleDto">删除角色信息</param>
        /// <returns>返回删除角色执行结果</returns>
        public Result RemoveRole(RemoveRoleDto deleteRoleDto)
        {
            using (var businessWork = WorkManager.Create())
            {
                #region 参数判断

                if (deleteRoleDto?.Ids.IsNullOrEmpty() ?? true)
                {
                    return(Result.FailedResult("没有指定要删除的角色"));
                }

                #endregion

                var removeRoleResult = roleService.Remove(deleteRoleDto.Ids);
                if (!removeRoleResult.Success)
                {
                    return(removeRoleResult);
                }
                var commitResult = businessWork.Commit();
                return(commitResult.ExecutedSuccess ? Result.SuccessResult("删除成功") : Result.FailedResult("删除失败"));
            }
        }
Beispiel #4
0
 /// <summary>
 /// 删除角色
 /// </summary>
 /// <param name="removeRoleDto">角色删除信息</param>
 /// <returns>返回执行结果</returns>
 public Result RemoveRole(RemoveRoleDto removeRoleDto)
 {
     return(roleBusiness.RemoveRole(removeRoleDto));
 }