public static ArticleSlugStatus FromArticle(Article article) { if (article == null) { throw new ArgumentNullException("article"); } return new ArticleSlugStatus { ArticleSlug = article.Slug }; }
public ArticlePage( ArticleSlug articleSlug, Article article, ArticleRevision articleRevision = null, ArticleRedirect articleRedirect = null) : base(articleSlug, article, articleRevision, articleRedirect) { this.PopulateArticleRevision(articleRevision); }
public ArticlePageBase( ArticleSlug articleSlug, Article article, ArticleRevision articleRevision = null, ArticleRedirect articleRedirect = null) { this.ArticleSlug = articleSlug; PopulateArticle(article); PopulateArticleRevision(articleRevision); PopulateArticleRedirect(articleRedirect); this.ArticleAccess = this.ArticleAccess ?? ArticleAccess.Default(); this.ArticleSlug = this.ArticleSlug ?? ArticleSlug.Empty; this.ArticleTags = this.ArticleTags ?? Enumerable.Empty<string>(); this.ArticleRevisionDate = this.ArticleRevisionDate ?? ArticleRevisionDate.Empty; this.RedirectedFromArticleSlug = this.RedirectedFromArticleSlug ?? ArticleSlug.Empty; this.ArticleRevisionOutboundArticleSlugs = this.ArticleRevisionOutboundArticleSlugs ?? Enumerable.Empty<string>(); }
public static ArticleSlugStatus FromCapitalized(ArticleSlug articleSlug, Article capitalizedArticle) { if (articleSlug == null) { throw new ArgumentNullException("articleSlug"); } if (capitalizedArticle == null) { throw new ArgumentNullException("capitalizedArticle"); } return new ArticleSlugStatus { ArticleSlug = capitalizedArticle.Slug, ArticleSlugCapitalized = articleSlug }; }
private Article GetOrCreateArticle( ArticleSlug articleSlug, ArticleAccessType accessType = ArticleAccessType.CanRead) { var article = this.TryGetArticle(articleSlug, accessType); if (article == null) { article = new Article(articleSlug); this.CurrentSession.Store(article); } return article; }
public Article SaveArticle(Article article) { if (article == null) { throw new ArgumentNullException("article"); } bool articleExists = !string.IsNullOrWhiteSpace(article.Id); if (articleExists) { return article; } var articleSlugStatus = this.GetArticleSlugStatus(article.Slug); if (articleSlugStatus.HasAnySlug) { throw new ArticleSlugConflictException(article.Slug); } this.CurrentSession.Store(article); return article; }
private void PopulateArticle(Article article) { if (article == null) { return; } this.ActiveArticleRevisionId = article.ActiveArticleRevisionId; this.ArticleAccess = article.ArticleAccess; this.ArticleId = article.Id; this.ArticleSlug = article.Slug; this.ArticleTags = article.Tags; }