Пример #1
0
        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;
        }
Пример #2
0
        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();
        }
Пример #4
0
        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);
        }
Пример #5
0
        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;
        }