Exemplo n.º 1
0
        public ActionResult ResetPasswordRequest(ResetPasswordRequestViewModel resetPassword)
        {
            if (ModelState.IsValid)
            {
                string email   = resetPassword.Email;
                Member _member = rpMember.FindFirst(m => m.email == email);
                if (_member != null)
                {
                    string today = DateTime.Today.ToString();
                    string resetPasswordString    = _member.email + today;
                    string md5ResetPasswordHashed = Security.GenerateMd5("OMAR" + email.Length + resetPasswordString.Length + resetPasswordString);

                    //Save Reset Token to DB
                    _member.reset_token = md5ResetPasswordHashed;
                    rpMember.Edit(_member);


                    string resetPasswordUrl = Url.Action("ResetPassword", "Member", new { email = email, token = md5ResetPasswordHashed }, "http");

                    NotifyMember.ResetPassword(email, resetPasswordUrl);

                    return(View("Success", new MessageView()
                    {
                        Message = "An e-mail has been sent to " + email + " to recover the password."
                    }));
                }
                else
                {
                    ModelState.AddModelError("EmailNotFound", "Email is not registered.");
                }
            }
            return(View());
        }