public async Task <ActionResult> IzmeniProfil() { var user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); if (user == null) { // Ne otkrivaj da korisnik ne postoji return(View("Error")); } var model = new AccountModifyModel { UserName = user.UserName, Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, DateRegistered = user.DateRegistered, CurrentProfilePicture = user.ProfilePicture, HasPassword = await UserManager.HasPasswordAsync(user.Id) }; return(View(model)); }
public async Task <ActionResult> IzmeniProfil(AccountModifyModel model) { if (ModelState.IsValid) { AppUser user = await UserManager.FindByIdAsync(User.Identity.GetUserId()); if (user != null) { user.FirstName = model.FirstName; user.LastName = model.LastName; user.UserName = model.UserName; if (model.NewProfilePicture != null) { user.ProfilePicture = model.NewProfilePicture.ToByteArray(); } var updateResult = await UserManager.UpdateAsync(user); var emailUpdateResult = await UserManager.SetEmailAsync(user.Id, model.Email); if (updateResult.Succeeded && emailUpdateResult.Succeeded) { AuthManager.SignOut(); await SignInManager.SignInAsync(user, isPersistent : true, rememberBrowser : false); TempData["Success"] = "Izmene uspesno sacuvane!"; return(RedirectToAction("IzmeniProfil")); } AddErrorsFromResult(string.Empty, updateResult, emailUpdateResult); } ModelState.AddModelError(string.Empty, "Doslo je do greske, pokušajte ponovo."); } return(View(model)); }