public void Zureucksetzen() { ResteListe.Clear(); _deletedItems.Clear(); foreach (var item in _dateiCache) { foreach (var file in item.Item2) { try { File.Delete(Path.Combine("Daten", "Temp", file.Guid + "." + file.Dateiendung)); } catch (Exception) { } } } _dateiCache.Clear(); var teileliste = new List <RestteilDto>(); PluginManager.DbManager.GetEinzelteile(ref teileliste); foreach (var item in teileliste) { var viewModel = new RestteilViewModel(item) { LoeschenAction = Loeschen, NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; viewModel.PropertyChanged += ContentPropertyChanged; ResteListe.Add(viewModel); } IsDirty = false; }
private void Hinzufuegen(Window window) { var dialog = new NeuesEinzelteilDialog { Top = window.Top + 40, Left = window.Left + (window.ActualWidth - 600) / 2, Owner = window }; var viewModel = new NeuesEinzelteilViewModel(EinzelteilBearbeitenEnum.Restteil, new List <EinzelteilAuswahlViewModel>(), new List <WunschteilAuswahlViewModel>()) { CloseAction = dialog.Close }; dialog.DataContext = viewModel; dialog.ShowDialog(); if (viewModel.IsOk) { switch (viewModel.Auswahl) { case SourceEnum.NeuesEinzelteil: { var neuesEinzelteil = new RestteilViewModel(new RestteilDto { Guid = Guid.NewGuid().ToString(), Komponente = viewModel.NeuViewModel.Komponente, Hersteller = viewModel.NeuViewModel.Hersteller, Beschreibung = viewModel.NeuViewModel.Beschreibung, Groesse = viewModel.NeuViewModel.Groesse, Jahr = viewModel.NeuViewModel.Jahr, DatenbankId = "", DatenbankLink = "", Preis = viewModel.NeuViewModel.Preis, Gewicht = viewModel.NeuViewModel.Gewicht }) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; neuesEinzelteil.PropertyChanged += ContentPropertyChanged; neuesEinzelteil.IsNeueKomponente = true; ResteListe.Add(neuesEinzelteil); break; } case SourceEnum.AusDatei: { var importer = new TeileImporter(); foreach (var item in importer.ImportEinzelteile(viewModel.DateiViewModel.Datei)) { var neuesEinzelteil = new RestteilViewModel(item) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; neuesEinzelteil.PropertyChanged += ContentPropertyChanged; neuesEinzelteil.IsNeueKomponente = true; ResteListe.Add(neuesEinzelteil); } _dateiCache.AddRange(importer.DateiCache); break; } case SourceEnum.AusGewichtsdatenbank: { foreach (var teil in viewModel.DatenbankViewModel.Datenbankteile.Where(teil => teil.IsChecked).ToList()) { if (teil.IsChecked) { var neuesEinzelteil = new RestteilViewModel(new RestteilDto { Guid = Guid.NewGuid().ToString(), Komponente = teil.Komponente, Hersteller = teil.Hersteller, Beschreibung = teil.Beschreibung, Groesse = teil.Groesse, Jahr = teil.Jahr, DatenbankId = teil.DatenbankId, DatenbankLink = teil.DatenbankLink, Preis = 0, Gewicht = teil.Gewicht }) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; neuesEinzelteil.PropertyChanged += ContentPropertyChanged; neuesEinzelteil.IsNeueKomponente = true; ResteListe.Add(neuesEinzelteil); } } break; } } IsDirty = true; } }