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 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); }
public ArtikelAnlegenViewModel(List <DatenbankDto> datenbanken, List <DateiDto> listeDateien, KomponenteDto einzelteil) { DatenbankViewModel = new WebAuswahlViewModel(datenbanken, DatenbankModus.HerstellerKategorieSelection); DatenbankViewModel.PropertyChanged += ContentPropertyChanged; DateiViewModel = new CommonDateiViewModel(DateiOeffnenEnum.Image); DateiViewModel.PropertyChanged += ContentPropertyChanged; Beschreibung = einzelteil.Beschreibung; Groesse = einzelteil.Groesse; Jahr = einzelteil.Jahr; Gewicht = einzelteil.Gewicht; GewichtHersteller = 0; Kommentar = ""; Link = ""; 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, "Teileliste", item)); } SelectedDatei = DateiListe.FirstOrDefault(); HasError = HasValidationError(); }
internal List <KomponenteDto> ImportFahrrad(string dateiName) { BereiteDateiAuf(dateiName); var list = new List <KomponenteDto>(); using (var reader = new StreamReader(_komponenteCsv, Encoding.Default)) { while (!reader.EndOfStream) { var line = reader.ReadLine(); if (line != null && !line.Equals(CsvFormatter.CsvHeaderV1) && !line.Equals(CsvFormatter.CsvHeaderV2) && !line.Equals(CsvFormatter.CsvHeaderV3) && (line.Count(x => x == ';') == 7 || line.Count(x => x == ';') == 12 || line.Count(x => x == ';') == 13) && line.Length > 7 && !line.StartsWith("Summe gesamt") && !line.StartsWith("Summe bez./gew.")) { var values = line.Split(';'); if (!string.IsNullOrWhiteSpace(values[0])) { var guid = Guid.NewGuid().ToString(); var dto = new KomponenteDto { Guid = guid, Komponente = values[0], Beschreibung = values[1], Shop = values[2], Link = values[3], }; int intValue; if (int.TryParse(values[4], out intValue)) { dto.Preis = intValue >= 0 ? intValue : 0; } dto.Gekauft = values[5] == "True"; if (int.TryParse(values[6], out intValue)) { dto.Gewicht = intValue >= 0 ? intValue : 0; } dto.Gewogen = values[7] == "True"; if (values.Length >= 13) { dto.Hersteller = values[8]; dto.Groesse = values[9]; dto.Jahr = values[10]; dto.DatenbankId = values[11]; dto.DatenbankLink = values[12]; if (values.Length == 14) { if (_isZip) { var dateiList = new List <DateiDto>(); var fileGuid = values[13]; foreach (var file in _dateiVerzeichnis.Where(item => item.ParentGuid == fileGuid).ToList()) { var dateiDto = new DateiDto { Guid = Guid.NewGuid().ToString(), Dateiendung = file.Dateiendung, Kategorie = file.Kategorie, Beschreibung = file.Beschreibung ?? "" }; try { File.Copy(Path.Combine("Daten", "Temp", _guid, file.FileName), Path.Combine("Daten", "Temp", dateiDto.Guid + "." + dateiDto.Dateiendung)); dateiList.Add(dateiDto); } catch (Exception) { } } if (dateiList.Count > 0) { DateiCache.Add(new Tuple <string, List <DateiDto> >(guid, dateiList)); } } } } else { dto.Hersteller = ""; dto.Groesse = ""; dto.Jahr = ""; dto.DatenbankId = ""; dto.DatenbankLink = ""; } list.Add(dto); } } } reader.Close(); } CleanUp(); if (list.Count == 0) { throw new Exception("Keine Daten zum importieren vorhanden."); } return(list); }
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; }