protected void ProcessTagCloud(TagCloudItemCollection tags)
 {
     foreach (TagCloudItem tagCloudItem in tags)
     {
         var scaleValue = (int)Math.Truncate((tagCloudItem.Count - minWeight) / scaleUnitLength);
         tagCloudItem.SetScaleValue(scaleValue);
     }
 }
        protected string GetTagCloudHtml(TagCloudItemCollection tags)
        {
            var stringBuilder = new StringBuilder();

            stringBuilder.Append("<div id=\"tag-cloud-div\">");
            foreach (TagCloudItem tagCloudItem in tags)
            {
                stringBuilder.Append($"<a class=\"{FontScale[tagCloudItem.ScaleValue]}\" title=\"{tagCloudItem.HoverTitle}\" href=\"{tagCloudItem.Url}\">{tagCloudItem.Text}</a>{" "}");
            }

            stringBuilder.Append("</div>");
            return(stringBuilder.ToString());
        }
        protected void ProcessTagWeights(TagCloudItemCollection tags)
        {
            foreach (TagCloudItem tagCloudItem in tags)
            {
                if (tagCloudItem.Count < minWeight)
                {
                    minWeight = tagCloudItem.Count;
                }

                if (tagCloudItem.Count > maxWeight)
                {
                    maxWeight = tagCloudItem.Count;
                }
            }
            scaleUnitLength = (Convert.ToDecimal(maxWeight - minWeight) + 1) / Convert.ToDecimal(FontScale.Length);
        }
 public void GenerateTagCloud(TagCloudItemCollection tags)
 {
     ProcessTagWeights(tags);
     ProcessTagCloud(tags);
     TagCloudsHtml = GetTagCloudHtml(tags);
 }