public static FindExamples ( |
||
root | ||
level | int | |
maxLevel | int | |
examples | List |
|
return | void |
public static void FindExamples(DirectoryInfo root, int level, int maxLevel, List <ExampleGroup> examples) { DirectoryInfo[] folders = root.GetDirectories(); folders = SortFolders(root, folders); foreach (DirectoryInfo folder in folders) { if ((folder.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden || excludeList.Contains(folder.Name) || folder.Name.StartsWith("_")) { continue; } if (level < maxLevel) { if (level == 1) { examples.Add(new ExampleGroup { id = folder.Name, title = folder.Name }); } UIHelpers.FindExamples(folder, level + 1, maxLevel, examples); } else { string imgUrl = UIHelpers.ApplicationRoot + "/resources/images/noimage.gif"; string descr = "No description"; string name = folder.Name.Replace("_", " "); if (IsNew(folder.FullName) || IsUpdated(folder.FullName)) { name += "<span> </span>"; } if (File.Exists(folder.FullName + "\\config.xml")) { ExampleConfig cfg = new ExampleConfig(folder.FullName + "\\config.xml", false); descr = cfg.Description; } if (File.Exists(folder.FullName + "\\thumbnail.png")) { imgUrl = PhysicalToVirtual(folder.FullName + "\\thumbnail.png"); } else if (File.Exists(folder.FullName + "\\thumbnail.gif")) { imgUrl = PhysicalToVirtual(folder.FullName + "\\thumbnail.gif"); } string url = PhysicalToVirtual(folder.FullName + "/"); ExampleGroup group = examples[examples.Count - 1]; group.samples.Add(new { id = "e" + Math.Abs(url.ToLower().GetHashCode()), name, url, imgUrl, descr, sub = folder.Parent.Name.Replace("_", " ") }); } } }