예제 #1
0
        // POST: Account/ChangePassword/AccountName
        public ActionResult ChangePassword(ChangePasswordViewModel ViewModel)
        {
            // Check if POST action was done by currently logged user
            string LoggedUserName = User.Identity.GetUserName();

            if (db.Account.Where(x => x.AccountName == ViewModel.AccountName && x.AccountName == LoggedUserName).Count() > 0)
            {
                // Check if action was properly confirmed by password.
                if (db.Account.Where(x => x.AccountName == ViewModel.AccountName && x.Password == ViewModel.OldPassword).Count() > 0)
                {
                    // Check if new password was properly confirmed.
                    if (ViewModel.NewPassword == ViewModel.ConfirmPassword)
                    {
                        // Find the record and change its password
                        Account ModifiedAccount = db.Account.FirstOrDefault(x => x.AccountName == ViewModel.AccountName);
                        ModifiedAccount.Password = ViewModel.NewPassword;
                        db.SaveChanges();
                    }
                    // At the end of the function go to Account/Details/CurrentUser.AccountName.
                    return RedirectToAction("Details", "Account", new { AccountName = ViewModel.AccountName });
                }
                else
                    return RedirectToAction("WrongPassword", "Account");
            }
            // If post was done by not logged user redirect to: /Account/Details/ViewModel.AccountName
            else
                return RedirectToAction("Details", "Account", new { AccountName = ViewModel.AccountName });
        }
예제 #2
0
 // GET: Account/ChangePassword/AccountName
 public ActionResult ChangePassword(string AccountName)
 {
     ChangePasswordViewModel PasswordChange = new ChangePasswordViewModel();
     // Check if currently logged user is the same as the one whose data is being edited
     if (User.Identity.GetUserName()== AccountName)
     {
         PasswordChange.AccountName = AccountName;
         return View(PasswordChange);
     }
     else
         return RedirectToAction("Details", "Account", new { AccountName = AccountName });
 }