public IEmail GetEmailBody(string senderEmail, string senderName, string authorId, string message)
        {
            IStaff_Item Author = null;
            Guid        id     = Guid.Empty;

            if (Guid.TryParse(authorId, out id))
            {
                Author = _.GlobalService.GetItem <IStaff_Item>(id);
            }

            var replacements = new Dictionary <string, string> {
                ["#Body_Content#"]   = _.HtmlEmailTemplateFactory.Create("EmailFriendAuthor")?.Html ?? string.Empty,
                ["#Footer_Content#"] = _.BaseEmailFactory
                                       .GetValue(_.GlobalService.GetItem <IEmail_Config>(Constants.ScripEmailConfig)?.Email_A_Friend_Footer_Content)
                                       .ReplacePatternCaseInsensitive("#SENDER_EMAIL#", senderEmail),
                ["#sender_name#"]      = senderName,
                ["#sender_email#"]     = senderEmail,
                ["#personal_message#"] = (!string.IsNullOrEmpty(message))
                    ? $"\"{message}\""
                    : string.Empty,
                ["#sender_name_message#"] = !string.IsNullOrEmpty(message)
                    ? _.TextTranslator.Translate("Search.Message").Replace("#SENDER_NAME#", senderName)
                    : string.Empty,
                ["#author_URL#"]     = _.AuthorService.ConvertAuthorToUrl(Author),
                ["#author_title#"]   = $"{ Author?.First_Name} { Author?.Last_Name}" ?? string.Empty,
                ["#author_summary#"] = Author?.ListableSummary ?? string.Empty
            };

            return(_.BaseEmailFactory.Create(replacements));
        }
Beispiel #2
0
 public static string ToAuthorName(IStaff_Item staffMember)
 {
     if (staffMember == null)
     {
         return(string.Empty);
     }
     return(string.Join(" ", staffMember.First_Name, staffMember.Last_Name).Trim());
 }
Beispiel #3
0
        public string ConvertAuthorToUrl(IStaff_Item s)
        {
            if (s == null)
            {
                return(string.Empty);
            }

            return(ConvertUrlNameToLink(GetUrlName(s._Id)));
        }
Beispiel #4
0
        public EmailAuthorPopOutViewModel(
            ITextTranslator textTranslator,
            IRenderingItemContext articleRenderingContext,
            IAuthenticatedUserContext userContext,
            IAuthorIndexClient authorIndexClient,
            IHttpContextProvider httpContext)
        {
            TextTranslator          = textTranslator;
            ArticleRenderingContext = articleRenderingContext;
            UserContext             = userContext;
            AuthorIndexClient       = authorIndexClient;
            HttpContext             = httpContext;

            Author = AuthorIndexClient.GetAuthorByUrlName(HttpContext.Current.Request.Url.Segments.Last());
        }
Beispiel #5
0
        public IStaff_Item GetCurrentAuthor()
        {
            if (_CurrentAuthor != null)
            {
                return(_CurrentAuthor);
            }

            var  nameFromUrl = _dependencies.HttpContextProvider.Current.Request.Url.Segments.Last();
            Guid?author      = _dependencies.AuthorIndexClient.GetAuthorIdByUrlName(nameFromUrl);

            if (author == null)
            {
                return(_CurrentAuthor);
            }

            _CurrentAuthor = _dependencies.SitecoreService.GetItem <IStaff_Item>(author.Value);
            return(_CurrentAuthor);
        }
Beispiel #6
0
 public string GetUrlName([NotNull] IStaff_Item authorItem)
 {
     return(ConvertAuthorNameToUrlName(authorItem._Name));
 }
Beispiel #7
0
 public void SetUp()
 {
     staffItem = Substitute.For <IStaff_Item>();
 }