public WikiArticleViewModel( RequestContext requestContext, ArticleId articleId, ArticleRevisionDate articleRevisionDate = null, bool shouldRedirect = false) : base(requestContext, articleId, articleRevisionDate, HeaderTab.Article) { this.ShouldRedirect = shouldRedirect; this.HtmlContent = new HtmlString(string.Empty); this.ArticleTags = EmptyCollection; var articleResult = CurrentRepository.GetArticleResult(articleId, articleRevisionDate); this.ArticleRedirectFrom = articleResult.ArticleRedirectFromSlug; this.ArticleRedirectTo = articleResult.ArticleRedirectToSlug; if (articleResult.HasRedirect && !shouldRedirect) { return; } this.ArticleTags = (articleResult.HasArticle && articleResult.Article.Tags != null) ? articleResult.Article.Tags.ToList() : this.ArticleTags; this.DisplayArticleId = articleResult.HasArticle ? articleResult.Article.Id : this.DisplayArticleId; if (!articleResult.HasArticle || articleResult.ArticleRevision == null) { return; } this.HasArticle = true; this.HtmlContent = new WikiDownArticleHtmlString(articleResult, this.CurrentRepository); }