public async Task <IActionResult> CreateRole([FromBody] RoleViewModel role) { if (ModelState.IsValid) { if (role == null) { return(BadRequest($"{nameof(role)} cannot be null")); } Role appRole = _mapper.Map <Role>(role); (bool Succeeded, string[] Errors)result = await _accountManager.CreateRoleAsync(appRole, role.Permissions?.Select(p => p.Value).ToArray()); if (result.Succeeded) { RoleViewModel roleVM = await GetRoleViewModelHelper(appRole.Name); return(CreatedAtAction(GetRoleByIdActionName, new { id = roleVM.Id }, roleVM)); } AddError(result.Errors); } return(BadRequest(ModelState)); }
private async Task EnsureRoleAsync(IIdentityManager accountManager, string roleName, string description, string[] claims) { if ((await accountManager.GetRoleByNameAsync(roleName)) == null) { Role applicationRole = new Role(roleName, description); (bool Succeeded, string[] Errors) = await accountManager.CreateRoleAsync(applicationRole, claims); if (!Succeeded) { throw new Exception($"Seeding \"{description}\" role failed. Errors: {string.Join(Environment.NewLine, Errors)}"); } } }
public async Task <ActionResult> AddRole(RoleViewModel roleViewModel) { int userId = User.Identity.GetUserId <int>(); bool isRoleAdded = await _identityManager.CreateRoleAsync(roleViewModel.Name, userId); if (isRoleAdded) { return(RedirectToAction(nameof(SearchRoles))); } else { return(View(roleViewModel)); } }