Exemplo n.º 1
0
        private void Loeschen(string guid)
        {
            var item = Wunschliste.First(teil => teil.Guid == guid);

            _deletedItems.Add(new LoeschenDto {
                Guid = item.Guid, DokumenteLoeschen = true
            });
            Wunschliste.Remove(item);
            var datei = _dateiCache.FirstOrDefault(teil => teil.Item1 == guid);

            if (datei != null)
            {
                foreach (var file in datei.Item2)
                {
                    try
                    {
                        File.Delete(Path.Combine("Daten", "Temp", file.Guid + "." + file.Dateiendung));
                    }
                    catch (Exception)
                    {
                    }
                }
                _dateiCache.Remove(datei);
            }

            IsDirty = true;
        }
Exemplo n.º 2
0
        public void Sichern()
        {
            PluginManager.DbManager.DeleteTeile(_deletedItems);
            _deletedItems.Clear();
            PluginManager.DbManager.SaveWunschteile(Wunschliste.Select(item => new WunschteilDto
            {
                Guid          = item.Guid,
                Komponente    = item.Komponente,
                Hersteller    = item.Hersteller,
                Beschreibung  = item.Beschreibung,
                Groesse       = item.Groesse,
                Jahr          = item.Jahr,
                Shop          = item.Shop,
                Link          = item.Link,
                DatenbankId   = item.DatenbankId,
                DatenbankLink = item.DatenbankLink,
                Preis         = item.Preis,
                Gewicht       = item.Gewicht
            }).ToList());

            foreach (var item in _dateiCache)
            {
                PluginManager.DbManager.SaveDateiInfos(item.Item1, item.Item2);
            }

            foreach (var item in Wunschliste)
            {
                item.IsNeueKomponente = false;
            }

            IsDirty = false;
        }
Exemplo n.º 3
0
        public void NachUntenSortieren(string guid)
        {
            var teil1 = Wunschliste.First(teil => teil.Guid == guid);

            if (teil1 != null && Wunschliste.IndexOf(teil1) + 1 < Wunschliste.Count)
            {
                var teil2 = Wunschliste[Wunschliste.IndexOf(teil1) + 1];

                if (teil2 != null)
                {
                    Wunschliste.Move(Wunschliste.IndexOf(teil1), Wunschliste.IndexOf(teil2));
                    IsDirty = true;
                }
            }
        }
Exemplo n.º 4
0
        public void Zureucksetzen()
        {
            Wunschliste.Clear();
            _deletedItems.Clear();

            foreach (var item in _dateiCache)
            {
                foreach (var file in item.Item2)
                {
                    try
                    {
                        File.Delete(Path.Combine("Daten", "Temp", file.Guid + "." + file.Dateiendung));
                    }
                    catch (Exception)
                    {
                    }
                }
            }
            _dateiCache.Clear();

            var teileliste = new List <WunschteilDto>();

            PluginManager.DbManager.GetWunschteile(ref teileliste);

            foreach (var item in teileliste)
            {
                var viewModel = new WunschteilViewModel(item)
                {
                    LoeschenAction    = Loeschen,
                    NachObenAction    = NachObenSortieren,
                    NachUntenAction   = NachUntenSortieren,
                    GetDateiCacheFunc = GetDateiCache,
                    SaveDateiCache    = AktualisiereDateiCache
                };
                viewModel.PropertyChanged += ContentPropertyChanged;
                Wunschliste.Add(viewModel);
            }

            IsDirty = false;
        }
        private void TauschenWunschliste(string guid)
        {
            var wunschteil = Wunschliste.First(teil => teil.Guid == guid);

            if (wunschteil != null)
            {
                SelectedKomponente.AlternativeVorhanden    = true;
                SelectedKomponente.AlternativeHersteller   = wunschteil.Hersteller;
                SelectedKomponente.AlternativeBeschreibung = wunschteil.Beschreibung;
                SelectedKomponente.AlternativeGroesse      = wunschteil.Groesse;
                SelectedKomponente.AlternativeJahr         = wunschteil.Jahr;
                SelectedKomponente.AlternativeGewicht      = wunschteil.Gewicht;
                UpdateProperty("GesamtDifferenz");
                UpdateProperty("GesamtGewichtAlternativen");
                Wunschliste.Remove(wunschteil);

                if (AlternativeBearbeiten)
                {
                    NeuerHersteller  = wunschteil.Hersteller;
                    NeueBeschreibung = wunschteil.Beschreibung;
                    NeueGroesse      = wunschteil.Groesse;
                    NeuesJahr        = wunschteil.Jahr;
                    NeuesGewicht     = wunschteil.Gewicht;
                }

                var ohneAlternative = OhneAlternative.FirstOrDefault(teil => teil.Guid == SelectedKomponente.Guid);
                if (ohneAlternative != null)
                {
                    OhneAlternative.Remove(ohneAlternative);
                }

                var ohneZuordnung = OhneKomponente.FirstOrDefault(teil => teil.Guid == SelectedKomponente.Guid);
                if (ohneZuordnung != null)
                {
                    ohneZuordnung.Komponente  = SelectedKomponente.Komponente;
                    ohneZuordnung.Alternative = SelectedKomponente.AlternativeName;
                    ohneZuordnung.Gewicht     = wunschteil.Gewicht;
                }
            }
        }
        private void EinbauenWunschliste(string guid)
        {
            var wunschteil = Wunschliste.First(teil => teil.Guid == guid);

            if (wunschteil != null)
            {
                var vm = new SzenarioKomponenteViewModel()
                {
                    Komponente              = wunschteil.Komponente,
                    Beschreibung            = null,
                    Gewicht                 = 0,
                    Guid                    = wunschteil.Guid,
                    AlternativeHersteller   = wunschteil.Hersteller,
                    AlternativeBeschreibung = wunschteil.Beschreibung,
                    AlternativeGroesse      = wunschteil.Groesse,
                    AlternativeJahr         = wunschteil.Jahr,
                    AlternativeGewicht      = wunschteil.Gewicht,
                    AlternativeVorhanden    = true,
                    LoeschenAction          = ZeileLoeschen
                };
                vm.PropertyChanged += ContentPropertyChanged;
                VergleichsListe.Add(vm);
                UpdateProperty("GesamtDifferenz");
                UpdateProperty("GesamtGewichtAlternativen");
                Wunschliste.Remove(wunschteil);

                var ohneZuordnung = new OhneZuordnungViewModel
                {
                    Guid         = vm.Guid,
                    Komponente   = vm.Komponente,
                    Beschreibung = vm.Beschreibung,
                    Alternative  = vm.AlternativeName,
                    Gewicht      = vm.AlternativeGewicht,
                    Differenz    = vm.AlternativeDifferenz
                };
                ohneZuordnung.ZuordnenAction = OnZuordnenOhneKomponente;
                OhneKomponente.Add(ohneZuordnung);
            }
        }
