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 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 ActionResult Logo()
        {
            var siteRoot = _scContext.GetRootItem <ILogo>();

            if (siteRoot == null)
            {
                throw new ItemNotFoundException("Site Root Not Found");
            }

            var model = new LogoViewModel
            {
                LogoImage = _builder.BuildImage(siteRoot, item => item.Logo).ToString(),
                HomeUrl   = "/"
            };

            return(this.React("Logo", model));
        }
예제 #4
0
        public IEmail Create(Dictionary <string, string> replacements)
        {
            var siteRootContext = SitecoreContext?.GetRootItem <ISite_Root>();

            var htmlEmailTemplate = HtmlEmailTemplateFactory.Create("_BaseEmail");

            if (htmlEmailTemplate == null)
            {
                return(null);
            }

            var siteRoot  = siteRootContext;
            var emailHtml = htmlEmailTemplate.Html;

            replacements.SetValue("#Environment#", SiteSettings.GetSetting("Env.Value", string.Empty));
            replacements.SetValue("#Logo_URL#", (siteRoot?.Email_Logo != null)
                    ? GetMediaURL(siteRoot.Email_Logo.MediaId.ToString())
                    : string.Empty);
            replacements.SetValue("#Date#", DateTime.Now.ToString("dddd, d MMMM yyyy"));
            replacements.SetValue("#RSS_Link_URL#", siteRoot?.RSS_Link.GetLink());
            replacements.SetValue("#RssLogo#", (siteRoot?.RSS_Logo != null)
                    ? GetMediaURL(siteRoot.RSS_Logo.MediaId.ToString())
                    : string.Empty);
            replacements.SetValue("#LinkedIn_Link_URL#", siteRoot?.LinkedIn_Link.GetLink());
            replacements.SetValue("#LinkedinLogo#", (siteRoot?.Linkedin_Logo != null)
                    ? GetMediaURL(siteRoot.Linkedin_Logo.MediaId.ToString())
                    : string.Empty);
            replacements.SetValue("#Twitter_Link_URL#", siteRoot?.Twitter_Link.GetLink());
            replacements.SetValue("#TwitterLogo#", (siteRoot?.Twitter_Logo != null)
                    ? GetMediaURL(siteRoot.Twitter_Logo.MediaId.ToString())
                    : string.Empty);
            replacements.SetValue("#Footer_Content#", GetValue(siteRoot?.Email_Footer));

            emailHtml = emailHtml.ReplacePatternCaseInsensitive(replacements);

            var email     = EmailFactory.Create();
            var emailFrom = GetValue(siteRoot?.Email_From_Address);

            email.From       = emailFrom;
            email.Body       = emailHtml;
            email.IsBodyHtml = true;

            return(email);
        }
 public T GetRootItem <T>(bool isLazy = false, bool inferType = false) where T : class
 {
     return(_sitecoreContext.GetRootItem <T>(isLazy, inferType));
 }
예제 #6
0
 public T GetRootItem<T>() where T : class
 {
     return _sitecoreContext.GetRootItem<T>();
 }