private void Loeschen(string guid) { var item = Wunschliste.First(teil => teil.Guid == guid); _deletedItems.Add(new LoeschenDto { Guid = item.Guid, DokumenteLoeschen = true }); Wunschliste.Remove(item); var datei = _dateiCache.FirstOrDefault(teil => teil.Item1 == guid); if (datei != null) { foreach (var file in datei.Item2) { try { File.Delete(Path.Combine("Daten", "Temp", file.Guid + "." + file.Dateiendung)); } catch (Exception) { } } _dateiCache.Remove(datei); } IsDirty = true; }
public void Sichern() { PluginManager.DbManager.DeleteTeile(_deletedItems); _deletedItems.Clear(); PluginManager.DbManager.SaveWunschteile(Wunschliste.Select(item => new WunschteilDto { Guid = item.Guid, Komponente = item.Komponente, Hersteller = item.Hersteller, Beschreibung = item.Beschreibung, Groesse = item.Groesse, Jahr = item.Jahr, Shop = item.Shop, Link = item.Link, DatenbankId = item.DatenbankId, DatenbankLink = item.DatenbankLink, Preis = item.Preis, Gewicht = item.Gewicht }).ToList()); foreach (var item in _dateiCache) { PluginManager.DbManager.SaveDateiInfos(item.Item1, item.Item2); } foreach (var item in Wunschliste) { item.IsNeueKomponente = false; } IsDirty = false; }
public void NachUntenSortieren(string guid) { var teil1 = Wunschliste.First(teil => teil.Guid == guid); if (teil1 != null && Wunschliste.IndexOf(teil1) + 1 < Wunschliste.Count) { var teil2 = Wunschliste[Wunschliste.IndexOf(teil1) + 1]; if (teil2 != null) { Wunschliste.Move(Wunschliste.IndexOf(teil1), Wunschliste.IndexOf(teil2)); IsDirty = true; } } }
public void Zureucksetzen() { Wunschliste.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 <WunschteilDto>(); PluginManager.DbManager.GetWunschteile(ref teileliste); foreach (var item in teileliste) { var viewModel = new WunschteilViewModel(item) { LoeschenAction = Loeschen, NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; viewModel.PropertyChanged += ContentPropertyChanged; Wunschliste.Add(viewModel); } IsDirty = false; }
private void TauschenWunschliste(string guid) { var wunschteil = Wunschliste.First(teil => teil.Guid == guid); if (wunschteil != null) { SelectedKomponente.AlternativeVorhanden = true; SelectedKomponente.AlternativeHersteller = wunschteil.Hersteller; SelectedKomponente.AlternativeBeschreibung = wunschteil.Beschreibung; SelectedKomponente.AlternativeGroesse = wunschteil.Groesse; SelectedKomponente.AlternativeJahr = wunschteil.Jahr; SelectedKomponente.AlternativeGewicht = wunschteil.Gewicht; UpdateProperty("GesamtDifferenz"); UpdateProperty("GesamtGewichtAlternativen"); Wunschliste.Remove(wunschteil); if (AlternativeBearbeiten) { NeuerHersteller = wunschteil.Hersteller; NeueBeschreibung = wunschteil.Beschreibung; NeueGroesse = wunschteil.Groesse; NeuesJahr = wunschteil.Jahr; NeuesGewicht = wunschteil.Gewicht; } var ohneAlternative = OhneAlternative.FirstOrDefault(teil => teil.Guid == SelectedKomponente.Guid); if (ohneAlternative != null) { OhneAlternative.Remove(ohneAlternative); } var ohneZuordnung = OhneKomponente.FirstOrDefault(teil => teil.Guid == SelectedKomponente.Guid); if (ohneZuordnung != null) { ohneZuordnung.Komponente = SelectedKomponente.Komponente; ohneZuordnung.Alternative = SelectedKomponente.AlternativeName; ohneZuordnung.Gewicht = wunschteil.Gewicht; } } }
private void EinbauenWunschliste(string guid) { var wunschteil = Wunschliste.First(teil => teil.Guid == guid); if (wunschteil != null) { var vm = new SzenarioKomponenteViewModel() { Komponente = wunschteil.Komponente, Beschreibung = null, Gewicht = 0, Guid = wunschteil.Guid, AlternativeHersteller = wunschteil.Hersteller, AlternativeBeschreibung = wunschteil.Beschreibung, AlternativeGroesse = wunschteil.Groesse, AlternativeJahr = wunschteil.Jahr, AlternativeGewicht = wunschteil.Gewicht, AlternativeVorhanden = true, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; VergleichsListe.Add(vm); UpdateProperty("GesamtDifferenz"); UpdateProperty("GesamtGewichtAlternativen"); Wunschliste.Remove(wunschteil); var ohneZuordnung = new OhneZuordnungViewModel { Guid = vm.Guid, Komponente = vm.Komponente, Beschreibung = vm.Beschreibung, Alternative = vm.AlternativeName, Gewicht = vm.AlternativeGewicht, Differenz = vm.AlternativeDifferenz }; ohneZuordnung.ZuordnenAction = OnZuordnenOhneKomponente; OhneKomponente.Add(ohneZuordnung); } }
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.Wunschteil, new List <EinzelteilAuswahlViewModel>(), new List <WunschteilAuswahlViewModel>()) { CloseAction = dialog.Close }; dialog.DataContext = viewModel; dialog.ShowDialog(); if (viewModel.IsOk) { switch (viewModel.Auswahl) { case SourceEnum.NeuesEinzelteil: { var neuesWunschteil = new WunschteilViewModel(new WunschteilDto { Guid = Guid.NewGuid().ToString(), Komponente = viewModel.NeuViewModel.Komponente, Hersteller = viewModel.NeuViewModel.Hersteller, Beschreibung = viewModel.NeuViewModel.Beschreibung, Groesse = viewModel.NeuViewModel.Groesse, Jahr = viewModel.NeuViewModel.Jahr, Shop = viewModel.NeuViewModel.Shop, Link = viewModel.NeuViewModel.Link, DatenbankId = "", DatenbankLink = "", Preis = viewModel.NeuViewModel.Preis, Gewicht = viewModel.NeuViewModel.Gewicht }) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; neuesWunschteil.PropertyChanged += ContentPropertyChanged; neuesWunschteil.IsNeueKomponente = true; Wunschliste.Add(neuesWunschteil); break; } case SourceEnum.AusDatei: { var importer = new TeileImporter(); foreach (var item in importer.ImportWunschteile(viewModel.DateiViewModel.Datei)) { var neuesWunschteil = new WunschteilViewModel(item) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; neuesWunschteil.PropertyChanged += ContentPropertyChanged; neuesWunschteil.IsNeueKomponente = true; Wunschliste.Add(neuesWunschteil); } _dateiCache.AddRange(importer.DateiCache); break; } case SourceEnum.AusGewichtsdatenbank: { foreach (var teil in viewModel.DatenbankViewModel.Datenbankteile.Where(teil => teil.IsChecked).ToList()) { if (teil.IsChecked) { var neuesWunschteil = new WunschteilViewModel(new WunschteilDto { Guid = Guid.NewGuid().ToString(), Komponente = teil.Komponente, Hersteller = teil.Hersteller, Beschreibung = teil.Beschreibung, Groesse = teil.Groesse, Jahr = teil.Jahr, Shop = "", Link = "", DatenbankId = teil.DatenbankId, DatenbankLink = teil.DatenbankLink, Preis = 0, Gewicht = teil.Gewicht }) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen, GetDateiCacheFunc = GetDateiCache, SaveDateiCache = AktualisiereDateiCache }; neuesWunschteil.PropertyChanged += ContentPropertyChanged; neuesWunschteil.IsNeueKomponente = true; Wunschliste.Add(neuesWunschteil); } } break; } } IsDirty = true; } }