// Shows all contributions a user made to articles public void DisplayAccountInformation() { // Creates UserAccount object var activeUser = Session[Global.ActiveUserAccount] as UserAccount; lblGreeting.Text = string.Format("Account details for: <b>{0}</b>", activeUser.Username); // Retrieves links to articles that have ever changed var userArticleEdits = from edit in MovieWikiDbHelper.AllWikiArticleEditHistories join article in MovieWikiDbHelper.AllWikiArticles on edit.ArticleId equals article.ArticleId where edit.AccountId == activeUser.AccountId orderby edit.EditTimestamp descending select new { Article = article, Edit = edit }; lblArticleEdits.Visible = userArticleEdits.Count() > 0; // creates links to articles related to UserAccount foreach (var userArticleEdit in userArticleEdits) { var hyperLinkText = userArticleEdit.Article.Title; var timeStampLabel = new Label { Text = string.Format(" {0}, {1}", userArticleEdit.Edit.EditTimestamp.ToShortDateString(), userArticleEdit.Edit.EditTimestamp.ToLongTimeString()) }; var hyperLink = WebControlBuilder.BuildHyperLink(hyperLinkText, string.Format(Global.ShowArticleUrlWithId, userArticleEdit.Article.ArticleId)); pUserEdits.Controls.Add(hyperLink); pUserEdits.Controls.Add(timeStampLabel); pUserEdits.Controls.Add(new LiteralControl("<br />")); } }
// Shows at most 10 recent articles created on MovieWiki private void DisplayRecentArticles() { // retrieves last 10 articles created var recentArticles = (from edit in MovieWikiDbHelper.AllWikiArticleEditHistories join article in MovieWikiDbHelper.AllWikiArticles on edit.ArticleId equals article.ArticleId orderby edit.EditTimestamp descending select article).Distinct().Take(10); int result = recentArticles.Count(); // Formats modal to display recent article informaiton lblRecentEdits.Text = recentArticles.Count() > 0 ? result + " articles most recently contributed to:" : "No articles were created yet"; foreach (var recentArticle in recentArticles) { var hyperLinkText = recentArticle.Title; var hyperLink = WebControlBuilder.BuildHyperLink(hyperLinkText, string.Format(Global.ShowArticleUrlWithId, recentArticle.ArticleId)); pUserEditsRecent.Controls.Add(hyperLink); pUserEditsRecent.Controls.Add(new LiteralControl("<br />")); } }