/// <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);
        }
示例#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;
            }
        }