Exemplo n.º 7
0
        private void Hinzufuegen(Window window)
        {
            var dialog = new NeuesEinzelteilDialog
            {
                Top   = window.Top + 40,
                Left  = window.Left + (window.ActualWidth - 600) / 2,
                Owner = window
            };
            var viewModel = new NeuesEinzelteilViewModel(EinzelteilBearbeitenEnum.Wunschteil,
                                                         new List <EinzelteilAuswahlViewModel>(),
                                                         new List <WunschteilAuswahlViewModel>())
            {
                CloseAction = dialog.Close
            };

            dialog.DataContext = viewModel;
            dialog.ShowDialog();

            if (viewModel.IsOk)
            {
                switch (viewModel.Auswahl)
                {
                case SourceEnum.NeuesEinzelteil:
                {
                    var neuesWunschteil = new WunschteilViewModel(new WunschteilDto
                        {
                            Guid          = Guid.NewGuid().ToString(),
                            Komponente    = viewModel.NeuViewModel.Komponente,
                            Hersteller    = viewModel.NeuViewModel.Hersteller,
                            Beschreibung  = viewModel.NeuViewModel.Beschreibung,
                            Groesse       = viewModel.NeuViewModel.Groesse,
                            Jahr          = viewModel.NeuViewModel.Jahr,
                            Shop          = viewModel.NeuViewModel.Shop,
                            Link          = viewModel.NeuViewModel.Link,
                            DatenbankId   = "",
                            DatenbankLink = "",
                            Preis         = viewModel.NeuViewModel.Preis,
                            Gewicht       = viewModel.NeuViewModel.Gewicht
                        })
                    {
                        NachObenAction    = NachObenSortieren,
                        NachUntenAction   = NachUntenSortieren,
                        LoeschenAction    = Loeschen,
                        GetDateiCacheFunc = GetDateiCache,
                        SaveDateiCache    = AktualisiereDateiCache
                    };
                    neuesWunschteil.PropertyChanged += ContentPropertyChanged;
                    neuesWunschteil.IsNeueKomponente = true;
                    Wunschliste.Add(neuesWunschteil);

                    break;
                }

                case SourceEnum.AusDatei:
                {
                    var importer = new TeileImporter();
                    foreach (var item in importer.ImportWunschteile(viewModel.DateiViewModel.Datei))
                    {
                        var neuesWunschteil = new WunschteilViewModel(item)
                        {
                            NachObenAction    = NachObenSortieren,
                            NachUntenAction   = NachUntenSortieren,
                            LoeschenAction    = Loeschen,
                            GetDateiCacheFunc = GetDateiCache,
                            SaveDateiCache    = AktualisiereDateiCache
                        };
                        neuesWunschteil.PropertyChanged += ContentPropertyChanged;
                        neuesWunschteil.IsNeueKomponente = true;
                        Wunschliste.Add(neuesWunschteil);
                    }
                    _dateiCache.AddRange(importer.DateiCache);

                    break;
                }

                case SourceEnum.AusGewichtsdatenbank:
                {
                    foreach (var teil in viewModel.DatenbankViewModel.Datenbankteile.Where(teil => teil.IsChecked).ToList())
                    {
                        if (teil.IsChecked)
                        {
                            var neuesWunschteil = new WunschteilViewModel(new WunschteilDto
                                {
                                    Guid          = Guid.NewGuid().ToString(),
                                    Komponente    = teil.Komponente,
                                    Hersteller    = teil.Hersteller,
                                    Beschreibung  = teil.Beschreibung,
                                    Groesse       = teil.Groesse,
                                    Jahr          = teil.Jahr,
                                    Shop          = "",
                                    Link          = "",
                                    DatenbankId   = teil.DatenbankId,
                                    DatenbankLink = teil.DatenbankLink,
                                    Preis         = 0,
                                    Gewicht       = teil.Gewicht
                                })
                            {
                                NachObenAction    = NachObenSortieren,
                                NachUntenAction   = NachUntenSortieren,
                                LoeschenAction    = Loeschen,
                                GetDateiCacheFunc = GetDateiCache,
                                SaveDateiCache    = AktualisiereDateiCache
                            };
                            neuesWunschteil.PropertyChanged += ContentPropertyChanged;
                            neuesWunschteil.IsNeueKomponente = true;
                            Wunschliste.Add(neuesWunschteil);
                        }
                    }
                    break;
                }
                }

                IsDirty = true;
            }
        }