public ActionResult ResetPasswordConfirmed(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ResetPassword res = _resetPasswordManager.Find(x => x.ResetGuid == id); if (res == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Session.Remove("ResId"); Session["ResId"] = res.Id; return(View()); }
public BusinessLayerResult <ApplicationUser> ForgatPassword(string email) { email = CultureInfo.CurrentCulture.TextInfo.ToLower(email).Trim().Replace(" ", string.Empty); BusinessLayerResult <ApplicationUser> res = new BusinessLayerResult <ApplicationUser>(); res.Result = _userManager.FindByEmail(email); if (res.Result == null) { res.AddError(ErrorMessageCode.UserCouldNotFind, "Kayıtlı e-posta bulunamadı."); return(res); } ResetPassword db_resetPassword = _resetPasswordManager.Find(x => x.ApplicationUserId == res.Result.Id && x.IsUsed == false); if (db_resetPassword != null) { res.AddError(ErrorMessageCode.UserCouldNotFind, "Lütfen eposta adresinizi kontrol ediniz. Böyle bir istekte daha önceden bulunulmuş."); return(res); } ResetPassword rp = new ResetPassword() { IsUsed = false, ApplicationUserId = res.Result.Id, ResetGuid = Guid.NewGuid() }; int dbResult = _resetPasswordManager.Insert(rp); if (dbResult > 0) { string siteUri = ConfigHelper.Get <string>("SiteRootUri"); string resetUrl = $"{siteUri}/Account/ResetPasswordConfirmed/{rp.ResetGuid}"; string body = $"Merhaba {res.Result.UserName}; <br>Şifrenizi değiştirme için <a href='{resetUrl}' target='_blank'>tıklayınız.</a>"; MailHelper.SendMail(body, res.Result.Email, "Şifre değiştirme"); } else { res.AddError(ErrorMessageCode.UserCouldNotFind, "Hata Oluştu."); } return(res); }