public async Task <IActionResult> PostAsync([FromBody] RoleAssignmentsPost 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.AddToRoleAsync(user, model.RoleName); return(await ParseIdentityResultAndReturnAsync(model.UserName, operationResult)); }