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