private void OnExport(Window window)
        {
            if (ExportformatCsv)
            {
                try
                {
                    var path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                    var file = Path.Combine(path, "Restekiste.csv");

                    var i = 1;
                    while (File.Exists(file))
                    {
                        file = Path.Combine(path, string.Format("Restekiste ({0}).csv", i++));
                    }

                    using (var sw = new StreamWriter(file, false, Encoding.Default))
                    {
                        sw.Write(CsvFormatter.GetFormattetRestekiste(ResteListe));
                    }

                    Process.Start(new ProcessStartInfo("explorer.exe")
                    {
                        Arguments = "/select, \"" + file + "\""
                    });
                }
                catch (IOException ex)
                {
                    HilfsFunktionen.ShowMessageBox(window, "Restekiste", ex.Message, true);
                }
            }
            else
            {
                var liste = new List <EinzelteilExportDto>();

                foreach (var item in ResteListe)
                {
                    var einzelteil = 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 == einzelteil.Guid);
                        if (cachedItem != null)
                        {
                            einzelteil.DokumentenListe.AddRange(cachedItem.Item2);
                        }
                    }
                    else
                    {
                        var dateiListe = new List <DateiDto>();
                        PluginManager.DbManager.GetDateiInfos(item.Guid, ref dateiListe);
                        einzelteil.DokumentenListe.AddRange(dateiListe);
                    }

                    liste.Add(einzelteil);
                }

                PluginManager.ExportManager.ExportKomponenten(new WindowInteropHelper(window).Handle,
                                                              "Restekiste",
                                                              CsvFormatter.GetFormattetRestekiste(ResteListe),
                                                              liste);
            }
        }