示例#1
0
 protected override void OnOk(CancelEventArgs e)
 {
     Settings = new CsvExportSettings()
     {
         IncludeHexData = this.IncludeHexData
     };
 }
示例#2
0
        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);
        }
示例#3
0
 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."));
     });
 }