private void OnExport(Window window) { if (ExportformatCsv) { try { var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); var file = Path.Combine(path, "Wunschliste.csv"); var i = 1; while (File.Exists(file)) { file = Path.Combine(path, string.Format("Wunschliste ({0}).csv", i++)); } using (var sw = new StreamWriter(file, false, Encoding.Default)) { sw.Write(CsvFormatter.GetFormattetWunschliste(Wunschliste)); } Process.Start(new ProcessStartInfo("explorer.exe") { Arguments = "/select, \"" + file + "\"" }); } catch (IOException ex) { HilfsFunktionen.ShowMessageBox(window, "Wunschliste", ex.Message, true); } } else { var liste = new List <EinzelteilExportDto>(); foreach (var item in Wunschliste) { var wunschteil = new EinzelteilExportDto { Guid = item.Guid, Komponente = item.Komponente, Hersteller = item.Hersteller, Beschreibung = item.Beschreibung, Groesse = item.Groesse, Jahr = item.Jahr, DatenbankId = item.DatenbankId, DatenbankLink = item.DatenbankLink, Preis = item.Preis, Gewicht = item.Gewicht, DokumentenListe = new List <DateiDto>() }; if (item.IsNeueKomponente) { var cachedItem = _dateiCache.FirstOrDefault(teil => teil.Item1 == wunschteil.Guid); if (cachedItem != null) { wunschteil.DokumentenListe.AddRange(cachedItem.Item2); } } else { var dateiListe = new List <DateiDto>(); PluginManager.DbManager.GetDateiInfos(item.Guid, ref dateiListe); wunschteil.DokumentenListe.AddRange(dateiListe); } liste.Add(wunschteil); } PluginManager.ExportManager.ExportKomponenten(new WindowInteropHelper(window).Handle, "Wunschliste", CsvFormatter.GetFormattetWunschliste(Wunschliste), liste); } }