internal DokumentViewModel(string komponenteGuid, DateiDto datei) { ChangeCommand = new MyParameterCommand <Window>(OnChange); FileCommand = new MyParameterCommand <Window>(OnFileManager); LoeschenCommand = new MyParameterCommand <Window>(OnLoeschen); NachObenCommand = new MyCommand(NachOben); NachUntenCommand = new MyCommand(NachUnten); Guid = datei.Guid; Kategorie = datei.Kategorie; Beschreibung = datei.Beschreibung; Dateiendung = datei.Dateiendung; KomponenteGuid = komponenteGuid; var dateiName = Path.Combine("Daten", KomponenteGuid, Guid + "." + Dateiendung); if (File.Exists(dateiName)) { var dateiInfo = new FileInfo(dateiName); Groesse = GetDateiGroesse(dateiInfo.Length); } else { dateiName = Path.Combine("Daten", "Temp", Guid + "." + Dateiendung); if (File.Exists(dateiName)) { var dateiInfo = new FileInfo(dateiName); Groesse = GetDateiGroesse(dateiInfo.Length); } else { Groesse = "0 Bytes"; } } }
internal FahrradViewModel() { LoeschenCommand = new MyParameterCommand <Window>(OnFahrradLoeschen); ChangeCommand = new MyParameterCommand <Window>(OnFahrradAendern); NachObenCommand = new MyCommand(OnNachOben); NachUntenCommand = new MyCommand(OnNachUnten); }
internal DokumentBearbeitenViewModel(string kategorie, bool mitDateiauswahl) { DateiViewModel = new CommonDateiViewModel(Enums.DateiOeffnenEnum.All); DateiViewModel.PropertyChanged += ContentPropertyChanged; OnOkCommand = new MyCommand(OnOkFunc); KategorieBearbeitenCommand = new MyParameterCommand <Window>(OnKategorieBearbeiten); MitDateiauswahl = mitDateiauswahl; IsOk = false; _originalKategorie = kategorie; var list = new List <string>(); PluginManager.DbManager.GetDateiKategorien(ref list); KategorieList = new ObservableCollection <string>(list); if (!string.IsNullOrWhiteSpace(kategorie)) { if (!KategorieList.Any(item => item == _originalKategorie)) { KategorieList.Add(_originalKategorie); } SelectedKategorie = KategorieList.FirstOrDefault(item => item == _originalKategorie); } else { SelectedKategorie = KategorieList.FirstOrDefault(); } }
public AlternativeViewModel() { Preis = 0; Einsparung = 0; TauschenCommand = new MyCommand(OnTauschen); ShopCommand = new MyParameterCommand <Window>(OnShopClick); }
internal WunschteilViewModel(WunschteilDto wunschteil) { Guid = wunschteil.Guid; Hersteller = wunschteil.Hersteller; Beschreibung = wunschteil.Beschreibung; Groesse = wunschteil.Groesse; Jahr = wunschteil.Jahr; Shop = wunschteil.Shop; Link = wunschteil.Link; DatenbankId = wunschteil.DatenbankId; DatenbankLink = wunschteil.DatenbankLink; Komponente = wunschteil.Komponente; Preis = wunschteil.Preis; Gewicht = wunschteil.Gewicht; IsNeueKomponente = false; ChangeCommand = new MyParameterCommand <Window>(OnChange); DatenbankCommand = new MyParameterCommand <Window>(OnDatenbank); ShopCommand = new MyParameterCommand <Window>(OnShopClick); FileCommand = new MyParameterCommand <Window>(OnFileManager); ClearCommand = new MyCommand(OnClear); LoeschenCommand = new MyCommand(OnLoeschen); NachObenCommand = new MyCommand(NachOben); NachUntenCommand = new MyCommand(NachUnten); }
internal KomponenteViewModel(KomponenteDto dto) { ChangeCommand = new MyParameterCommand <Window>(OnChange); DatenbankCommand = new MyParameterCommand <Window>(OnDatenbank); ShopCommand = new MyParameterCommand <Window>(OnLinkClick); FileCommand = new MyParameterCommand <Window>(OnFileManager); AusbauenCommand = new MyCommand(OnAusbauen); AlternativenCommand = new MyCommand(OnAlternativen); ClearCommand = new MyCommand(OnClear); LoeschenCommand = new MyCommand(OnLoeschen); NachObenCommand = new MyCommand(NachOben); NachUntenCommand = new MyCommand(NachUnten); IsNeueKomponente = false; Guid = dto.Guid; Komponente = dto.Komponente; Hersteller = dto.Hersteller; Beschreibung = dto.Beschreibung; Groesse = dto.Groesse; Jahr = dto.Jahr; Shop = dto.Shop; Link = dto.Link; DatenbankId = dto.DatenbankId; DatenbankLink = dto.DatenbankLink; Preis = dto.Preis; Gewicht = dto.Gewicht; Gekauft = dto.Gekauft; Gewogen = dto.Gewogen; Alternativen = new List <AlternativeViewModel>(); AlternativenAnzeigen = false; }
internal DateiAuswahlViewModel(string komponenteGuid, string titelText, DateiDto datei) { _komponenteGuid = komponenteGuid; _titelText = titelText; Guid = datei.Guid; Beschreibung = datei.Beschreibung; Dateiendung = datei.Dateiendung; DateiOeffnenCommand = new MyParameterCommand <Window>(OnOeffnen); }
internal KategorieViewModel(string kategorie) { Guid = System.Guid.NewGuid().ToString(); Kategorie = kategorie; ContextBarEnbaled = Kategorie != "Gewichtsmessung"; ChangeCommand = new MyParameterCommand <Window>(OnChange); LoeschenCommand = new MyCommand(OnLoeschen); NachObenCommand = new MyCommand(NachOben); NachUntenCommand = new MyCommand(NachUnten); }
internal EinzelteilBearbeitenViewModel(KomponenteDto einzelteil, EinzelteilBearbeitenEnum typ) { HasError = false; IsOk = false; Typ = typ; switch (Typ) { case EinzelteilBearbeitenEnum.Komponente: { TitelText = "Teileliste"; break; } case EinzelteilBearbeitenEnum.Restteil: { TitelText = "Restekiste"; break; } case EinzelteilBearbeitenEnum.Wunschteil: { TitelText = "Wunschliste"; break; } } DatenbankInfos = string.Empty; Komponente = einzelteil.Komponente; Hersteller = einzelteil.Hersteller; Beschreibung = einzelteil.Beschreibung; Groesse = einzelteil.Groesse; Jahr = einzelteil.Jahr; Shop = einzelteil.Shop; Link = einzelteil.Link; DatenbankId = einzelteil.DatenbankId; DatenbankLink = einzelteil.DatenbankLink; Preis = einzelteil.Preis; Gewicht = einzelteil.Gewicht; Gekauft = einzelteil.Gekauft; Gewogen = einzelteil.Gewogen; OnOkCommand = new MyCommand(OnOkFunc); VerknuepfungEntfernenCommand = new MyCommand(OnVerknuepfungEntfernen); ArtikelAufrufenCommand = new MyParameterCommand <Window>(OnArtikelAufrufen); ArtikelInfosAbrufenCommand = new MyParameterCommand <Window>(OnArtikelInfosAbrufen); }
internal KategorienVerwaltenViewModel(string currentKategorie) { ZuruecksetzenCommand = new MyCommand(Zureucksetzen); SichernCommand = new MyCommand(Sichern); HinzufuegenCommand = new MyParameterCommand <Window>(Hinzufuegen); _deletedItems = new List <string>(); var list = new List <string>(); PluginManager.DbManager.GetDateiKategorien(ref list); KategorienListe = new ObservableCollection <KategorieViewModel>(); foreach (var kategorie in list) { var viewModel = new KategorieViewModel(kategorie) { LoeschenAction = Loeschen, NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, GetBlackList = GetBlackList }; viewModel.PropertyChanged += ContentPropertyChanged; KategorienListe.Add(viewModel); } IsDirty = false; if (!string.IsNullOrWhiteSpace(currentKategorie)) { if (!KategorienListe.Any(item => item.Kategorie == currentKategorie)) { var viewModel = new KategorieViewModel(currentKategorie) { LoeschenAction = Loeschen, NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, GetBlackList = GetBlackList }; viewModel.PropertyChanged += ContentPropertyChanged; KategorienListe.Add(viewModel); IsDirty = true; } } }
internal WunschlisteViewModel() { Wunschliste = new ObservableCollection <WunschteilViewModel>(); _deletedItems = new List <LoeschenDto>(); _dateiCache = new List <Tuple <string, List <DateiDto> > >(); ExportformatCsv = true; ExportCommand = new MyParameterCommand <Window>(OnExport); ZuruecksetzenCommand = new MyCommand(Zureucksetzen); SichernCommand = new MyCommand(Sichern); HinzufuegenCommand = new MyParameterCommand <Window>(Hinzufuegen); IsDirty = false; Dispatcher.CurrentDispatcher.BeginInvoke(new Action(Zureucksetzen), DispatcherPriority.ApplicationIdle); }
public WebAuswahlViewModel(List <DatenbankDto> datenbanken, DatenbankModus aktuellerDatenbankModus) { KategorieSuchen = true; HerstellerSuchen = true; OnAbrufenCommand = new MyParameterCommand <Window>(OnAbrufen); OnSuchenCommand = new MyParameterCommand <Window>(OnSuchen); SelectedKategorieChangedCommand = new MyCommand(OnKategorieChanged); _datenbanken = datenbanken; Datenbankteile = new ObservableCollection <DatenbankteilAuswahlViewModel>(); KategorienList = new ObservableCollection <KategorienViewModel>(); HerstellerList = new ObservableCollection <KeyValuePair <string, string> >(); DatenbankQuellen = new ObservableCollection <string>(); AktuellerDatenbankModus = aktuellerDatenbankModus; AusgewaelteDatenbank = _datenbanken.First().Datenbank; UserApiToken = _datenbanken.First().ApiToken; foreach (var item in _datenbanken) { DatenbankQuellen.Add(item.Datenbank); if (item.IsDefault) { AusgewaelteDatenbank = item.Datenbank; UserApiToken = item.ApiToken; } } SelectedHersteller = HerstellerList.FirstOrDefault(); SelectedItem = null; SelectedTeilGewicht = -1; _apiTokenChanged = false; HasError = true; }
internal RestteilViewModel(RestteilDto restteil) { IsNeueKomponente = false; Guid = restteil.Guid; Komponente = restteil.Komponente; Hersteller = restteil.Hersteller; Beschreibung = restteil.Beschreibung; Groesse = restteil.Groesse; Jahr = restteil.Jahr; DatenbankId = restteil.DatenbankId; DatenbankLink = restteil.DatenbankLink; Preis = restteil.Preis; Gewicht = restteil.Gewicht; ChangeCommand = new MyParameterCommand <Window>(OnChange); DatenbankCommand = new MyParameterCommand <Window>(OnDatenbank); FileCommand = new MyParameterCommand <Window>(OnFileManager); ClearCommand = new MyCommand(OnClear); LoeschenCommand = new MyCommand(OnLoeschen); NachObenCommand = new MyCommand(NachOben); NachUntenCommand = new MyCommand(NachUnten); }
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); }
internal DateiManagerViewModel(string guid, string komponente, string hersteller, string beschreibung, bool isCachedKomponente, List <DateiDto> dateiListe) { DateiListe = new ObservableCollection <DokumentViewModel>(); _deletedItems = new List <string>(); SichernCommand = new MyParameterCommand <Window>(SichernVoid); HinzufuegenCommand = new MyParameterCommand <Window>(OnHinzufuegen); ExportCommand = new MyParameterCommand <Window>(OnExport); ZuruecksetzenCommand = new MyCommand(Zuruecksetzen); _komponenteGuid = guid; _komponenteKomponente = komponente; _komponenteHersteller = hersteller; _komponenteBeschreibung = beschreibung; _isCachedKomponente = isCachedKomponente; if (_isCachedKomponente) { DateiCache = new List <DateiDto>(dateiListe); foreach (var item in DateiCache) { var viewModel = new DokumentViewModel(_komponenteGuid, item) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen }; viewModel.PropertyChanged += ContentPropertyChanged; DateiListe.Add(viewModel); } } else { DateiCache = new List <DateiDto>(); if (Directory.Exists(Path.Combine("Daten", _komponenteGuid))) { var liste = new List <DateiDto>(); PluginManager.DbManager.GetDateiInfos(_komponenteGuid, ref liste); foreach (var datei in liste) { var viewModel = new DokumentViewModel(_komponenteGuid, datei) { NachObenAction = NachObenSortieren, NachUntenAction = NachUntenSortieren, LoeschenAction = Loeschen }; viewModel.PropertyChanged += ContentPropertyChanged; DateiListe.Add(viewModel); } } } IsDirty = false; }
internal MessungHochladenViewModel(KomponenteDto einzelteil, List <DateiDto> listeDateien, EinzelteilBearbeitenEnum typ) { DatenbankInfos = ""; switch (typ) { case EinzelteilBearbeitenEnum.Komponente: { TitelText = "Teileliste"; break; } case EinzelteilBearbeitenEnum.Restteil: { TitelText = "Restekiste"; break; } case EinzelteilBearbeitenEnum.Wunschteil: { TitelText = "Wunschliste"; break; } } DatenbankLink = einzelteil.DatenbankLink; if (!string.IsNullOrWhiteSpace(einzelteil.DatenbankId)) { var index = einzelteil.DatenbankId.IndexOf(':'); if (index > 0) { Datenbank = einzelteil.DatenbankId.Substring(0, index); ProduktId = einzelteil.DatenbankId.Substring(index + 1); } } var converter = new Converter.IntToWeightConverter(); Artikeltext = einzelteil.Komponente + " " + HilfsFunktionen.GetAnzeigeName(einzelteil.Hersteller, einzelteil.Beschreibung, einzelteil.Groesse, einzelteil.Jahr) + " " + converter.Convert(einzelteil.Gewicht, null, null, null); OnHochladenCommand = new MyParameterCommand <Window>(OnHochladen); ArtikelInfosAbrufenCommand = new MyParameterCommand <Window>(OnArtikelInfosAbrufen); ArtikelAufrufenCommand = new MyParameterCommand <Window>(OnArtikelAufrufen); DateiViewModel = new CommonDateiViewModel(DateiOeffnenEnum.Image); DateiViewModel.PropertyChanged += ContentPropertyChanged; Gewicht = einzelteil.Gewicht; _guid = einzelteil.Guid; var liste = new List <DateiDto>(listeDateien); liste.RemoveAll(item => item.Kategorie != "Gewichtsmessung"); liste.RemoveAll(item => !(item.Dateiendung.ToLower() == "png" || item.Dateiendung.ToLower() == "jpg" || item.Dateiendung.ToLower() == "jpeg")); NeuesAusgewaehlt = liste.Count == 0; AuswahlEnabled = liste.Count > 0; DateiListe = new ObservableCollection <DateiAuswahlViewModel>(); foreach (var item in liste) { DateiListe.Add(new DateiAuswahlViewModel(_guid, TitelText, item)); } SelectedDatei = DateiListe.FirstOrDefault(); HasError = CheckForError(); }
public EinzelteilZuordnenViewModel(KomponenteDto einzelteil, List <DateiDto> listeDateien, EinzelteilBearbeitenEnum typ) { IsOk = false; switch (typ) { case EinzelteilBearbeitenEnum.Komponente: { TitelText = "Teileliste"; break; } case EinzelteilBearbeitenEnum.Restteil: { TitelText = "Restekiste"; break; } case EinzelteilBearbeitenEnum.Wunschteil: { TitelText = "Wunschliste"; break; } } var converter = new Converter.IntToWeightConverter(); Artikeltext = einzelteil.Komponente + " " + HilfsFunktionen.GetAnzeigeName(einzelteil.Hersteller, einzelteil.Beschreibung, einzelteil.Groesse, einzelteil.Jahr) + " " + converter.Convert(einzelteil.Gewicht, null, null, null); ResultDatenbankLink = ""; ResultDatenbankId = ""; 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.SingleSelection); DatenbankViewModel.PropertyChanged += ContentPropertyChanged; AnlegenViewModel = new ArtikelAnlegenViewModel(datenbanken, listeDateien, einzelteil); AnlegenViewModel.PropertyChanged += ContentPropertyChanged; BestehendSuchen = true; OnOkCommand = new MyParameterCommand <Window>(OnOkFunc); HasError = true; }