public async Task <object> ChangeUsername(ChangeUsernameBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = UserManager2.GetUserModel(User.Identity.GetUserId <long>()); user.username = model.username; user = UserManager2.Update(user); return(user); }
public async Task <IHttpActionResult> UpdateUsername(ChangeUsernameBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ApplicationUser Model = UserManager.FindById(User.Identity.GetUserId()); Model.UserName = model.UserName; IdentityResult uResult = await UserManager.UpdateAsync(Model); //update username separately cause we can User.Identity.GetUserName().Replace(User.Identity.GetUserName(), model.UserName); db.SaveChanges(); return(Ok()); }
public async Task <IHttpActionResult> ChangeUsername(ChangeUsernameBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = UserManagerExtensions.FindByName(UserManager, model.UserName); if (user == null) { ApplicationUser currentUser = await UserManager.FindByIdAsync(User.Identity.GetUserId()); currentUser.UserName = model.UserName; UserManager.Update(currentUser); return(await GetUserInfo()); } return(BadRequest(String.Format("Username {0} is already taken", model.UserName))); }