Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
        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];
        }
Ejemplo n.º 3
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);
     }
 }
Ejemplo n.º 4
0
 public ArticleItemViewModel(ArticleModel article)
 {
     this.Article = article;
     this.DisplayAuthorLink = true;
 }
Ejemplo n.º 5
0
        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;
        }
Ejemplo n.º 6
0
 public static IEnumerable<CommentModel> FromArticle(ArticleModel article)
 {
     var comments = StoredProcs.Comments_GetComments(article.Id).Execute();
     return comments.Select(c => CommentModel.FromTable(c));
 }
Ejemplo n.º 7
0
        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)));
        }
Ejemplo n.º 8
0
        public static IEnumerable <ArticleModel> GetUnpublishedArticles(string authorSlug = null)
        {
            var articles = DB.Articles_GetUnpublishedArticles(authorSlug);

            return(articles.Select(a => ArticleModel.FromTable(a)));
        }
Ejemplo n.º 9
0
        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)));
        }
Ejemplo n.º 10
0
        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)));
        }
Ejemplo n.º 11
0
        public static ArticleModel GetRandomArticle()
        {
            var article = StoredProcs.Articles_GetRandomArticle().Execute();

            return(ArticleModel.FromTable(article));
        }
Ejemplo n.º 12
0
        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)));
        }
Ejemplo n.º 13
0
 public ViewArticleViewModel(ArticleModel article)
 {
     this.Slug = article.Slug;
     this.Article = article;
 }