Exemple #1
0
 public MailMessage PasswordChanged(PasswordAdminModel model)
 {
     var mailMessage = new MailMessage { Subject = "Your information has changed" };
     mailMessage.To.Add(model.Email);
     ViewData = new ViewDataDictionary(model);
     PopulateBody(mailMessage, viewName: "PasswordChanged");
     return mailMessage;
 }
        public ActionResult SavePassword(PasswordAdminModel model)
        {
            if (!ModelState.IsValid)
            {
                TempData["ModelErrors"] = FindModelErrors();
                return RedirectToAction("ChangePassword", new { id = model.UserProfileID });
            }

            using (new UnitOfWorkScope())
            {
                var userProfile = userProfileRepository.GetUserProfileByID(model.UserProfileID);

                if (userProfile == null)
                {
                    return HttpNotFound("The user you are looking for could not be found.");
                }

                SaveUser(userProfile, model);
                userProfileRepository.Save();

                if (model.NotifyUser)
                {
                    SendNotification(userProfile);
                }

                TempData["UserFeedback"] = string.Format("{0}'s password has been reset successfully.", userProfile.FullName);
                return RedirectToAction("Admin", "UserProfile", new { id = userProfile.UserProfileID });
            }
        }
        private void SaveUser(UserProfile userProfile, PasswordAdminModel model)
        {
            var user = userProfile.Users.FirstOrDefault();

            if (user != null)
            {
                user.Password = GrassrootsMembershipService.HashPassword(model.Password, null);
                user.ForcePasswordChange = model.ForcePasswordChange;
            }
            else
            {
                userProfile.Users.Add(new User
                                          {
                                              Username = userProfile.Email,
                                              Password =
                                                  GrassrootsMembershipService.HashPassword(model.Password, null),
                                              RegisterDate = DateTime.Now,
                                              LastLoggedIn = DateTime.Now,
                                              IsActive = true,
                                              IsAuthorized = true,
                                              ForcePasswordChange = model.ForcePasswordChange
                                          });
            }
        }