public async Task <IActionResult> SetUserRole([FromBody] SetUserRoleRequest model)
        {
            ApplicationUser user = await _roleservice.FindByEmailAsync(model.Email);

            string roleName = string.Empty;

            if (user == null)
            {
                return(Ok("User Not Found...."));
            }

            string userName = user.UserName != null ? user.Email : user.UserName;

            // Find Role Using Role Name in AspNetRole Table
            ApplicationRole applicationRole = await _roleservice.FindByNameAsync(model.ApplicationRoleName.ToUpper());

            //ApplicationRole applicationRole = await _roleManager.FindByIdAsync(model.ApplicationRoleId);
            IdentityResult roleResult = null;

            if (applicationRole != null)
            {
                roleName = applicationRole.Name;

                if (ModelState.IsValid)
                {
                    // Add Role With Specific user
                    roleResult = await _roleservice.AddToRoleAsync(user, applicationRole.Name);

                    return(Ok($"SuccessFully Set Role {roleName} For User {userName} in AspNetUserRoles Table"));
                }
            }

            return(Ok("UnExpected Errors !!!"));
        }
Beispiel #2
0
        public async Task <IActionResult> SetUserRole([FromBody] SetUserRoleRequest setUserRoleRequest)
        {
            var result = await _identityService.UpdateUserRoles(setUserRoleRequest.UserId, setUserRoleRequest.Roles);

            if (result == false)
            {
                return(NotFound("Updating user role failed."));
            }
            return(Ok(true));
        }
        public SaveResult UnsetRole(SetUserRoleRequest request)
        {
            try
            {
                ApplicationRole role = RoleManager.FindById(request.RoleId);

                if (!UserManager.IsInRole(HttpContext.Current.User.Identity.GetUserId <int>(), "Admin"))
                {
                    //if (UserManager.IsInRole(request.UserId, "Admin"))
                    //    return new SaveResult { Status = "error", Message = "User is admin!" };

                    if (role.Name == "Admin")
                    {
                        return new SaveResult {
                                   Status = "error", Message = "Admin role can be set by admin only!"
                        }
                    }
                    ;
                }

                var result = UserManager.RemoveFromRoles(request.UserId, role.Name);

                if (!result.Succeeded)
                {
                    return new SaveResult {
                               Status = "error", Message = result.Errors.First()
                    }
                }
                ;

                UserRolesSingleton.RemoveById(request.UserId);

                return(new SaveResult {
                    Status = "success"
                });
            }
            catch (Exception ex)
            {
                return(new SaveResult {
                    Status = "error", Message = ex.Message
                });
            }
        }
Beispiel #4
0
        public async Task <IActionResult> SetRolesAsync([FromBody] SetUserRoleRequest request)
        {
            await UserService.SetRolesAsync(request.UserId, request.RoleIds.ToGuidList());

            return(Success());
        }