/// <summary>
        /// Bestätigung Druck
        /// Generiert Daten und öffnet LibreOFfice
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConfirm_Click(object sender, RoutedEventArgs e)
        {
            FormletterPattern frmltrPattern = FormletterPattern.GetFormletterPatterns(formletterPatternID).ToList().FirstOrDefault();

            FormletterFilterData formletterFilterData = new FormletterFilterData(formletterPatternID);
            bool success = formletterFilterData.fillCsvFile();
            if (success)
            {
                LibreOffice.openWithWriter(frmltrPattern.FileName, false, false);
            }

            // Generiere wieder die Druckseite
            KPage formletterPrint = new pFormletterPrint();
            SinglePage formletter = new SinglePage(IniParser.GetSetting("FORMLETTER", "formletterPrint"), formletterPrint);
        }
Beispiel #2
0
        /// <summary>
        /// Die Methode fuehrt die noetigen Schritte aus um eine Gruppe von Personen mit Hilfe eines FilterSets zu filtern
        /// und anschliessend im DataGrid anzuzeigen
        /// </summary>
        private void filterGroupWithFilterSet(IEnumerable<FilterSet> filterSets)
        {
            // Liste fuer die "geparsten" FilterSetModels
            List<FilterSetModel> filterSetModels = new List<FilterSetModel>();

            // Liste mit "geparsten" FilterSetModels befuellen indem jedes Element aus filterSets geparst wird
            foreach (var set in filterSets)
                filterSetModels.Add( FilterSetModelDB.getFilterSetModelFromFilterSet(set) );

            // Es werden jeweils Ein- und Ausgabelisten fuer Personen, Sponsoren und Teammitglieder angelegt
            IEnumerable<Person> unfilteredPersons = Person.GetPersons();
            IEnumerable<Sponsor> unfilteredSponsors = Sponsor.GetSponsors();
            IEnumerable<Team> unfilteredTeamMembers = Team.GetTeams();
            List<Person> filteredPersons = new List<Person>();
            List<Sponsor> filteredSponsors = new List<Sponsor>();
            List<Team> filteredTeamMembers = new List<Team>();

            // Es wird die Klasse FormletterFilterData verwendet um die Listen zu filtern
            FormletterFilterData fd = new FormletterFilterData();
            fd.filterRecordsByFilterSets(filterSetModels, unfilteredPersons, unfilteredSponsors, unfilteredTeamMembers, ref filteredPersons, ref filteredSponsors, ref filteredTeamMembers);

            // Je nachdem ob im Filter Kunde, Sponsor, Mitarbeiter ausgewaehlt ist wird die jeweilige Liste an das DataGrid uebergeben
            FilterSet filterSet = filterSets.ElementAt(0);
            IEnumerable<Filter> filters = Filter.GetFilters(null, filterSet.FilterSetID, null, null);
            switch (filters.ElementAt(0).Table)
            {
                case "Kunde":
                    dGSavedFilter.ItemsSource = filteredPersons;
                    break;
                case "Sponsor":
                    dGSavedFilter.ItemsSource = filteredSponsors;
                    break;
                case "Mitarbeiter":
                    dGSavedFilter.ItemsSource = filteredTeamMembers;
                    break;
            }
        }