public ViewCommentsViewModel(ArticleModel article) { this.Article = article; this.Comments = CommentModel.FromArticle(article); if (this.Article.CachedCommentCount > 1) this.DiscourseNextUnreadCommentUrl = this.Article.DiscourseThreadUrl + "/" + this.Article.CachedCommentCount; else this.DiscourseNextUnreadCommentUrl = this.Article.DiscourseThreadUrl; }
public static IEnumerable<CommentModel> GetFeaturedCommentsForArticle(ArticleModel article) { if (article.DiscourseTopicId != null) { var comments = DiscourseHelper.GetFeaturedCommentsForArticle((int)article.Id); return comments.Select(c => CommentModel.FromDiscourse(c)); } return new CommentModel[0]; }
private string FormatOutput(ArticleModel article, bool onlyBodyAndAdHtml) { Response.ContentType = "application/json"; try { if (onlyBodyAndAdHtml) { JObject data = new JObject(); data["BodyHtml"] = article.BodyHtml; data["FooterAdHtml"] = article.FooterAdHtml; data["Status"] = "OK"; return JsonConvert.SerializeObject(data); } else { article.BodyAndAdHtml = ""; return JsonConvert.SerializeObject(article); } } catch (JsonException je) { return ErrorStatus("JSON Serialization Error : " + je.Message); } }
public ArticleItemViewModel(ArticleModel article) { this.Article = article; this.DisplayAuthorLink = true; }
public static ArticleModel FromTable(Tables.Articles_Extended article) { var model = new ArticleModel() { Id = article.Article_Id, Slug = article.Article_Slug, Author = AuthorModel.FromTable(article), BodyHtml = article.Body_Html, BodyAndAdHtml = article.BodyAndAd_Html, DiscourseCommentCount = (int)article.Cached_Comment_Count, CachedCommentCount = (int)article.Cached_Comment_Count, DiscourseTopicId = article.Discourse_Topic_Id, DiscourseTopicOpened = article.Discourse_Topic_Opened == "Y", LastCommentDate = article.Last_Comment_Date, PublishedDate = article.Published_Date, Series = SeriesModel.FromTable(article), FooterAdHtml = article.Ad_Html, Status = article.PublishedStatus_Name, SummaryHtml = ArticleModel.ExtractSummary(article.Body_Html), Title = article.Title_Text, PreviousArticleId = article.Previous_Article_Id, PreviousArticleSlug = article.Previous_Article_Slug, PreviousArticleTitle = article.Previous_Title_Text, NextArticleId = article.Next_Article_Id, NextArticleSlug = article.Next_Article_Slug, NextArticleTitle = article.Next_Title_Text }; if (article.Discourse_Topic_Id != null) { var topic = DiscourseHelper.GetDiscussionTopic((int)article.Discourse_Topic_Id); model.LastCommentDate = topic.LastPostedAt; model.DiscourseCommentCount = topic.PostsCount; model.DiscourseTopicSlug = topic.Slug; } return model; }
public static IEnumerable<CommentModel> FromArticle(ArticleModel article) { var comments = StoredProcs.Comments_GetComments(article.Id).Execute(); return comments.Select(c => CommentModel.FromTable(c)); }
public static IEnumerable <ArticleModel> GetRecentArticlesByAuthor(string slug, int?articleCount = 8) { var articles = DB.Articles_GetRecentArticles(Domains.PublishedStatus.Published, Author_Slug: slug, Article_Count: articleCount); return(articles.Select(a => ArticleModel.FromTable(a))); }
public static IEnumerable <ArticleModel> GetUnpublishedArticles(string authorSlug = null) { var articles = DB.Articles_GetUnpublishedArticles(authorSlug); return(articles.Select(a => ArticleModel.FromTable(a))); }
public static IEnumerable <ArticleModel> GetRecentArticles(int count) { var articles = DB.Articles_GetRecentArticles(Domains.PublishedStatus.Published, Article_Count: count); return(articles.Select(a => ArticleModel.FromTable(a))); }
public static IEnumerable <ArticleModel> GetAllArticlesBySeries(string series) { var articles = DB.Articles_GetArticles(series, Domains.PublishedStatus.Published, null, null); return(articles.Select(a => ArticleModel.FromTable(a))); }
public static ArticleModel GetRandomArticle() { var article = StoredProcs.Articles_GetRandomArticle().Execute(); return(ArticleModel.FromTable(article)); }
public static IEnumerable <ArticleModel> GetRecentArticlesBySeries(string slug, int?articleCount = 8) { var articles = StoredProcs.Articles_GetRecentArticles(Domains.PublishedStatus.Published, Series_Slug: slug, Article_Count: articleCount).Execute(); return(articles.Select(a => ArticleModel.FromTable(a))); }
public ViewArticleViewModel(ArticleModel article) { this.Slug = article.Slug; this.Article = article; }