public async Task <IActionResult> SetRoleAsync([FromBody] SetRolesIM model) { try { var userRoles = await _context.UserRoles.Where(d => d.UserId == model.UserId).ToListAsync(); _context.RemoveRange(userRoles); foreach (var item in model.Roles.Where(d => d.Selected)) { _context.UserRoles.Add(new UserRole { UserId = model.UserId, RoleId = int.Parse(item.Value) }); } await _context.SaveChangesAsync(); return(Ok("角色设置成功")); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> GetUserRoles([FromRoute] Guid id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var roles = await _context.Roles.ToListAsync(); var ids = await _context.Roles.Where(d => d.UserRoles.Any(u => u.UserId == id)) .Select(d => d.Id).ToListAsync(); var vm = new SetRolesIM { UserId = id, Roles = new List <SelectVM>() }; foreach (var r in roles) { vm.Roles.Add(new SelectVM { Value = r.Id.ToString(), Text = r.RoleName, Selected = ids != null && ids.Contains(r.Id) }); } return(Ok(vm)); }