private void OnFileTransferProgressEventHandler(RemoteFileAdapterHandler adapterHandler, FileTransferFlag state, string fileName, long position, long fileSize) { if (this.RemoteFileAdapterHandler.WhetherClose)//UI未关闭时才允许操作控件 { return; } switch (state) { case FileTransferFlag.Begin: if (fileSize > 0) { this.transferProgress.Value = Convert.ToInt32(position / (float)fileSize * 100); } this.transferDatalenght.Text = $"已传输{FileHelper.LengthToFileSize(position).PadRight(10)}"; this.time.Text = "传输时间:{0}s".FormatTo((DateTime.Now - _startTime).TotalSeconds.ToString("0")); break; case FileTransferFlag.Transfering: this.transferProgress.Value = Convert.ToInt32(position / (float)fileSize * 100); this.transferCaption.Text = $"正在传输:{Path.GetFileName(fileName)} 文件大小:{FileHelper.LengthToFileSize(fileSize)}"; this.transferDatalenght.Text = $"已传输:{FileHelper.LengthToFileSize(position).PadRight(10)}"; this.time.Text = "传输时间:{0}s".FormatTo((DateTime.Now - _startTime).TotalSeconds.ToString("0")); break; case FileTransferFlag.End: this.transferProgress.Value = 0; this.transferCaption.Text = $"目录装载完成"; this.transferDatalenght.Text = "已传输0KB"; break; } }
private void OnDirectoryCreateFinishEventHandler(RemoteFileAdapterHandler adapterHandler, bool isSuccess) { if (isSuccess) { this.RemoteFileAdapterHandler.GetRemoteFiles(txtRemotedirectory.Text); } else { MessageBoxHelper.ShowBoxError("文件夹创建失败!"); } }
private void OnRemoteExceptionEventHandler(RemoteFileAdapterHandler adapterHandler, DateTime occurredTime, string tipMessage, string exceptionMessage, string stackTrace) { var sb = new StringBuilder(); sb.AppendLine("remoteService Exception:"); sb.AppendLine("occurrence time:" + occurredTime.ToString()); sb.AppendLine("TipMessage:" + tipMessage); sb.AppendLine("ExceptionMessage:" + exceptionMessage); sb.AppendLine("StackTrace:" + stackTrace); LogHelper.WriteErrorByCurrentMethod(sb.ToString()); }
private void OnPasterFinishEventHandler(RemoteFileAdapterHandler adapterHandler, string[] unsuccessfulFiles) { this.RemoteFileAdapterHandler.GetRemoteFiles(txtRemotedirectory.Text); if (unsuccessfulFiles.Length > 0) { MessageBoxHelper.ShowBoxExclamation($"文件复制完成,但有部分文件复制操作异常:{string.Join(", ", unsuccessfulFiles)},请检查!"); } else { MessageBoxHelper.ShowBoxExclamation("文件复制完成!"); } }
private void OnFileDeteledFinishEventHandler(RemoteFileAdapterHandler adapterHandler, string[] deletedFiles) { for (int i = 0; i < fileList.Items.Count; i++) { FileListViewItem item = fileList.Items[i] as FileListViewItem; foreach (var file in deletedFiles) { if (item.FileName == Path.GetFileName(file)) { item.Remove(); i--; } } } }
private void OnFileItemsEventHandler(RemoteFileAdapterHandler adapterHandler, FileItem[] fileItems, string root, bool isSuccess, string message) { this.fileList.Items.Clear(); if (!isSuccess) { MessageBoxHelper.ShowBoxExclamation(message); } this.txtRemotedirectory.Text = root; foreach (var file in fileItems) { this.AddItem(file); } this.transferCaption.Text = "装载目录" + txtRemotedirectory.Text + "完成,共 " + fileList.Items.Count.ToString() + " 个对象"; }
private void OnFileNameRenameFinishEventHandler(RemoteFileAdapterHandler adapterHandler, string srcNamec, string targetName, bool isSuccess) { if (isSuccess) { for (int i = 0; i < fileList.Items.Count; i++) { FileListViewItem item = fileList.Items[i] as FileListViewItem; if (item.FileName == Path.GetFileName(srcNamec)) { item.Text = Path.GetFileName(targetName); item.FileName = Path.GetFileName(targetName); break; } } } else { MessageBoxHelper.ShowBoxError("文件重命名失败!"); } }
private void OnOpenTextEventHandler(RemoteFileAdapterHandler adapterHandler, string text, bool isSuccess) { if (!isSuccess) { MessageBoxHelper.ShowBoxExclamation("远程文件打开失败!"); return; } var tmp = Path.Combine(Environment.CurrentDirectory, "tmp"); if (!Directory.Exists(tmp)) { Directory.CreateDirectory(tmp); } string randomName = Guid.NewGuid().ToString() + ".txt"; File.WriteAllText(Path.Combine(tmp, randomName), text); Process.Start(Path.Combine(tmp, randomName)); }
private void OnFileTreeItemsEventHandler(RemoteFileAdapterHandler adapterHandler, FileItem[] fileItems) { if (_remoteDirectoryTreeView.Nodes.Count <= 0) { foreach (var file in fileItems) { var node = new TreeNode(file.FileName, IcoIndex("", true), IcoIndex("", true)); _remoteDirectoryTreeView.Nodes.Add(file.FileName); } } else { var node = this._remoteDirectoryTreeView.SelectedNode; if (!fileItems.IsNullOrEmpty()) { node.Nodes.AddRange(fileItems.Select(v => new TreeNode(v.FileName, IcoIndex("DIR", false), IcoIndex("DIR", false))).ToArray()); } node.Expand(); this._remoteDirectoryTreeView.Enabled = true; } }