コード例 #1
0
        /// <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;
            }
        }
コード例 #2
0
 /// <summary>
 ///		Copia un archivo
 /// </summary>
 private void CopyFile()
 {
     if (SelectedNode is NodeFileViewModel node)
     {
         _nodeToCopy = node;
     }
     else
     {
         _nodeToCopy = null;
     }
 }