private string GetBar()
{
var stringWriter = new StringWriter();
using (var writer = new HtmlTextWriter(stringWriter))
{
writer.AddAttribute(HtmlTextWriterAttribute.Id, Id);
writer.AddAttribute(HtmlTextWriterAttribute.Class, "horizontal-bar");
if (!Title.Equals(""))
writer.AddAttribute(HtmlTextWriterAttribute.Title, Title);
writer.RenderBeginTag(HtmlTextWriterTag.Div);
var sum = Elements.Sum(x => x.Value);
var sortedItems = Elements.Where(x => x.Value >= 0.0000001);
if(_orderByDescending) sortedItems = sortedItems.OrderByDescending(x => x.Value);
foreach (var item in sortedItems)
{
var value = item.Value;
var width = Math.Max((value / sum) * 100, 0.01);
var tooltip = new Tooltip(item.TooltipText, item.InnerText, item.BackgroundColor, "horizontal-bar-item",
width, item.Href);
writer.Write(tooltip.HtmlCode);
}
writer.RenderEndTag();
}
return stringWriter.ToString();
}