public async Task <IActionResult> GetUserListByRole(QueryBase queryBase) { if (queryBase.Value.Ext_IsEmpty()) { return(Json(new { })); } var roleId = queryBase.Value.Ext_ToInt32(); var users = (await _userRoleService.GetListAsync(item => item.Id > 0 && item.RoleId == roleId)) .data.Select(item => item.UserId).ToList(); Expression <Func <Sys_UserDto, bool> > queryExp = item => item.Id > 0 && users.Contains(item.Id); var dto = await _userService.GetPageDataAsync(queryBase, queryExp, queryBase.OrderBy, queryBase.OrderDir); var result = new DataTableModel { draw = queryBase.Draw, recordsTotal = dto.recordsTotal, recordsFiltered = dto.recordsTotal, data = dto.data.Select(d => new { rowNum = ++queryBase.Start, userName = d.UserName, realName = d.RealName, email = d.Email, statusName = d.StatusName, id = d.Id.ToString(), }) }; return(Json(result)); }
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); }