public void MoveFormHistoryToEnd(FormRoot form) { var idBeforeClosing = GetId(form); FsPath tempDir = AppDir.History.Join("temp"); if (tempDir.IsDirectory()) { tempDir.DeleteDirectory(recursive: true); } AppDir.History.Join(idBeforeClosing.ToString()).MoveDirectoryTo(tempDir); int lastId = _instances.Count - 1; for (int i = idBeforeClosing + 1; i <= lastId; i++) { AppDir.History.Join(i.ToString()).MoveDirectoryTo(AppDir.History.Join((i - 1).ToString())); } tempDir.MoveDirectoryTo(AppDir.History.Join(lastId.ToString())); _instances.RemoveAt(idBeforeClosing); _instances.Add(form); }
private static void moveDirectoryToBackup(FsPath dir, FsPath dirBak) { if (dirBak.IsDirectory()) { dirBak.DeleteDirectory(recursive: true); } dirBak.Parent().CreateDirectory(); dir.MoveDirectoryTo(dirBak); }