Пример #1
0
        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));
            }
        }
Пример #2
0
        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));
        }