protected List <BlogPost> InitContent()
        {
            BlogPageItem    blogPage   = Sitecore.Context.Item;
            string          blogId     = blogPage.BlogId;
            List <BlogPost> dataSource = TelligentService.ListBlogPosts(blogId, "100");

            foreach (var item in dataSource)
            {
                BlogsPostPageItem blogPost;
                if (item.Title.Contains("{"))
                {
                    string[] s = item.Title.Split('{');
                    item.Title = s[0];
                    blogPost   = Sitecore.Context.Database.GetItem("{" + s[1]);
                }
                else
                {
                    blogPost = Sitecore.Context.Database.GetItem("/Sitecore/Content/Home/Community and Events/Blogs/" + item.BlogName + "/" + item.Title);
                }
                BlogsAuthorPageItem author = Sitecore.Context.Database.GetItem(blogPost.Author.Raw);
                item.Author    = author.Name;
                item.Body      = TelligentService.FormatString100(Sitecore.StringUtil.RemoveTags(blogPost.Body.Raw));
                item.AuthorUrl = LinkManager.GetItemUrl(author);
            }
            return(dataSource);
        }
Пример #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            lnkSeeAll.NavigateUrl = LinkManager.GetItemUrl(Sitecore.Context.Database.GetItem("{F349C92A-9781-4342-A05A-5A793630D7DB}"));
            List <Question> dataSource = null;

            if (IsUserLoggedIn && !String.IsNullOrEmpty(CurrentMember.ScreenName))
            {
                dataSource = Questions.FindQuestions(CurrentMember)
                             .Where(question => question != null)
                             .OrderByDescending(question => int.Parse(question.CommentCount))
                             .ThenByDescending(question => Convert.ToDateTime(question.Date))
                             .Take(6)
                             .ToList <Question>();
            }
            else
            {
                dataSource = Questions.RecentQuestions(6)
                             .Where(question => question != null)
                             .OrderByDescending(question => int.Parse(question.CommentCount))
                             .ThenByDescending(question => Convert.ToDateTime(question.Date))
                             .ToList <Question>();        //TelligentService.GetQuestionsList(2, 10);
            }
            foreach (Question q in dataSource)
            {
                if (q.Body.Length > 100)
                {
                    q.Body = TelligentService.FormatString100(q.Body) + "...";
                }
            }
            RecentQuestionsRepeater.DataSource = dataSource;
            RecentQuestionsRepeater.DataBind();
        }
        protected void btnSearch_Click(object sender, EventArgs e)
        {
            Panel panResultText = (Panel)FindControl("panResultText");

            panResultText.Visible = true;

            Literal litResultCount = (Literal)FindControl("litResultCount");
            Literal litSearchTerm  = (Literal)FindControl("litSearchTerm");

            Repeater rptRecentBlogInfo = (Repeater)FindControl("rptRecentBlogInfo");
            string   query             = TextHelper.RemoveHTML(txtSearch.Text);
            var      dataSource        = TelligentService.CommunitySearch(query, Constants.TelligentSearchParams.Blog, Constants.BlogNames[Sitecore.Context.Item["BlogId"]]);

            litSearchTerm.Text = query;

            if (dataSource.Any())
            {
                foreach (var item in dataSource)
                {
                    string[]          s        = item.Title.Split('{');
                    BlogsPostPageItem blogPost = Sitecore.Context.Database.GetItem(String.Format("{0}{1}", "{", s[1]));

                    if (blogPost != null)
                    {
                        item.Title = s[0].Trim();

                        if (!item.Title.ToLower().Contains("comment on"))
                        {
                            item.Body = Sitecore.StringUtil.RemoveTags(TelligentService.FormatString100(blogPost.Body));
                        }

                        BlogsAuthorPageItem author = Sitecore.Context.Database.GetItem(blogPost.Author.Raw);
                        if (author != null)
                        {
                            item.Author = author.Name;
                        }
                        else
                        {
                            item.Author = null;
                        }

                        var telligentDetails = TelligentService.ReadBlogBody(blogPost.BlogId, blogPost.BlogPostId);
                        item.CommentCount = telligentDetails.CommentCount;
                    }
                }
            }

            litResultCount.Text = dataSource.Count.ToString();

            rptRecentBlogInfo.DataSource = dataSource;
            rptRecentBlogInfo.DataBind();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            string blogId     = Settings.GetSetting(Constants.Settings.TelligentBlogIds);
            var    dataSource = TelligentService.ListBlogPosts(blogId, "3");

            foreach (var item in dataSource)
            {
                string[]          s        = item.Title.Split('{');
                BlogsPostPageItem blogPost = Sitecore.Context.Database.GetItem(String.Format("{0}{1}", "{", s[1]));
                if (blogPost != null)
                {
                    var author = Sitecore.Context.Database.GetItem(blogPost.Author.Raw);
                    item.Author        = author.Name;
                    item.Title         = blogPost.Name;
                    item.ContentTypeId = blogPost.ContentTypeId;
                    item.Body          = TelligentService.FormatString100(Sitecore.StringUtil.RemoveTags(blogPost.Body.Raw));
                    item.AuthorUrl     = LinkManager.GetItemUrl(author);
                }
            }
            BlogPostsRepeater.DataSource = dataSource;
            BlogPostsRepeater.DataBind();
        }