Esempio n. 1
0
 private static bool ConfirmCopy(ConfirmCopyCallback confirmCopy, FileSystemInfo source, string destination)
 {
     if (confirmCopy != null)
     {
         return(confirmCopy(source, destination));
     }
     return(true);
 }
Esempio n. 2
0
        public static bool CopyFile(FileInfo source, string destination, ConfirmCopyCallback confirmCopy, NotifyCopyCallback notifyCopy, ConfirmCreateDirectoryCallback confirmCreateDirectory, NotifyCreateDirectoryCallback notifyCreateDirectory)
        {
            string directoryName = Path.GetDirectoryName(destination);

            if (CreateDirectory(directoryName, confirmCreateDirectory, notifyCreateDirectory))
            {
                return(CopyFile(source, destination, confirmCopy, notifyCopy));
            }
            return(false);
        }
Esempio n. 3
0
 public static bool CopyFile(FileInfo source, string destination, ConfirmCopyCallback confirmCopy, NotifyCopyCallback notifyCopy)
 {
     if (ConfirmCopy(confirmCopy, source, destination))
     {
         source.CopyTo(destination, true);
         NotifyCopy(notifyCopy, source, destination);
         return(true);
     }
     return(false);
 }
Esempio n. 4
0
 public static bool CopyDirectory(DirectoryInfo source, string destination, ConfirmCopyCallback confirmCopy, NotifyCopyCallback notifyCopy, ConfirmCreateDirectoryCallback confirmCreateDirectory, NotifyCreateDirectoryCallback notifyCreateDirectory)
 {
     if (ConfirmCopy(confirmCopy, source, destination))
     {
         if (CreateDirectory(destination, confirmCreateDirectory, notifyCreateDirectory))
         {
             foreach (FileSystemInfo fsi in source.GetFileSystemInfos())
             {
                 if (fsi is FileInfo)
                 {
                     CopyFile((FileInfo)fsi, Path.Combine(destination, fsi.Name), confirmCopy, notifyCopy);
                 }
                 else if (fsi is DirectoryInfo)
                 {
                     CopyDirectory((DirectoryInfo)source, Path.Combine(destination, source.Name), confirmCopy, notifyCopy, confirmCreateDirectory, notifyCreateDirectory);
                 }
             }
         }
         NotifyCopy(notifyCopy, source, destination);
         return(true);
     }
     return(false);
 }
 public MultiThreadCopyUICommand(string source, string destination, ConfirmCopyCallback confirmCopy, ConfirmCreateDirectoryCallback confirmCreateDirectory, NotifyCopyCallback notifyCopy, NotifyCreateDirectoryCallback notifyCreateDirectory)
     : base(source, destination, confirmCopy, confirmCreateDirectory, notifyCopy, notifyCreateDirectory)
 {
 }
Esempio n. 6
0
        public static bool CopyFile <T>(FileInfo source, string destination, ref int pbCancel, T progressState, ProgressUpdate <T> progressUpdate, ConfirmCopyCallback confirmCopy, NotifyCopyCallback notifyCopy, ConfirmCreateDirectoryCallback confirmCreateDirectory, NotifyCreateDirectoryCallback notifyCreateDirectory)
        {
            string directoryName = Path.GetDirectoryName(destination);

            if (CreateDirectory(directoryName, confirmCreateDirectory, notifyCreateDirectory))
            {
                return(CopyFile(source, destination, ref pbCancel, progressState, progressUpdate, confirmCopy, notifyCopy));
            }
            return(false);
        }
Esempio n. 7
0
 public static bool CopyFile <T>(FileInfo source, string destination, ref int pbCancel, T progressState, ProgressUpdate <T> progressUpdate, ConfirmCopyCallback confirmCopy, NotifyCopyCallback notifyCopy)
 {
     if (ConfirmCopy(confirmCopy, source, destination))
     {
         ProgressHandlerAdapter <T> adapter = new ProgressHandlerAdapter <T>(progressState, progressUpdate);
         CopyFileEx(source.FullName, destination, adapter.CopyProgressRoutine, IntPtr.Zero, ref pbCancel, CopyFileFlags.COPY_FILE_RESTARTABLE);
         NotifyCopy(notifyCopy, source, destination);
         return(true);
     }
     return(false);
 }
Esempio n. 8
0
        public static bool CopyFile <T>(FileInfo source, string destination, int retryCount, ref int pbCancel, T progressState, ProgressUpdate <T> progressUpdate, ConfirmCopyCallback confirmCopy, NotifyCopyCallback notifyCopy)
        {
            Exception lastException = null;

            do
            {
                try
                {
                    return(CopyFile <T>(source, destination, ref pbCancel, progressState, progressUpdate, confirmCopy, notifyCopy));
                }
                catch (Exception ex)
                {
                    lastException = ex;
                }
            } while (--retryCount >= 0);
            throw lastException;
        }
Esempio n. 9
0
 public MultiThreadCopyUICommand(string source, string destination, ConfirmCopyCallback confirmCopy, ConfirmCreateDirectoryCallback confirmCreateDirectory, NotifyCopyCallback notifyCopy, NotifyCreateDirectoryCallback notifyCreateDirectory)
     : base(source, destination, confirmCopy, confirmCreateDirectory, notifyCopy, notifyCreateDirectory)
 {
 }