/// <summary> /// Pega una carpeta / archivo /// </summary> private void PasteFile() { if (_nodeToCopy != null) { string target = GetSelectedPath(); string source = _nodeToCopy.FileName; // Copia el directorio o el archivo if (System.IO.Directory.Exists(source)) { if (target.StartsWith(source, StringComparison.CurrentCultureIgnoreCase)) { SolutionViewModel.MainViewModel.MainController.HostController.SystemController.ShowMessage($"No se pude copiar {source} sobre {target}"); } else { // Obtiene el nombre del directorio destino target = LibHelper.Files.HelperFiles.GetConsecutivePath(target, System.IO.Path.GetFileName(source)); // Copia el directorio LibHelper.Files.HelperFiles.CopyPath(source, target); } } else { // Obtiene el nombre del archivo target = LibHelper.Files.HelperFiles.GetConsecutiveFileName(target, System.IO.Path.GetFileName(source)); // Copia el archivo LibHelper.Files.HelperFiles.CopyFile(source, target); } // Actualiza el árbol Load(); // ... y vacía el nodo de copia _nodeToCopy = null; } }
/// <summary> /// Copia un archivo /// </summary> private void CopyFile() { if (SelectedNode is NodeFileViewModel node) { _nodeToCopy = node; } else { _nodeToCopy = null; } }