public async Task <ActionResult> UserProfile(EditUserAccountViewModel viewModel) { if (ModelState.IsValid) { List <string> listError = new List <string>(); EditUserViewModel editUser = new EditUserViewModel { Id = viewModel.Id, Email = viewModel.Email }; var user = await UserManager.FindByIdAsync(editUser.Id); if (user == null) { return(HttpNotFound()); } var findWithEmail = await UserManager.FindByEmailAsync(viewModel.Email); if (findWithEmail != null && !findWithEmail.UserName.Equals(user.UserName)) { listError.Add("Email is exists"); return(RedirectToAction("UserProfile", "Account", new { errors = listError.First() })); } user.Email = editUser.Email; var userRoles = await UserManager.GetRolesAsync(user.Id); var result = await UserManager.UpdateAsync(user); if (!result.Succeeded) { ModelState.AddModelError("", result.Errors.First()); return(RedirectToAction("UserProfile", "Account", new { errors = listError.First() })); } else //update userinfor { UserInfo userInfo = new UserInfo { Company = viewModel.Company, CountExperience = viewModel.CountExperience, CurrentJob = viewModel.CurrentJob, FullName = viewModel.FullName, TimeUnit = viewModel.TimeUnit, UserName = user.UserName, IsActive = true, Email = user.Email }; var resultUserInfo = await _userBus.Update(userInfo, new List <string>()); } TempData["isSuccess"] = true; return(RedirectToAction("UserProfile", "Account")); } ModelState.AddModelError("", "Something failed."); return(View()); }
//EndDocSection:Signout //DocSection:EditUser /// <summary> /// Displays a form where user information can be changed. /// </summary> public async Task <IActionResult> EditUser(bool avatarUpdateFailed = false) { // Finds the user based on their current user name ApplicationUser user = await userManager.FindByNameAsync(User.Identity.Name); EditUserAccountViewModel model = new EditUserAccountViewModel() { User = user, AvatarUpdateFailed = avatarUpdateFailed }; return(View(model)); }
/// <summary> /// Displays a form where user information can be changed. /// </summary> public ActionResult EditUser(bool avatarUpdateFailed = false) { // Finds the user based on their current user name User user = KenticoUserManager.FindByName(User.Identity.Name); EditUserAccountViewModel model = new EditUserAccountViewModel() { User = user, AvatarUpdateFailed = avatarUpdateFailed }; return(View(model)); }