Beispiel #1
0
        public async Task <IActionResult> SetUserRole(SetRoleModel dto)
        {
            var dtos = new List <Sys_UserRoleDto>();

            foreach (int userId in dto.UserIds)
            {
                dtos.Add(new Sys_UserRoleDto
                {
                    UserId = userId,
                    RoleId = dto.RoleId
                });
            }

            var result = await _userRoleService.AddAsync(dtos);

            return(Json(result));
        }
Beispiel #2
0
        public async Task <Result <List <Sys_UserRoleDto> > > AddRoles(int userId, List <int> roleIds)
        {
            var           result     = new Result <List <Sys_UserRoleDto> >();
            List <string> roleNames  = new List <string>();
            var           userResult = await GetByIdAsync(userId);

            if (!userResult.flag)
            {
                result.msg = "用户不存在";
                return(result);
            }
            if (roleIds.Count <= 0)
            {
                result.msg = "请选择要添加的角色";
                return(result);
            }
            var userRoleResult = await _userRoleService.GetListAsync(item => item.UserId == userResult.data.Id);

            var userExistedRoleIds = userRoleResult.data.Select(item => item.RoleId).ToList();
            var userRoles          = new List <Sys_UserRoleDto>();

            foreach (var roleId in roleIds)
            {
                if (!userExistedRoleIds.Contains(roleId))
                {
                    userRoles.Add(new Sys_UserRoleDto
                    {
                        UserId = userResult.data.Id,
                        RoleId = roleId
                    });
                }
            }
            result = await _userRoleService.AddAsync(userRoles);

            return(result);
        }