public async Task <IActionResult> ToggleAdmin(string name, [FromBody] CodeCampUserViewModel vm) { if (ModelState.IsValid) { var user = await _userMgr.FindByNameAsync(name); if (user != null) { var isAdmin = await _userMgr.IsInRoleAsync(user, Consts.ADMINROLE); IdentityResult result; if (isAdmin) { result = await _userMgr.RemoveFromRoleAsync(user, Consts.ADMINROLE); } else { result = await _userMgr.AddToRoleAsync(user, Consts.ADMINROLE); } if (result.Succeeded) { return(Ok(!isAdmin)); } } } return(BadRequest("Could not update roles.")); }
public async Task <IActionResult> Put(string name, [FromBody] CodeCampUserViewModel vm) { var user = await _userMgr.FindByNameAsync(name); _mapper.Map <CodeCampUserViewModel, CodeCampUser>(vm, user); await _repo.SaveChangesAsync(); return(Ok(_mapper.Map <CodeCampUserViewModel>(user))); }
public async Task <IActionResult> ToggleConfirmation(string name, [FromBody] CodeCampUserViewModel vm) { try { if (ModelState.IsValid) { var user = await _userMgr.FindByNameAsync(name); if (user != null) { user.EmailConfirmed = !user.EmailConfirmed; await _userMgr.UpdateAsync(user); return(Ok(user.EmailConfirmed)); } } } catch (Exception ex) { _logger.LogError("Exception thrown while toggling confirmation: {0}", ex); } return(BadRequest("Could not toggle email confirmation.")); }