private void _worker_DoWork(object sender, DoWorkEventArgs e) { try { var eventArgs = e.Argument as ApiEventArgs; if (eventArgs != null) { var apiHandler = new ApiHandler(); if (!String.IsNullOrWhiteSpace(eventArgs.ProduktId)) { var produkt = apiHandler.SucheEinzelnenArtikel(eventArgs.Datenbank, eventArgs.ApiToken, eventArgs.ProduktId); ResultProduktString += produkt.Data.Produkt.Kategorie.Title.Trim() + Environment.NewLine; ResultProduktString += produkt.Data.Produkt.Manufacturer.Name.Trim() + Environment.NewLine; ResultProduktString += produkt.Data.Produkt.Name.Trim() + Environment.NewLine; if (!string.IsNullOrWhiteSpace(produkt.Data.Produkt.Groesse)) { ResultProduktString += produkt.Data.Produkt.Groesse.Trim() + Environment.NewLine; } else { ResultProduktString += Environment.NewLine; } if (!string.IsNullOrWhiteSpace(produkt.Data.Produkt.Jahr)) { ResultProduktString += produkt.Data.Produkt.Jahr.Trim() + Environment.NewLine; } else { ResultProduktString += Environment.NewLine; } var converter = new Converter.IntToWeightConverter(); ResultProduktString += converter.Convert((int)produkt.Data.Produkt.Gewicht, null, null, null); ResultProduktLink = produkt.Data.Produkt.Url.Trim(); e.Result = true; } else if (string.IsNullOrWhiteSpace(eventArgs.HerstellerId) && string.IsNullOrWhiteSpace(eventArgs.KategorieId)) { ResultHerstellerDto = apiHandler.GetHerstellerListe(eventArgs.Datenbank, eventArgs.ApiToken); var resultDto = apiHandler.GetKategorienListe(eventArgs.Datenbank, eventArgs.ApiToken); KonvertiereKategorien(resultDto); e.Result = true; } else { bool herstellerMitnehmen = !string.IsNullOrWhiteSpace(eventArgs.HerstellerId); bool kategorienMitnehmen = !string.IsNullOrWhiteSpace(eventArgs.KategorieId); var produkteHersteller = new ResponseProduktListeDto(); var produkteKategorie = new ResponseProduktListeDto(); if (herstellerMitnehmen) { produkteHersteller = apiHandler.SucheArtikel(eventArgs.Datenbank, eventArgs.ApiToken, eventArgs.HerstellerId, true); } if (kategorienMitnehmen && !herstellerMitnehmen) { produkteKategorie = apiHandler.SucheArtikel(eventArgs.Datenbank, eventArgs.ApiToken, eventArgs.KategorieId, false); } if (herstellerMitnehmen && kategorienMitnehmen) { foreach (var item in produkteHersteller.Data.Produkte) { if (item.Produkt.Kategorie.Id == eventArgs.KategorieId) { var viewModel = new DatenbankteilAuswahlViewModel { Komponente = item.Produkt.Kategorie.Title, Hersteller = item.Produkt.Manufacturer.Name, DatenbankLink = item.Produkt.Url, DatenbankId = eventArgs.Datenbank + ":" + item.Produkt.Id, Beschreibung = item.Produkt.Name, Gewicht = (int)item.Produkt.Gewicht, Groesse = item.Produkt.Groesse, Jahr = item.Produkt.Jahr }; ResultList.Add(viewModel); } } } else if (herstellerMitnehmen) { foreach (var item in produkteHersteller.Data.Produkte) { var viewModel = new DatenbankteilAuswahlViewModel { Komponente = item.Produkt.Kategorie.Title, Hersteller = item.Produkt.Manufacturer.Name, DatenbankLink = item.Produkt.Url, DatenbankId = eventArgs.Datenbank + ":" + item.Produkt.Id, Beschreibung = item.Produkt.Name, Gewicht = (int)item.Produkt.Gewicht, Groesse = item.Produkt.Groesse, Jahr = item.Produkt.Jahr }; ResultList.Add(viewModel); } } else { foreach (var item in produkteKategorie.Data.Produkte) { var viewModel = new DatenbankteilAuswahlViewModel { Komponente = item.Produkt.Kategorie.Title, Hersteller = item.Produkt.Manufacturer.Name, DatenbankLink = item.Produkt.Url, DatenbankId = eventArgs.Datenbank + ":" + item.Produkt.Id, Beschreibung = item.Produkt.Name, Gewicht = (int)item.Produkt.Gewicht, Groesse = item.Produkt.Groesse, Jahr = item.Produkt.Jahr }; ResultList.Add(viewModel); } } e.Result = true; } } } catch (Exception ex) { e.Result = false; ErrorText = ex.Message; } }
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; }