Exemplo n.º 1
0
        public async Task <IActionResult> EditRolesToUser(string id)
        {
            var roles = await _roleManager.Roles.ToListAsync();

            var user = await _userManager.FindByIdAsync(id);

            List <IdentityRole> inRoles = new List <IdentityRole>();

            foreach (var role in roles)
            {
                if (await _userManager.IsInRoleAsync(user, role.Name))
                {
                    inRoles.Add(role);
                }
            }
            foreach (var item in inRoles)
            {
                roles.Remove(item);
            }
            var editUserRoleDto = new EditUserRoleDto()
            {
                Id         = user.Id,
                UserName   = user.UserName,
                NotInRoles = roles,
                InRoles    = inRoles
            };

            return(View(editUserRoleDto));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> EditUserRole([FromBody] EditUserRoleDto userRole)
        {
            if (userRole?.Email == null || userRole.Role == null)
            {
                return(BadRequest());
            }

            var user = await _unitOfWork.Users.FindUserByEmailId(userRole.Email);

            if (user == null)
            {
                return(BadRequest());
            }

            var result = await _unitOfWork.Users.EditUserRole(user, userRole.Role);

            if (!result)
            {
                BadRequest();
            }

            await _unitOfWork.CompleteAsync();

            return(Ok(result));
        }
Exemplo n.º 3
0
        public async Task <IActionResult> RemoveRoleToUser(string ids)
        {
            string[] idstrs = ids.Split(',');
            var      user   = await _userManager.FindByIdAsync(idstrs[0]);

            var role = await _roleManager.FindByIdAsync(idstrs[1]);

            await _userManager.RemoveFromRoleAsync(user, role.Name);

            var roles = await _roleManager.Roles.ToListAsync();

            List <IdentityRole> inRoles = new List <IdentityRole>();

            foreach (var item in roles)
            {
                if (await _userManager.IsInRoleAsync(user, item.Name))
                {
                    inRoles.Add(item);
                }
            }
            foreach (var item in inRoles)
            {
                roles.Remove(item);
            }
            var editUserRoleDto = new EditUserRoleDto()
            {
                Id         = user.Id,
                UserName   = user.UserName,
                NotInRoles = roles,
                InRoles    = inRoles
            };

            return(RedirectToAction("EditRolesToUser", editUserRoleDto));
        }