protected override void OnOk(CancelEventArgs e) { Settings = new CsvExportSettings() { IncludeHexData = this.IncludeHexData }; }
public CsvExportContext(string filename, CsvExportSettings settings) { if (string.IsNullOrEmpty(filename)) { throw new ArgumentNullException(nameof(filename)); } Settings = settings ?? throw new ArgumentNullException(nameof(settings)); Output = File.CreateText(filename); var preamble = Encoding.UTF8.GetPreamble(); Output.BaseStream.Write(preamble, 0, preamble.Length); }
private async Task ExportMessagesAsync(IList <MessageInfo> list, string filename, CsvExportSettings settings) { await ExecuteAsync((ct) => { using (var ps = Progress.Start(list.Count, ct, LongRunningState.Yes)) { ps.SetTitle("Exporting selected messages..."); using (var ctx = new CsvExportContext(filename, settings)) { Queue.QueueSource.DumpEngine.ExportToCsv(ctx, list.Select(x => x.MessageSource), ps.CancellationToken, ps.Progress); } } App.MessageService.ShowMessage(App.ShellService.ShellView, Invariant($"File '{filename}' generated.")); }); }