public async Task AddForgotPasswordTokenAsync(ForgotPasswordToken token)
        {
            var entity = _mapper.Map <Entities.ForgotPasswordToken>(token);

            DbContext.ForgotPasswordTokens.Add(entity);
            await DbContext.SaveChangesAsync();
        }
示例#2
0
        public HttpResponseMessage GetPasswordResetToken(ForgotPassword model)
        {
            var user  = UserManager.FindByEmail(model.Email);
            var token = UserManager.GeneratePasswordResetTokenAsync(user.UserId).Result;
            ForgotPasswordToken passwordToken = new ForgotPasswordToken();

            passwordToken.UserId = user.UserId;
            passwordToken.Token  = token;
            return(Request.CreateResponse(HttpStatusCode.OK, passwordToken));
        }
        public ActionResult ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                string myGuid = Guid.NewGuid().ToString();
                var    user   = _serviceManager.GetUserByEmail(model.Email);
                if (user != null)
                {
                    ForgotPasswordToken tokenObject = new ForgotPasswordToken {
                        Token = myGuid, UserId = user.Id, RequestDateTime = DateTime.Now
                    };
                    var tokenEntry = _serviceManager.AddForgotPasswordToken(tokenObject);
                    if (tokenEntry != null)
                    {
                        //send Email
                        try
                        {
                            MailMessage PassRecMail = new MailMessage("*****@*****.**", user.Email);
                            string      Username    = user.Name;
                            string      EmailBody   = "Hi " + Username + ",<br/><br/> Click the link below to reset your password <br/><br/> http://localhost:60335/Account/ResetPassword?token=" + myGuid;
                            PassRecMail.Body       = EmailBody;
                            PassRecMail.IsBodyHtml = true;
                            PassRecMail.Subject    = "Reset Password";


                            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
                            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

                            smtp.Credentials = new NetworkCredential()
                            {
                                UserName = "******",
                                Password = "******"
                            };

                            smtp.EnableSsl = true;
                            smtp.Send(PassRecMail);
                        }
                        catch (Exception ex)
                        {
                            MyLogger.GetInstance().Error(ex.Message);
                        }
                    }
                }
                ModelState.Clear();
                model.EmailSent = true;
            }
            return(View(model));
        }
        public ActionResult ForgotPassword(FormCollection form)
        {
            Utility.Utilities utilities = new Utility.Utilities();

            ViewBag.IsSuccess    = null;
            ViewBag.ErrorMessage = null;

            //get new guid
            Guid guid = Guid.NewGuid();

            var username_parameter = form["txtusername"].ToString();

            var user = _context.Users.Include(x => x.Role).SingleOrDefault(x => x.UserName == username_parameter || x.Email == username_parameter);

            //var error_ = false;

            if (user != null)
            {
                //if (user.Password != Request["ConfirmPassword"])
                //{
                //    ViewBag.ErrorMessage += "Password and Confirm Password did not match!"; error_ = true;
                //}
                //if (!error_)
                //{
                //add new forgotpassword token
                var forgotpassword = new ForgotPasswordToken
                {
                    Unique_Guid = guid.ToString(),
                    Email       = user.Email,
                    CreatedDate = System.DateTime.Now
                };
                _context.ForgotPasswordTokens.Add(forgotpassword);
                _context.SaveChanges();

                //send email link
                var success = utilities.SendForgotPasswordEmail(guid.ToString(), System.Configuration.ConfigurationManager.AppSettings["supportemail"], user.Email, user.UserName);

                ViewBag.IsSuccess = "Success";
                //}
            }
            else
            {
                ViewBag.ErrorMessage = "User not found.";
            }

            return(View("../ForgotPassword"));
        }
示例#5
0
        public ForgotPasswordToken AddForgotPasswordToken(ForgotPasswordToken tokenObject)
        {
            try
            {
                if (tokenObject != null)
                {
                    _dbContext.forgotPasswordTokens.Add(tokenObject);
                    _dbContext.SaveChanges();

                    return(tokenObject);
                }
                return(null);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
示例#6
0
 public ForgotPasswordToken DeleteToken(ForgotPasswordToken userTokenObject)
 {
     _dbContext.forgotPasswordTokens.Remove(userTokenObject);
     return(userTokenObject);
 }
示例#7
0
 public ForgotPasswordToken DeleteToken(ForgotPasswordToken userTokenObject)
 {
     return(_serviceRepository.DeleteToken(userTokenObject));
 }
示例#8
0
 public ForgotPasswordToken AddForgotPasswordToken(ForgotPasswordToken tokenObject)
 {
     return(_serviceRepository.AddForgotPasswordToken(tokenObject));
 }