public async Task <ActionResult> SaveUserRole(UserRoleParam param) { var role = await _roleManager.FindByNameAsync(param.RoleName); if (role == null) { if (Enum.TryParse(param.RoleName, out SystemRole _)) { var desc = typeof(SystemRole).GetProperty(param.RoleName).GetCustomAttribute <DescriptionAttribute>()?.Description; await _roleManager.CreateAsync(new Role { Id = Guid.NewGuid(), Name = param.RoleName, Description = desc }); } else { return(BadRequest()); } } var user = await _userManager.FindByIdAsync(param.UserId); if (param.Checked) { await _userManager.AddToRoleAsync(user, param.RoleName); } else { await _userManager.RemoveFromRoleAsync(user, param.RoleName); } return(Ok()); }
public async Task <string> GetUserRoleAsync([FromQuery] UserRoleParam param) { var userRoles = new List <TUserRoleRelation>(); if (param.UserId != null) { userRoles = await _iTUserRepository.GetUserRolesAsync(param.UserId.Value); } var roles = await _iTRoleRepository.QueryAsync(); var roleDtos = new List <UserRoleDto>(); foreach (var item in roles) { var roleDto = new UserRoleDto { Id = item.Id, RoleName = item.RoleName, Description = item.Description, IsAdd = false }; if (userRoles.Exists(c => c.RoleId == item.Id)) { roleDto.IsAdd = true; } roleDtos.Add(roleDto); } var pageData = new LayuiTableDto <UserRoleDto> { Code = "0", Msg = "获取数据成功", Count = roleDtos.Count, Data = roleDtos }; var json = JsonConvert.SerializeObject(pageData); return(json); }