private static void IncFolderCommitValue(Dictionary <string, FolderStat> dictionary, string key, int increment) { if (string.IsNullOrEmpty(key)) { key = "."; } if (dictionary.ContainsKey(key)) { dictionary[key].FileChanges += increment; } else { dictionary[key] = new FolderStat(key, increment); } }
private void AddSectionCommitsForEachFolderChildren(StringBuilder sb, FolderStat parentFolder, int indent) { if (parentFolder.Children.Keys.Count > 0) { foreach (var folder in parentFolder.Children.Values.OrderByDescending(fs => fs.FileChanges)) { var changeCount = string.Format("{0,5}", parentFolder.Children[folder.FolderName].FileChanges); var icon = FileIcon(folder.FolderName); var folderName = folder.Children.Keys.Count > 0 ? $"<span class=\"treeViewCaret\">{WebUtility.HtmlEncode(folder.FolderName)}</span>" : $"<i class=\"{icon} iw\"></i>{WebUtility.HtmlEncode(folder.FolderName)}"; var padding = folder.Children.Keys.Count <= 0 ? "pl40" : "pl20"; sb.AppendLine($"<li class=\"text-nowrap {padding}\">{folderName}: {changeCount}"); if (folder.Children.Keys.Count > 0) { sb.AppendLine($"<ul class=\"nested\">"); AddSectionCommitsForEachFolderChildren(sb, folder, indent + 1); sb.AppendLine("</ul>"); } sb.AppendLine("</li>"); } } }