public override void defineToolbarContent() { //Datagrid erst jetzt befüllen fillRevenuesDataGrid(Revenue.GetRevenues(null, _currentPerson.PersonID)); }
/// <summary> /// Druck des Aufnahmeformulars /// </summary> /// <param name="personID">ID der Person</param> public static void printClientEnrolmentForm(int personID) { if (!LibreOffice.isLibreOfficeInstalled()) { string warning = IniParser.GetSetting("ERRORMSG", "libre"); MessageBoxEnhanced.Error(warning); } Person person; try { var persons = Person.GetPersons(personID).ToList(); person = persons.FirstOrDefault(); } catch { return; } string currentDir = System.IO.Directory.GetCurrentDirectory(); string path = IniParser.GetSetting("DOCUMENTS", "path").Replace("%PROGRAMPATH%", currentDir) + "\\" + IniParser.GetSetting("DOCUMENTS", "enrolmentForm"); List <string> toReplace = new List <string>(); List <string> replaceSt = new List <string>(); int rowsChildren = 6; int rowsRevenues = 8; if (person == null) { return; } toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Vorname></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.FirstName)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Nachname></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.LastName)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Strasse></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.Street)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><PLZ></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.ZipCode)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Ort></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.City)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Geburtstag></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.DateOfBirth)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Staatsangehoerigkeit></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.Nationality)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Geburtsland></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.CountryOfBirth)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Familienstand></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.FamilyState.Name)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Vorname_Partner></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.MaritalFirstName)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Nachname_Partner></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.MaritalLastName)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Geburtstag_Partner></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.MaritalBirthday)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Staatsangehoerigkeit_Partner></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.MaritalNationality)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Datum></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(DateTime.Now)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Gueltigkeitsende></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.ValidityEnd)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><KNR></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(person.TableNo)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Erfasser></text:placeholder>"); if (person.UserAccount != null) { replaceSt.Add(SafeStringParser.safeParseToStr(person.UserAccount.Username)); } else { replaceSt.Add(""); } // fülle Kinder IEnumerable <Child> children = Child.GetChildren(null, person.PersonID); int childIndex = 1; foreach (var child in children) { toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Index_" + childIndex + "></text:placeholder>"); replaceSt.Add("#" + childIndex); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Vorname_" + childIndex + "></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(child.FirstName)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Nachname_" + childIndex + "></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(child.LastName)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Geburtstag_" + childIndex + "></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(child.DateOfBirth)); childIndex++; } // Sorge dafür, dass die übrigen Zeilen beim Druck leer sind for (int i = childIndex; i <= rowsChildren; i++) { toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Index_" + i + "></text:placeholder>"); replaceSt.Add(""); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Vorname_" + i + "></text:placeholder>"); replaceSt.Add(""); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Nachname_" + i + "></text:placeholder>"); replaceSt.Add(""); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Kind_Geburtstag_" + i + "></text:placeholder>"); replaceSt.Add(""); } // fülle Einkünfte IEnumerable <Revenue> revenues = Revenue.GetRevenues(null, person.PersonID); int revenueIndex = 1; foreach (var revenue in revenues) { toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Einkunft_" + revenueIndex + "></text:placeholder>"); replaceSt.Add(revenue.RevenueType.Name + ": " + revenue.Description); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Bescheid_" + revenueIndex + "></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(revenue.StartDate)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Bewilligt_" + revenueIndex + "></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToStr(revenue.EndDate)); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Hoehe_" + revenueIndex + "></text:placeholder>"); replaceSt.Add(SafeStringParser.safeParseToMoney(revenue.Amount, true)); revenueIndex++; } // Sorge dafür, dass die übrigen Zeilen beim Druck leer sind for (int i = revenueIndex; i <= rowsRevenues; i++) { toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Einkunft_" + i + "></text:placeholder>"); replaceSt.Add(""); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Bescheid_" + i + "></text:placeholder>"); replaceSt.Add(""); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Bewilligt_" + i + "></text:placeholder>"); replaceSt.Add(""); toReplace.Add("<text:placeholder text:placeholder-type=\"text\"><Hoehe_" + i + "></text:placeholder>"); replaceSt.Add(""); } string tmpFilePath; bool success = LibreOffice.replaceXMLstringInODT(path, toReplace, replaceSt, out tmpFilePath); if (success) { LibreOffice.openWithWriter(tmpFilePath, true, true); } }