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); }
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]); } }