Ejemplo n.º 1
0
        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";
                }
            }
        }
Ejemplo n.º 2
0
 internal DateiViewModel(DateiDto datei)
 {
     Kategorie    = datei.Kategorie;
     Beschreibung = datei.Beschreibung;
     Dateiendung  = datei.Dateiendung;
     Guid         = datei.Guid;
     IsChecked    = true;
 }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        private void SaveDatei(DateiDto datei)
        {
            var liste = new List <DateiDto>();

            if (IsNeueKomponente)
            {
                liste.AddRange(GetDateiCacheFunc(Guid));
                liste.Add(datei);
                SaveDateiCache(Guid, liste);
            }
            else
            {
                PluginManager.DbManager.GetDateiInfos(Guid, ref liste);
                liste.Add(datei);
                PluginManager.DbManager.SaveDateiInfos(Guid, liste);
            }
        }
Ejemplo n.º 5
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);
        }