Beispiel #1
0
        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"));
            }
        }
Beispiel #2
0
        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"));
            }
        }
Beispiel #3
0
        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));
        }