コード例 #1
0
        private DialogResult DisplayOnboardResult(Engine.OnboardResult result, TimeSpan elapsed)
        {
            var    successfulFiles = result.AllFileResults.Where(file => file.UploadSucceeded).Select(file => file.File).ToArray();
            var    failedFiles     = result.AllFileResults.Where(file => !file.UploadSucceeded).Select(file => file.File).ToArray();
            string message         = String.Format("{0} files uploaded successfully ({1})", successfulFiles.Length, successfulFiles.Sum(file => file.Size).ToFileSizeString());

            if (failedFiles.Length > 0)
            {
                message += String.Format("\n{0} files failed to upload ({1})", failedFiles.Length, failedFiles.Sum(file => file.Size).ToFileSizeString());
            }
            var failedFolders = result.AllFolderResults.Where(folder => !folder.CreateSucceeded).ToArray();

            if (failedFolders.Length > 0)
            {
                message += String.Format("\n{0} folders failed to upload", failedFolders.Length);
            }
            if (successfulFiles.Length > 0)
            {
                message += String.Format("\nTransfer speed: {0}/s", ((long)(successfulFiles.Sum(file => file.Size) / elapsed.TotalSeconds)).ToFileSizeString());
            }
            message += String.Format("\nElapsed time: {0}", elapsed.ToTimeSpanString());


            if (failedFolders.Length > 0 || failedFiles.Length > 0)
            {
                message += String.Format("\n\nRetry failed uploads?");
                return(MessageBox.Show(this, message, "Upload Results", MessageBoxButtons.RetryCancel, MessageBoxIcon.Question));
            }
            else
            {
                return(MessageBox.Show(this, message, "Upload Results", MessageBoxButtons.OK, MessageBoxIcon.Information));
            }
        }
コード例 #2
0
 private async Task LogOnboardResult(Engine.OnboardResult result, string localPath)
 {
     try
     {
         string filename = String.Format("Transfer {0} {1}.log", result.Start.ToFileNameDateTimeString(), System.IO.Path.GetFileName(localPath));
         await result.ToLogFile(System.IO.File.OpenWrite(filename));
     }
     catch { }
 }