public ArticleResult GetArticleResult(ArticleId articleId, DateTime?revisionDate = null) { if (articleId == null) { throw new ArgumentNullException("articleId"); } ArticleRedirect articleRedirect = null; var article = this.CurrentSession.Include <Article>(x => x.ActiveRevisionId).Load(articleId.Id); if (article == null) { articleRedirect = this.GetArticleRedirect(articleId); if (articleRedirect != null) { article = this.GetArticle(articleRedirect.RedirectToArticleSlug); } } string articleRevisionId = revisionDate.HasValue ? IdUtility.CreateArticleRevisionId(articleId, revisionDate.Value) : ((article != null) ? article.ActiveRevisionId : null); var articleRevision = this.GetArticleRevision(articleRevisionId); return(new ArticleResult(article, articleRevision, articleRedirect)); }
public ArticleRevision GetArticleRevision(ArticleId articleId, ArticleRevisionDate revisionDate) { string id = (articleId != null) ? articleId.Id : null; string articleRevisionId = IdUtility.CreateArticleRevisionId(id, revisionDate); return(this.GetArticleRevision(articleRevisionId)); }