Exemple #1
0
    public static Guid GetPathKey(string name)
    {
        name = Path.GetFullPath(name);
        if (PathKeyMap.ContainsKey(name))
        {
            return(PathKeyMap[name]);
        }
        Guid guid = Guid.NewGuid();

        PathKeyMap.Add(name, guid);
        return(guid);
    }
Exemple #2
0
    public static void MovePath(string oldName, string newName)
    {
        oldName = Path.GetFullPath(oldName);
        newName = Path.GetFullPath(newName);
        if (oldName == newName)
        {
            return;
        }
        if (Directory.Exists(oldName))
        {
            Directory.Move(oldName, newName);
        }
        else if (File.Exists(oldName))
        {
            File.Move(oldName, newName);
        }
        else
        {
            return;
        }
        // Rename session keys
        Dictionary <string, Guid> itemsToRename = new Dictionary <string, Guid>();

        foreach (string name in PathKeyMap.Keys)
        {
            if (name.StartsWith(oldName))
            {
                itemsToRename.Add(name, PathKeyMap[name]);
            }
        }
        foreach (string name in itemsToRename.Keys)
        {
            PathKeyMap.Remove(name);
        }
        foreach (string name in itemsToRename.Keys)
        {
            PathKeyMap.Add(newName + name.Substring(oldName.Length), itemsToRename[name]);
        }
    }