/// <summary>
        /// FilterSet speichern
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void saveFilterSet_Click(object sender, RoutedEventArgs e)
        {
            // Prüfe ob für das Statistiken/Listen-Modul
            if (this.useForListModule && string.IsNullOrEmpty(tbName.Text))
            {
                MessageBoxEnhanced.Error(IniParser.GetSetting("FORMLETTER", "noSetNameSpecified"));
                return;
            }

            // Keine leeren Filtersets zulassen
            if (!(listBox1.Items.Count > 0))
            {
                return;
            }

            // Lese Filter aus Filter-Liste
            foreach (var subitem in listBox1.Items)
            {
                currentFilterSet.addFilter(subitem as FilterModel);
            }

            // Wenn nicht für Listen-Modul, lege FilterSet im Speicher ab
            if (!this.useForListModule)
            {
                allFilterSets.Add(currentFilterSet);
            }

            // Für das Listen/Statistiken-Modul wird das FilterSet direkt in die Datenbank gespeichert
            if (this.useForListModule)
            {
                string name = tbName.Text;
                try
                {
                    int filterSetID = FilterSet.Add(name, currentFilterSet.linkingType);

                    // Bearbeite alle Filter zu jedem Set
                    foreach (var filter in currentFilterSet.filterList)
                    {
                        string table     = filter.group.ToString();
                        string type      = filter.criterion.ToString();
                        string operation = filter.operation.ToString();
                        string value     = filter.value;
                        int    filterID  = Filter.Add(filterSetID, table, type, operation, value);
                    }
                }
                catch
                {
                }
            }

            listBox1.IsEnabled          = false;
            listBox2.IsEnabled          = true;
            btDeleteSetButton.IsEnabled = true;
            refreshListBoxWithAllFilterSets();
            currentFilterSet = null;
            clearForm();
            tbName.Clear();
            deactivateForm();
        }
 /// <summary>
 /// alle Felder und Listen zurücksetzen
 /// </summary>
 public void resetEverything()
 {
     this.clearForm();
     listBox2.Items.Clear();
     allFilterSets            = new List <FilterSetModel>();
     currentFilterSet         = null;
     listBox1.IsEnabled       = false;
     btDeleteButton.IsEnabled = false;
     saveFilterSet.IsEnabled  = false;
     tbName.Clear();
 }
        /// <summary>
        /// Auswahl in FilterSet-Liste geändert
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void listBox2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (listBox2.Items.Count > 0)
            {
                FilterSetModel selectedFilterSet = listBox2.SelectedItem as FilterSetModel;
                if (selectedFilterSet != null)
                {
                    lbLinking.Content = selectedFilterSet.linkingType;
                    clearForm();
                    deactivateForm();

                    foreach (var filter in selectedFilterSet.filterList)
                    {
                        listBox1.Items.Add(filter);
                    }
                }
            }
        }
        /// <summary>
        /// UND-Verknüpftes FilterSet initalisieren
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void addFilterSetAND(object sender, RoutedEventArgs e)
        {
            if (this.useForListModule)
            {
                if (string.IsNullOrEmpty(tbName.Text))
                {
                    MessageBoxEnhanced.Error(IniParser.GetSetting("FILTER", "errorFilter"));
                    return;
                }
            }
            currentFilterSet = new FilterSetModel(IniParser.GetSetting("FILTER", "defaultAndString"));

            if (this.useForListModule)
            {
                currentFilterSet.name = tbName.Text;
            }

            clearForm();
            activateForm();
            lbLinking.Content = IniParser.GetSetting("FILTER", "defaultAndString");
        }
        /// <summary>
        /// FilterSet aus FilterSet-Liste rechts löschen
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void deleteFromFilterSetList_Click(object sender, RoutedEventArgs e)
        {
            FilterSetModel filterSet = listBox2.SelectedItem as FilterSetModel;

            if (filterSet != null)
            {
                listBox2.Items.Remove(listBox2.SelectedItem);
                this.allFilterSets.Remove(filterSet);

                if (listBox2.Items.Count == 0)
                {
                    listBox2.IsEnabled          = false;
                    btDeleteSetButton.IsEnabled = false;
                }

                listBox1.IsEnabled = false;
                refreshListBoxWithAllFilterSets();
                currentFilterSet = null;
                clearForm();
                tbName.Clear();
                deactivateForm();
            }
        }