Esempio n. 1
0
        private bool Validate()
        {
            bool bReturn = false;

            switch (AktuellerDatenbankModus)
            {
            case DatenbankModus.SingleSelection:
            {
                bReturn = SelectedItem == null;
                break;
            }

            case DatenbankModus.MultiSelection:
            {
                bReturn = !Datenbankteile.Any(item => item.IsChecked);
                break;
            }

            case DatenbankModus.HerstellerKategorieSelection:
            {
                bool herstellerOk = true;
                bool kategorieOk  = true;

                if (HerstellerList.Count == 0 || SelectedHersteller.Key == null)
                {
                    herstellerOk = false;
                }

                if (KategorienList.Count == 0)
                {
                    kategorieOk = false;
                }
                else
                {
                    foreach (var item in KategorienList)
                    {
                        if (item.IsSelected && item.EnthaeltProdukte)
                        {
                            break;
                        }

                        kategorieOk = IsAnySelected(item);

                        if (kategorieOk)
                        {
                            break;
                        }
                    }
                }

                bReturn = !(herstellerOk && kategorieOk);
                break;
            }
            }

            return(bReturn);
        }
Esempio n. 2
0
        public void OnSuchen(Window window)
        {
            var selectedKategorie = string.Empty;

            foreach (var item in KategorienList)
            {
                selectedKategorie = GetSelectedKategorie(item);
                if (!string.IsNullOrWhiteSpace(selectedKategorie))
                {
                    break;
                }
            }
            var progressWindow = new WaitWindow(AusgewaelteDatenbank,
                                                UserApiToken,
                                                HerstellerSuchen ? SelectedHersteller.Key : "",
                                                KategorieSuchen ? selectedKategorie : "",
                                                "")
            {
                Owner = window
            };

            progressWindow.ShowDialog();

            if (progressWindow.Success)
            {
                Datenbankteile.Clear();
                foreach (var item in progressWindow.ResultList)
                {
                    if (AktuellerDatenbankModus == DatenbankModus.NoneSelection)
                    {
                        item.EinbauenAction = EinbauenAction;
                        item.TauschenAction = TauschenAction;
                        item.Differenz      = SelectedTeilGewicht == -1 ? 0 : item.Gewicht - SelectedTeilGewicht;
                    }
                    item.PropertyChanged += ContentPropertyChanged;
                    Datenbankteile.Add(item);
                }
                SelectedItem = null;

                UpdateProperty("KeineTeileVisible");
            }
            else
            {
                HilfsFunktionen.ShowMessageBox(window, "Teileliste", progressWindow.ErrorText, true);
            }
        }