Example #1
0
        public ActionResult ResetPassword(ResetPasswordVM model)
        {
            var message = "";

            if (ModelState.IsValid)
            {
                using (DotrADb db = new DotrADb())
                {
                    var user = db.Members.Where(x => x.ResetPasswordCode == model.ResetCode).FirstOrDefault();
                    if (user != null)
                    {
                        var keyNew = hash.GeneratePassword(10);
                        user.HashCode = keyNew;
                        var password = hash.EncodePassword(model.NewPassword, keyNew);
                        user.Password = password;

                        user.ResetPasswordCode = "";
                        db.Configuration.ValidateOnSaveEnabled = false;
                        db.SaveChanges();
                        message = "新密碼已成功更新. New password updated successfully.";
                    }
                }
            }
            else
            {
                message = "無效的操作. Something invalid.";
            }
            ViewBag.Message = message;
            return(View());
        }