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