public UserResetPassword Create(IUserResetPassword userResetPassword) { return(new UserResetPassword { Expiration = userResetPassword.Expiration, Token = userResetPassword.Token, Username = userResetPassword.Username }); }
public string Create(IUserResetPassword userResetPassword) { var siteRootContext = SitecoreContext?.GetRootItem <ISite_Root>(); var item = SitecoreContext.GetItem <I___BasePage>(siteRootContext.Reset_Password_Page); var resetPasswordUrl = item?._AbsoluteUrl ?? string.Empty; return(string.Format("{0}?{1}={2}", resetPasswordUrl, Configuration.Parameter, userResetPassword.Token)); }
public static bool IsValid(this IUserResetPassword source) { if (source == null) { return(false); } return(source.Expiration > DateTime.Now); }
public void Process(IUserResetPassword userResetPassword) { var email = EmailFactory.Create(userResetPassword); if (email != null) { EmailSender.Send(email); } }
public IEmail Create(IUserResetPassword userResetPassword) { var siteRootContext = SitecoreContext?.GetRootItem <ISite_Root>(); if (userResetPassword == null) { return(null); } var htmlEmailTemplate = HtmlEmailTemplateFactory.Create("ResetPassword"); if (htmlEmailTemplate == null) { return(null); } var email = EmailFactory.Create(); var siteRoot = siteRootContext; var resetPasswordHtml = htmlEmailTemplate.Html; var userProfile = FindUserProfile.Find(userResetPassword.Username); var emailTo = userResetPassword.Username; var resetPasswordReplacements = new Dictionary <string, string>(); resetPasswordReplacements["#Reset_Link_URL#"] = UrlFactory.Create(userResetPassword); resetPasswordReplacements["#Reset_Link_Text#"] = GetValue(siteRoot?.Reset_Password_Email_Link_Text, TextTranslator.Translate("Authentication.ResetPassword.Email.ResetLink")); resetPasswordReplacements["#Body_Content#"] = GetValue(siteRoot?.Reset_Password_Email_Body); resetPasswordReplacements["#Support_Text#"] = GetValue(siteRoot?.Customer_Support_Text); resetPasswordHtml = resetPasswordHtml.ReplacePatternCaseInsensitive(resetPasswordReplacements); var baseReplacements = new Dictionary <string, string>(); baseReplacements["#Body_Content#"] = resetPasswordHtml; baseReplacements["#Email#"] = emailTo; baseReplacements["#Envrionment#"] = SiteSettings.GetSetting("Env.Value", string.Empty); baseReplacements["#Page_Type#"] = "reset-password-email-in-inbox"; if (userProfile != null) { baseReplacements["#First_Name#"] = userProfile.FirstName; baseReplacements["#Last_Name#"] = userProfile.LastName; baseReplacements["#UserName#"] = userProfile.Email; } email.Body = email.Body.ReplacePatternCaseInsensitive(baseReplacements); email.To = emailTo; email.Subject = GetValue(siteRoot?.Reset_Password_Email_Subject); return(email); }
public bool Store(IUserResetPassword userResetPassword) { using (var context = UserResetPasswordContext.Create()) { var record = UserResetPasswordFactory.Create(userResetPassword); context.UserResetPasswords.Add(record); try { context.SaveChanges(); return(true); } catch (Exception ex) { return(false); } } }