App_Code.Controls.RecentPosts.RenderPosts C# (CSharp) Method

RenderPosts() private static method

Renders the posts.
private static RenderPosts ( ) : string
return string
        private static string RenderPosts()
        {
            if (Posts.Count == 0)
            {
                return string.Format("<p>{0}</p>", labels.none);
            }

            var sb = new StringBuilder();
            sb.Append("<ul class=\"recentPosts\" id=\"recentPosts\">");

            foreach (var post in Posts.Where(post => post.IsVisibleToPublic))
            {
                var rating = Math.Round(post.Rating, 1).ToString(CultureInfo.InvariantCulture);

                const string Link = "<li><a href=\"{0}\">{1}</a>{2}{3}</li>";
                var comments = string.Format("<span>{0}: {1}</span>", labels.comments, post.ApprovedComments.Count);
                var rate = string.Format("<span>{0}: {1} / {2}</span>", labels.rating, rating, post.Raters);

                if (!BlogSettings.Instance.DisplayCommentsOnRecentPosts || !BlogSettings.Instance.IsCommentsEnabled)
                {
                    comments = null;
                }

                if (!BlogSettings.Instance.DisplayRatingsOnRecentPosts || !BlogSettings.Instance.EnableRating)
                {
                    rate = null;
                }

                if (post.Raters == 0)
                {
                    rate = string.Format("<span>{0}</span>", labels.notRatedYet);
                }

                sb.AppendFormat(Link, post.RelativeOrAbsoluteLink, HttpUtility.HtmlEncode(post.Title), comments, rate);
            }

            sb.Append("</ul>");
            return sb.ToString();
        }