AjaxControlToolkit.Reference.Core.ExtenderDoc.RenderTable C# (CSharp) Method

RenderTable() private method

private RenderTable ( IEnumerable members, string tableName, string>.Func memberNameTransform = null, bool generateMemberLink = false, bool renderRemarks = true ) : void
members IEnumerable
tableName string
memberNameTransform string>.Func
generateMemberLink bool
renderRemarks bool
return void
        void RenderTable(IEnumerable<DocBase> members, string tableName, Func<DocBase, string> memberNameTransform = null, bool generateMemberLink = false, bool renderRemarks = true)
        {
            if(members.Count() <= 0)
                return;

            var tableStringBuilder = new StringBuilder();
            tableStringBuilder.Append(_renderer.RenderNewParagraph() + _renderer.RenderHeader(tableName, level: 2));
            tableStringBuilder.Append(_renderer.RenderNewParagraph());

            var dict = new Dictionary<string, string>();

            foreach(var member in members) {
                var memberNameTransformed = memberNameTransform == null ? member.Name : memberNameTransform(member);
                string memberAnchor = GenerateAnchor(memberNameTransformed);

                var remarks = "";
                if(renderRemarks
                    &&
                    !String.IsNullOrWhiteSpace(member.Remarks))
                    remarks = _renderer.RenderText("Remarks:", italic: true, bold: true) + " " + _renderer.RenderText(_renderer.Sanitize(member.Remarks).Trim(), italic: true);

                dict.Add(generateMemberLink
                        ? _renderer.RenderUrl(memberNameTransformed, memberAnchor)
                        : memberNameTransformed,
                    _renderer.Sanitize(member.Summary) + _renderer.RenderLineBreak() + remarks);
            }
            tableStringBuilder.Append(_renderer.RenderDescriptionBlock(dict));

            _markupStringBuilder.Append(tableStringBuilder.ToString());
        }