Beispiel #1
0
        /// <summary>
        /// Adds a VersionData to the tree in its specified path
        /// </summary>
        /// <param name="path"></param>
        /// <param name="vdata"></param>
        public void AddVersionData(string path, VersionData vdata)
        {
            string[] directoryPath = VersionDataPath.SplitDirectories(path);
            DataNode node          = GetParentNode(directoryPath);
            string   filename      = directoryPath[directoryPath.Length - 1];

            if (node.children.Contains(filename))
            {
                node.children[filename].data = vdata;
            }
            else
            {
                node.children.Add(new DataNode(vdata));
            }
        }
Beispiel #2
0
        public void RenameVersionData(string oldPath, string newPath)
        {
            string[] oldDirPath  = VersionDataPath.SplitDirectories(oldPath);
            string[] newDirPath  = VersionDataPath.SplitDirectories(newPath);
            DataNode parentNode  = GetParentNode(oldDirPath);
            string   oldfilename = oldDirPath[oldDirPath.Length - 1];
            string   newfilename = newDirPath[newDirPath.Length - 1];

            if (!parentNode.children.Contains(oldfilename))
            {
                throw new ArgumentException(oldPath + " does not exist");
            }
            DataNode node = parentNode.children[oldfilename];

            node.filename = newfilename;
            parentNode.children.Remove(node);
            parentNode = GetParentNode(newDirPath);
            parentNode.children.Add(node);
        }