public async Task <ActionResult> ChangePassword(ProfilePasswordMultiViewModel model) { if (!ModelState.IsValid) { return(RedirectToAction("Profile", "Account")); } try { var userStore = MembershipTools.NewUserStore(); var userManager = new UserManager <ApplicationUser>(userStore); var user = await userManager.FindByIdAsync(HttpContext.User.Identity.GetUserId()); user = await userManager.FindAsync(user.UserName, model.ChangePasswordViewModel.OldPassword); if (user == null) { ModelState.AddModelError("OldPassword", "Mevcut şifreniz hatalı"); return(View("Profile")); } await userStore.SetPasswordHashAsync(user, userManager.PasswordHasher.HashPassword(model.ChangePasswordViewModel.Password)); await userStore.UpdateAsync(user); await userStore.Context.SaveChangesAsync(); HttpContext.GetOwinContext().Authentication.SignOut(); return(RedirectToAction("Profile")); } catch (Exception ex) { ModelState.AddModelError("", $"Güncelleme işleminde bir hata oluştu.{ex.Message}"); return(View("Profile")); } }
public async Task <ActionResult> Profile(ProfilePasswordMultiViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var userStore = MembershipTools.NewUserStore(); var userManager = new UserManager <ApplicationUser>(userStore); var user = await userManager.FindByIdAsync(HttpContext.User.Identity.GetUserId()); user.Name = model.ProfileViewModel.Name; user.Surname = model.ProfileViewModel.Surname; user.Bio = model.ProfileViewModel.Bio; user.Email = model.ProfileViewModel.Email; if (model.ProfileViewModel.Photo != null && model.ProfileViewModel.Photo.ContentLength > 0) { string fileName = Path.GetFileNameWithoutExtension(model.ProfileViewModel.Photo.FileName); string extensionName = Path.GetExtension(model.ProfileViewModel.Photo.FileName); fileName = SiteSettings.UrlFormatConverter(fileName); fileName += Guid.NewGuid().ToString().Replace("-", ""); var directoryPath = Server.MapPath("~/Uploads/ProfilePhotos/"); var filePath = Server.MapPath("~/Uploads/ProfilePhotos/" + fileName + extensionName); if (!Directory.Exists(directoryPath)) { Directory.CreateDirectory(directoryPath); } model.ProfileViewModel.Photo.SaveAs(filePath); WebImage img = new WebImage(filePath); img.Resize(800, 800, false); img.AddTextWatermark("Murat Bircan Blog", fontColor: "antiquewhite", fontSize: 18, fontFamily: "Verdana"); img.Save(filePath); if (!string.IsNullOrEmpty(user.PhotoURL) && user.PhotoURL != "/images/user.png") { System.IO.File.Delete(Server.MapPath(user.PhotoURL)); } user.PhotoURL = $@"/Uploads/ProfilePhotos/{fileName}{extensionName}"; } await userStore.UpdateAsync(user); await userStore.Context.SaveChangesAsync(); return(RedirectToAction("Profile", "Account")); } catch (Exception ex) { ModelState.AddModelError("", $"Güncelleme sırasında bir hata oluştu.{ex.Message}"); return(View("Profile")); } }
public async Task <ActionResult> Profile() { var popular = new Repository.ArticleRepo().Queryable().Where(x => x.Confirmed == true).OrderByDescending(x => x.LikeCount).Take(5).ToList(); ViewBag.popular = popular; var userManeger = MembershipTools.NewUserManager(); var user = await userManeger.FindByIdAsync(HttpContext.User.Identity.GetUserId()); var model = new ProfilePasswordMultiViewModel(); var modelProfile = new ProfileViewModel() { Email = user.Email, Name = user.Name, Bio = user.Bio, PhotoURL = user.PhotoURL, Surname = user.Surname, UserName = user.UserName, RegisterDate = user.RegisterDate }; model.ProfileViewModel = modelProfile; return(View(model)); }