protected void rptThreads_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.DataItem != null) { if (e.Item.DataItem is ThreadModel) { ThreadModel item = (ThreadModel)e.Item.DataItem; Item thread = null; HiddenField hdFrmID = (HiddenField)e.Item.FindControl("forumId"); HiddenField hdThID = (HiddenField)e.Item.FindControl("threadId"); string forumId = String.Empty; string threadId = String.Empty; if (hdFrmID != null && hdThID != null) { forumId = hdFrmID.Value; threadId = hdThID.Value; thread = Threads.ConvertThreadtoSitecoreItem(forumId, threadId); //Sitecore.Context.Database.SelectSingleItem("fast:/sitecore/content/Home//*[@Subject = '" + subject + "']"); // ID = thread.ID.ToString(); } HtmlAnchor hrefDiscussions = (HtmlAnchor)e.Item.FindControl("hrefDiscussion"); if (hrefDiscussions != null) { if (thread != null) { hrefDiscussions.HRef = LinkManager.GetItemUrl(thread); } } HtmlAnchor hrefLastPostUser = (HtmlAnchor)e.Item.FindControl("hrefLastPostUser"); if (hrefLastPostUser != null) { if (thread != null) { hrefLastPostUser.HRef = MembershipHelper.GetPublicProfileUrl(item.LastPostUser); } } Literal litDiscussionLabel = (Literal)e.Item.FindControl("litDiscussionLabel"); if (litDiscussionLabel != null) { litDiscussionLabel.Text = DictionaryConstants.DiscussionLabel; } Literal litRepliesLabel = (Literal)e.Item.FindControl("litRepliesLabel"); if (litRepliesLabel != null) { litRepliesLabel.Text = DictionaryConstants.RepliesLabel; } Literal litLatestPostLabel = (Literal)e.Item.FindControl("litLatestPostLabel"); if (litLatestPostLabel != null) { litLatestPostLabel.Text = DictionaryConstants.LatestPostLabel; } } } }
protected void rptMyGroups_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item != null) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { GroupCardModel thisItem = ((GroupCardModel)e.Item.DataItem); ThreadModel recentThread = null; GroupJoinButton joinBtn = e.FindControlAs <GroupJoinButton>("btnJoin"); if (joinBtn != null) { var id = thisItem.GroupID; joinBtn.LoadState(id); } Literal litReplies = e.FindControlAs <Literal>("litRepliesLabel"); if (litReplies != null) { litReplies.Text = DictionaryConstants.RepliesLabel; } Literal litPostedByLabel = e.FindControlAs <Literal>("litPostedByLabel"); if (litPostedByLabel != null) { litPostedByLabel.Text = DictionaryConstants.PostedByLabel; } HyperLink hrefGroImageLink = e.FindControlAs <HyperLink>("hrefGroupImageLink"); if (hrefGroImageLink != null) { hrefGroImageLink.NavigateUrl = thisItem.GrpItem.GetUrl(); } Image imgGrpImage = e.FindControlAs <Image>("imgGroupImage"); if (imgGrpImage != null) { imgGrpImage.ImageUrl = thisItem.ModeratorAvatarUrl ?? "http://placehold.it/190x107"; } if (thisItem.Forums.Count > 0 && thisItem.Forums != null) { var recentThreadlist = (thisItem.Forums .Where(f => f.Threads.Count > 0 && f.Threads != null) .Select(x => x.Threads.Where(thread => thread != null) .OrderByDescending(t => t.LastPostDate)).FirstOrDefault()); if (recentThreadlist != null) { recentThread = recentThreadlist.FirstOrDefault <ThreadModel>(); } if (recentThread != null) { HyperLink hrefDiscussionLink = e.FindControlAs <HyperLink>("hrefDiscussionLink"); if (hrefDiscussionLink != null) { var threadItem = Threads.ConvertThreadtoSitecoreItem(recentThread.ForumID, recentThread.ThreadID); if (threadItem != null) { hrefDiscussionLink.NavigateUrl = threadItem.GetUrl(); } } Literal litDiscussionExcerpt = e.FindControlAs <Literal>("litDiscussionExcerpt"); if (litDiscussionExcerpt != null) { litDiscussionExcerpt.Text = recentThread.Subject; } Literal litNumReplies = e.FindControlAs <Literal>("litNumReplies"); if (litNumReplies != null) { litNumReplies.Text = recentThread.ReplyCount; } Literal litPostUserName = e.FindControlAs <Literal>("litPostUserName"); if (litPostUserName != null) { litPostUserName.Text = recentThread.LastPostUser; } HyperLink hrefPostUser = e.FindControlAs <HyperLink>("hrefPostUser"); if (hrefPostUser != null) { hrefPostUser.NavigateUrl = MembershipHelper.GetPublicProfileUrl(recentThread.LastPostUser); } Literal litPostTime = e.FindControlAs <Literal>("litPostTime"); if (litPostTime != null) { litPostTime.Text = recentThread.LastPostTime; } } } } } }