private ArticlePartialViewModel CreateArticlePartialViewModel(Article article, bool renderTitleAsLink) { var permalinkUrl = _urlGenerator.GeneratePermalinkUrl(article.Id); var encodedPermalinkUrl = _urlEncoder.EncodeUrl(permalinkUrl); return new ArticlePartialViewModel { Id = article.Id, Author = article.Author, Content = article.Content, Title = article.Title, PermalinkUrl = permalinkUrl, EditArticleUrl = string.Format(_appConfig.EditArticleUrlFormat, article.Id), UserFriendlyPublishDateTime = article.PublishDateTime.ToString(_appConfig.DateTimeFormat), ValidHtml5TPublishDateTime = article.PublishDateTime.ToString(_appConfig.HtmlDateTimeFormat), TwitterShareUrl = string.Format(_appConfig.TwitterShareUrlFormat, encodedPermalinkUrl), GooglePlusShareUrl = string.Format(_appConfig.GooglePlusShareUrlFormat, encodedPermalinkUrl), FacebookShareUrl = string.Format(_appConfig.FacebookShareUrlFormat, encodedPermalinkUrl), YammerShareUrl = string.Format(_appConfig.YammerShareUrlFormat, encodedPermalinkUrl), LinkedInShareUrl = string.Format(_appConfig.LinkedInShareUrlFormat, encodedPermalinkUrl, article.Title), WhatsAppShareUrl = string.Format(_appConfig.WhatsAppShareUrlFormat, article.Title, encodedPermalinkUrl), RenderTitleAsLink = renderTitleAsLink, HasTags = article.Tags != null && article.Tags.Any(), Tags = article.Tags }; }
public static void Match(Article expectedArticle, Article actualArticle) { Assert.AreEqual(expectedArticle.Id, actualArticle.Id); Assert.AreEqual(expectedArticle.Author, actualArticle.Author); Assert.AreEqual(expectedArticle.Title, actualArticle.Title); Assert.AreEqual(expectedArticle.PublishDateTime, actualArticle.PublishDateTime); CollectionAssert.AreEqual(expectedArticle.Tags, actualArticle.Tags); Assert.AreEqual(expectedArticle.Content, actualArticle.Content); }
public SyndicationItem ConvertToFeedItem(Article article, string permalinkUrl) { var item = new SyndicationItem( article.Title, new TextSyndicationContent(article.Content, TextSyndicationContentKind.Html), new Uri(permalinkUrl), article.Id, article.PublishDateTime) { PublishDate = article.PublishDateTime }; if (article.Tags == null || !article.Tags.Any()) return item; foreach (var tag in article.Tags) { item.Categories.Add(new SyndicationCategory(tag)); } return item; }
public ArticleViewModel CreateArticleViewModel(Article article) { var partialViewModel = CreateArticlePartialViewModel(article, false); return new ArticleViewModel(partialViewModel); }