public async Task <IActionResult> DeleteAsync([FromBody] RoleAssignmentsDelete model) { if ((model.RoleName.Trim().ToLower() == FurizaMasterRoles.Administrator || model.RoleName.Trim().ToLower() == FurizaMasterRoles.Superuser) && !userPrincipalBuilder.HasSuperuserRights()) { throw new AdminCanOnlyBeAssignedBySuperuserException(); } var user = await GetApplicationUserAsync(model.UserName, model.RoleName); var operationResult = await userManager.RemoveFromRoleAsync(user, model.RoleName); return(await ParseIdentityResultAndReturnAsync(model.UserName, operationResult)); }
public async Task OnPostAlterarRoleAsync(string username, string currentRole, string newRole) { if (!string.IsNullOrWhiteSpace(currentRole)) { var roleAssignmentsDelete = new RoleAssignmentsDelete() { UserName = username, RoleName = currentRole }; await roleAssignmentsClient.DeleteAsync(roleAssignmentsDelete); } if (!string.IsNullOrWhiteSpace(newRole)) { var roleAssignmentsPost = new RoleAssignmentsPost() { UserName = username, RoleName = newRole }; await roleAssignmentsClient.PostAsync(roleAssignmentsPost); } }