示例#1
0
文件: Directory.cs 项目: paukr/auremo
 public Directory(string name, Directory parent)
 {
     Name = name;
     Parent = parent;
 }
示例#2
0
        private HierarchicalLibraryItem CreateDirectoryBranchNodesRecursively(Directory directory, IDictionary<Directory, HierarchicalLibraryItem> directoryLookup)
        {
            HierarchicalLibraryItem result = null;

            if (directory.Parent == null)
            {
                result = new HierarchicalLibraryItem(directory, DirectoryTreeController);
                DirectoryTree.Add(result);
            }
            else if (directoryLookup.ContainsKey(directory.Parent))
            {
                result = new HierarchicalLibraryItem(directory, directoryLookup[directory.Parent]);
            }
            else
            {
                result = new HierarchicalLibraryItem(directory, CreateDirectoryBranchNodesRecursively(directory.Parent, directoryLookup));
            }

            directoryLookup[directory] = result;
            return result;
        }
示例#3
0
文件: Database.cs 项目: paukr/auremo
        private Directory GetOrCreateDirectory(Path path)
        {
            string[] parts = path.Directories;
            string fullpath = "";
            Directory parentOrResult = null;

            for (int i = 0; i < parts.Count() - 1; ++i)
            {
                fullpath = fullpath + parts[i] + "/";

                if (Directories.ContainsKey(fullpath))
                {
                    parentOrResult = Directories[fullpath];
                }
                else
                {
                    Directory dir = new Directory(parts[i], parentOrResult);
                    Directories[fullpath] = dir;
                    parentOrResult = dir;
                }
            }

            return parentOrResult;
        }