コード例 #1
0
 public UserResetPassword Create(IUserResetPassword userResetPassword)
 {
     return(new UserResetPassword
     {
         Expiration = userResetPassword.Expiration,
         Token = userResetPassword.Token,
         Username = userResetPassword.Username
     });
 }
コード例 #2
0
        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));
        }
コード例 #3
0
        public static bool IsValid(this IUserResetPassword source)
        {
            if (source == null)
            {
                return(false);
            }

            return(source.Expiration > DateTime.Now);
        }
コード例 #4
0
        public void Process(IUserResetPassword userResetPassword)
        {
            var email = EmailFactory.Create(userResetPassword);

            if (email != null)
            {
                EmailSender.Send(email);
            }
        }
コード例 #5
0
        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);
        }
コード例 #6
0
        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);
                }
            }
        }