private static void BuildViewsLevel(DirectoryInfo area, Node areaNode)
{
DirectoryInfo[] folders = new DirectoryInfo(area.FullName + "\\Views").GetDirectories();
folders = ExamplesModel.SortFolders(area, folders);
foreach (DirectoryInfo folder in folders)
{
if ((folder.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden ||
excludeList.Contains(folder.Name) || folder.Name.StartsWith("_"))
{
continue;
}
ExampleConfig cfg = new ExampleConfig(folder.FullName + "\\config.xml");
string iconCls = string.IsNullOrEmpty(cfg.IconCls) ? "" : cfg.IconCls;
Node node = new Node();
string folderName = folder.Name.Replace("_", " ");
node.Text = folderName;
if (ExamplesModel.IsNew(folder.FullName))
{
node.CustomAttributes.Add(new ConfigItem("isNew", "true", ParameterMode.Raw));
}
node.IconCls = iconCls;
string url = string.Concat(ExamplesModel.ApplicationRoot, "/", area.Name, "/", folder.Name, "/");
node.NodeID = "e" + Math.Abs(url.ToLower().GetHashCode());
//node.Href = url;
node.CustomAttributes.Add(new ConfigItem("url", url));
node.Leaf = true;
node.CustomAttributes.Add(new { tags = cfg.Tags.Select(item => item.ToLower()) });
areaNode.Children.Add(node);
}
}