private void OnHinzufuegen() { var vm = new SzenarioKomponenteViewModel { Komponente = NeueKomponente, Gewicht = 0, Beschreibung = null, Guid = Guid.NewGuid().ToString(), AlternativeHersteller = NeuerHersteller, AlternativeBeschreibung = NeueBeschreibung, AlternativeGroesse = NeueGroesse, AlternativeJahr = NeuesJahr, AlternativeGewicht = NeuesGewicht, AlternativeVorhanden = true, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; VergleichsListe.Add(vm); 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); UpdateProperty("GesamtDifferenz"); UpdateProperty("GesamtGewichtAlternativen"); NeueKomponente = ""; NeuerHersteller = ""; NeueBeschreibung = ""; NeueGroesse = ""; NeuesJahr = ""; NeuesGewicht = 0; KomponenteEnabled = true; }
private void EinbauenGewichtsdatenbank(string komponente, string hersteller, string beschreibung, string groesse, string jahr, int gewicht) { var vm = new SzenarioKomponenteViewModel() { Komponente = komponente, Beschreibung = null, Gewicht = 0, Guid = Guid.NewGuid().ToString(), AlternativeHersteller = hersteller, AlternativeBeschreibung = beschreibung, AlternativeGroesse = groesse, AlternativeJahr = jahr, AlternativeGewicht = gewicht, AlternativeVorhanden = true, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; VergleichsListe.Add(vm); UpdateProperty("GesamtDifferenz"); UpdateProperty("GesamtGewichtAlternativen"); 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 EinbauenRestekiste(string guid) { var restteil = Restekiste.First(teil => teil.Guid == guid); if (restteil != null) { var vm = new SzenarioKomponenteViewModel() { Komponente = restteil.Komponente, Beschreibung = null, Gewicht = 0, Guid = restteil.Guid, AlternativeHersteller = restteil.Hersteller, AlternativeBeschreibung = restteil.Beschreibung, AlternativeGroesse = restteil.Groesse, AlternativeJahr = restteil.Jahr, AlternativeGewicht = restteil.Gewicht, AlternativeVorhanden = true, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; VergleichsListe.Add(vm); UpdateProperty("GesamtDifferenz"); UpdateProperty("GesamtGewichtAlternativen"); Restekiste.Remove(restteil); 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); } }
public SzenariorechnerViewModel(FahrradViewModel selectedFahrrad, List <KomponenteDto> alternativenListe) { var komponentenListe = new List <KomponenteDto>(); PluginManager.DbManager.GetKomponente(selectedFahrrad.Guid, ref komponentenListe); VergleichsListe = new ObservableCollection <SzenarioKomponenteViewModel>(); OhneAlternative = new ObservableCollection <OhneZuordnungViewModel>(); OhneKomponente = new ObservableCollection <OhneZuordnungViewModel>(); Restekiste = new ObservableCollection <SzenarioAlternativeViewModel>(); Wunschliste = new ObservableCollection <SzenarioAlternativeViewModel>(); foreach (var item in komponentenListe) { var vm = new SzenarioKomponenteViewModel() { Komponente = item.Komponente, Gewicht = item.Gewicht, Guid = item.Guid, Beschreibung = HilfsFunktionen.GetAnzeigeName(item), AlternativeVorhanden = false, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; var alternative = alternativenListe.Find(x => x.Komponente == item.Komponente); if (alternative != null) { vm.AlternativeHersteller = alternative.Hersteller; vm.AlternativeBeschreibung = alternative.Beschreibung; vm.AlternativeGroesse = alternative.Groesse; vm.AlternativeJahr = alternative.Jahr; vm.AlternativeGewicht = alternative.Gewicht; vm.AlternativeVorhanden = true; alternativenListe.Remove(alternative); } else { vm.AlternativeVorhanden = false; vm.AlternativeHersteller = ""; vm.AlternativeBeschreibung = ""; vm.AlternativeGroesse = ""; vm.AlternativeJahr = ""; vm.AlternativeGewicht = 0; var zuord = new OhneZuordnungViewModel { Guid = vm.Guid, Komponente = vm.Komponente, Beschreibung = vm.Beschreibung, Gewicht = vm.Gewicht, Differenz = -vm.Gewicht, Alternative = vm.AlternativeName }; zuord.ZuordnenAction = OnZuordnenOhneAlternative; OhneAlternative.Add(zuord); } VergleichsListe.Add(vm); } foreach (var item in alternativenListe) { var vm = new SzenarioKomponenteViewModel { Komponente = item.Komponente, Gewicht = 0, Beschreibung = null, Guid = item.Guid, AlternativeHersteller = item.Hersteller, AlternativeBeschreibung = item.Beschreibung, AlternativeGroesse = item.Groesse, AlternativeJahr = item.Jahr, AlternativeGewicht = item.Gewicht, AlternativeVorhanden = true, LoeschenAction = ZeileLoeschen }; vm.PropertyChanged += ContentPropertyChanged; VergleichsListe.Add(vm); var zuord = new OhneZuordnungViewModel { Guid = vm.Guid, Komponente = vm.Komponente, Beschreibung = vm.Beschreibung, Alternative = vm.AlternativeName, Gewicht = vm.AlternativeGewicht, Differenz = vm.AlternativeDifferenz }; zuord.ZuordnenAction = OnZuordnenOhneKomponente; OhneKomponente.Add(zuord); } SelectedKomponente = null; var restekiste = new List <RestteilDto>(); PluginManager.DbManager.GetEinzelteile(ref restekiste); foreach (var restteil in restekiste) { var vm = new SzenarioAlternativeViewModel() { Komponente = restteil.Komponente, Gewicht = restteil.Gewicht, Hersteller = restteil.Hersteller, Beschreibung = restteil.Beschreibung, Groesse = restteil.Groesse, Jahr = restteil.Jahr, Guid = restteil.Guid, Differenz = 0, EinbauenAction = EinbauenRestekiste, TauschenAction = TauschenRestekiste }; Restekiste.Add(vm); } AlleRestteile = CollectionViewSource.GetDefaultView(Restekiste); RestekisteFilterAktiv = true; AlleRestteile.Filter = FilterRestekiste; var wunschliste = new List <WunschteilDto>(); PluginManager.DbManager.GetWunschteile(ref wunschliste); foreach (var wunschteil in wunschliste) { var vm = new SzenarioAlternativeViewModel() { Komponente = wunschteil.Komponente, Gewicht = wunschteil.Gewicht, Hersteller = wunschteil.Hersteller, Beschreibung = wunschteil.Beschreibung, Groesse = wunschteil.Groesse, Jahr = wunschteil.Jahr, Guid = wunschteil.Guid, Differenz = 0, EinbauenAction = EinbauenWunschliste, TauschenAction = TauschenWunschliste }; Wunschliste.Add(vm); } AlleWunschteile = CollectionViewSource.GetDefaultView(Wunschliste); WunschlisteFilterAktiv = true; AlleWunschteile.Filter = FilterWunschliste; var datenbanken = new List <DatenbankDto> { new DatenbankDto { Datenbank = "mtb-news.de" }, new DatenbankDto { Datenbank = "rennrad-news.de" } }; PluginManager.DbManager.GetDatenbankDaten(ref datenbanken); DatenbankViewModel = new WebAuswahlViewModel(datenbanken, DatenbankModus.NoneSelection); DatenbankViewModel.EinbauenAction = EinbauenGewichtsdatenbank; DatenbankViewModel.TauschenAction = TauschenGewichtsdatenbank; NeueKomponente = ""; NeuerHersteller = ""; NeueBeschreibung = ""; NeueGroesse = ""; NeuesJahr = ""; KomponenteEnabled = true; NeuesFahrrad = ""; NameFahrrad = selectedFahrrad.Name; AlternativeBearbeiten = true; HinzufuegenCommand = new MyCommand(OnHinzufuegen); TauschenCommand = new MyCommand(OnTauschen); NeuesFahrradCommand = new MyParameterCommand <Window>(OnNeuesFahrrad); }