protected override void ExecuteInternal(Dictionary<string, string> args) { string srcFile = GetArg(args, CommonArgs.SRC_FILE); string destDir = GetArg(args, CommonArgs.DEST_DIR); SplitFileTask task = new SplitFileTask(new FileInfo(srcFile), new DirectoryInfo(destDir)) { PreserveTextLines = ContainsArg(args, PRESERVE_TEXT_LINES) }; task.Execute(); }
private void btn_Split_Start_Click(object sender, EventArgs e) { Split_SetSubmitButtonStatus(false); // Get the destination folder path string destFolder = string.IsNullOrWhiteSpace(txt_Split_DestFolder.Text) ? Path.Combine(Path.GetDirectoryName(txt_Split_SrcFile.Text), Path.GetFileNameWithoutExtension(txt_Split_SrcFile.Text) + "_split") : txt_Split_DestFolder.Text; // Create the task var task = new SplitFileTask(new FileInfo(txt_Split_SrcFile.Text), new DirectoryInfo(destFolder)) { PreserveTextLines = chk_Split_PreserveTextLines.Checked }; if (!string.IsNullOrWhiteSpace(txt_Split_ExtOverride.Text)) { task.FileExtension = txt_Split_ExtOverride.Text; } if (num_Split_MaxBytes.Value > 0) { task.MaxOutputFileByteSize = (long)num_Split_MaxBytes.Value; } task.ExecutionCompleted += (result) => { if (result.Exception != null) { MessageBox.Show(result.Exception.Message, "Error splitting file", MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (chk_Copy_CloseOnSuccess.Checked) { Application.Exit(); } Split_SetSubmitButtonStatus(true); MessageBox.Show("Success"); }; task.ExecuteAsync(); }