public async Task <IActionResult> Edit() { var user = await userManager.FindByNameAsync(HttpContext.User.Identity.Name); var viewModel = new EditProfileViewData(); if (user != null) { viewModel = new EditProfileViewData { Email = user.Email, Name = user.FirstName, SecondName = user.SecondName }; } return(View(viewModel)); }
public async Task <IActionResult> Edit(EditProfileViewData model) { if (ModelState.IsValid) { var user = await userManager.FindByNameAsync(User.Identity.Name); if (!string.IsNullOrEmpty(model.Name)) { user.FirstName = model.Name; } if (!string.IsNullOrEmpty(model.SecondName)) { user.SecondName = model.SecondName; } if (!string.IsNullOrEmpty(model.Email)) { user.Email = model.Email; } foreach (var validator in userManager.UserValidators) { var validation = await validator.ValidateAsync(userManager, user); if (!validation.Succeeded) { AddErrorsFromResult(validation); } } if (ModelState.IsValid) { var result = await userManager.UpdateAsync(user); if (result.Succeeded) { TempData["Toast"] = Toasts.AccountEdited; return(RedirectToAction(nameof(Details))); } else { AddErrorsFromResult(result); } } } return(View(model)); }