示例#1
0
文件: PrintOut.cs 项目: heinzsack/DEV
	    public void CreatePlakatListingsDependingOnAssignmentStatus(DataWrapper.SortOrder SortCriteria,
		    Basics.DataSelection SpecialPhase, String[] SecurityGroupParameter,
		    bool WithOrWithoutPlakate, bool WithOrWithoutActivities, bool WithOrWithoutTermine,
		    String OutputFileName, String HeadLine, WSPlakatContentType wsPlakatContentType)
		    {
			DocumentPrintOut.ActuallOutputType = DocumentPrintOut.OutputType.RTFDocument;
			DocumentPrintOut PlakatWriter = new DocumentPrintOut
				(System.IO.Path.Combine(DataWrapper.Instance.TargetDirectory, OutputFileName),
					false);
				bool PageBreakRequested = false;
				PlakatWriter.WriteLine(DocumentPrintOut.ElementType.Heading1, HeadLine);
				foreach (Organisation Klasse in
						Data.DbServer3.WordUp.Organisationen.AktuelleKlassen.OrderBy(klasse => klasse.CodeName))
					{
					int NumberOfPlakateDerKlasse = Data.DbServer3.WordUp.WSPlakate
						.Count(whe => whe.Organisation == Klasse);
					int NumberOfAssignedPlakateDerKlasse = Data.DbServer3.WordUp.WSPlakate
						.Count(whe => whe.Organisation == Klasse
								&& whe.Projekt != null);
					int NumberOfUnAssignedPlakateDerKlasse = Data.DbServer3.WordUp.WSPlakate
						.Count(whe => whe.Organisation == Klasse
								&& whe.Projekt == null);
					switch (wsPlakatContentType)
						{
						case WSPlakatContentType.alle:
								break;
						case WSPlakatContentType.Zugeordnet:
								if (NumberOfAssignedPlakateDerKlasse == 0)
									continue;
							break;
						case WSPlakatContentType.nichtZugeordnet:
						if (NumberOfUnAssignedPlakateDerKlasse == 0)
							continue;
						break;
						}
				if (PageBreakRequested)
						PlakatWriter.InsertPageBreak();
					PageBreakRequested = false;
					IEnumerable<WSPlakat> PlakateAusKlasse = Klasse.WSPlakate;
					PlakatWriter.WriteLine(DocumentPrintOut.ElementType.Heading2, $"Plakate der Klasse {Klasse.CodeName} " +
						$"alle {NumberOfPlakateDerKlasse} nZug. {NumberOfUnAssignedPlakateDerKlasse} Zug. {NumberOfAssignedPlakateDerKlasse}");
					Termin connectedWSTermin = Data.DbServer3.WordUp.OrganisationenZuTerminen
							.Where(whe => whe.Organisation == Klasse).Select(sel => sel.Termin)
							.Where(whe => whe.TermineTypId == TermineTypen.WS
										|| whe.TermineTypId == TermineTypen.OeffWS).FirstOrDefault();
					List<String> Betreuer = new List<string>();
					foreach (PersonZuTermin personZuTermin in connectedWSTermin.PersonenZuTerminen)
						Betreuer.Add(personZuTermin.Person.VorName + " " + personZuTermin.Person.FamilienName);
					String BetreuerNamen = String.Join(", ", Betreuer);
					PlakatWriter.WriteLine(DocumentPrintOut.ElementType.ContentLevel1, $"Betreuer beim Workshop: {BetreuerNamen}");
					if (PlakateAusKlasse.Count() == 0)
						{
						PlakatWriter.WriteLine(DocumentPrintOut.ElementType.ContentLevel1, "Bisher keine Plakate erfasst");
						continue;
						}

					String OldPlakat = String.Empty;
					PageBreakRequested = true; //More than 0 Plakatlines available
					foreach (WSPlakat PlakatZeile in PlakateAusKlasse.OrderBy(plakat => plakat.ErfassungsId))
						{
						String projektNumber = String.Empty;
						switch (wsPlakatContentType)
							{
							case WSPlakatContentType.alle:
								break;
							case WSPlakatContentType.nichtZugeordnet:
								if (PlakatZeile.Projekt != null)
									continue;
								break;
							case WSPlakatContentType.Zugeordnet:
								if (PlakatZeile.Projekt == null)
									continue;
							projektNumber = PlakatZeile.Projekt.NumericProjektId + " - ";
							break;
							}

						if (OldPlakat != PlakatZeile.PlakatID)
							{
							OldPlakat = PlakatZeile.PlakatID;
							PlakatWriter.WriteLine(DocumentPrintOut.ElementType.Heading2, "Plakat # " + OldPlakat);
							}
						PlakatWriter.WriteLine(DocumentPrintOut.ElementType.ContentLevel1,
							$"- {projektNumber}" + PlakatZeile.LangBeschreibung);
						PlakatWriter.WriteLine(DocumentPrintOut.ElementType.ContentLevel2,
								$"  {PlakatZeile.Ort.Bezeichnung} - " +
										$"({PlakatZeile.OrtsHinweis})");
						}
					}

			PlakatWriter.Close();
			}
示例#2
0
文件: PrintOut.cs 项目: heinzsack/DEV
 private void CreateDocumentation(String FileName)
     {
     if (DocumentationForPrintouts.Keys.Count == 0)
         {
         DocumentationForPrintouts["TMT"] = "Termine mit den einzuladenden Teilnehmern (Terminübersichten)";
         DocumentationForPrintouts["O"] = "Liste der beteiligten Organisationen";
         DocumentationForPrintouts["P"] = "Liste der beteiligten Personen";
         DocumentationForPrintouts["PMT"] = "Personen mit deren Terminen (Terminübersicht pro Person)";
         DocumentationForPrintouts["TIO"] =
             "Termine, die in Organisationen abgehalten werden (Was geschieht Wo und Wann)";
         DocumentationForPrintouts["TVO"] =
             "Organisationen mit deren Personen und mit deren Terminen (Welche Organisation entsendet Ihre Mitarbeiter Wann Wohin)";
         }
     DocumentPrintOut Writer = new DocumentPrintOut(FileName, false);
     foreach (String Doc in DocumentationForPrintouts.Keys)
         Writer.WriteLine(Doc + "\t" + DocumentationForPrintouts[Doc]);
     Writer.Close();
     }
示例#3
0
文件: PrintOut.cs 项目: heinzsack/DEV
        private void CreateProjectPrintoutforWholeTableWithCummulatedOrtsBezeichnung(DataTable SortableProjekte,
            String FileName,
            List<System.Guid>
                UpdatedSinceLastCheckPoint,
            bool ChangedOrUnChanged,
            String Description,
            bool BreakByArbeitsGruppenNameID = true,
            bool BreakByZustaendig = true,
            bool BreakByOrtsTeil = true,
            bool BreakByOrtsBezeichnung = true,
            bool WithOrWithoutPlakate = true,
            bool WithOrWithoutActivities = true,
            String PrintThisSecurityGroup = "ProfisFull")
            {
            DocumentPrintOut.ActuallOutputType = DocumentPrintOut.OutputType.RTFDocument;
            DocumentPrintOut ProjectWriter = new DocumentPrintOut(FileName, false);
            if (WithOrWithoutActivities == true)
                ProjectWriter.PrintThisSecurityGroup = PrintThisSecurityGroup;
            if (WithOrWithoutPlakate == true)
                ProjectWriter.WithOrWithoutPlakate = WithOrWithoutPlakate;
            if (String.IsNullOrEmpty(Description) == false)
                {
                ProjectWriter.WriteLine(DocumentPrintOut.ElementType.ContentLevel1, Description,
                    "0, 0, 0, 0", 0);
                }

            String OldArbeitsGruppenNameID = String.Empty;
            bool PageBreakHasBeenSetBefore = false;
            String OldOrtsTeil = String.Empty;
            String OldZustaendig = String.Empty;
            String OldOrteBezeichnung = String.Empty;
            int RunningNumber = 0;
            foreach (DataRow ProjectEntry in SortableProjekte.Rows)
                {
                PageBreakHasBeenSetBefore = false;
                if ((BreakByArbeitsGruppenNameID == true)
                    && (OldArbeitsGruppenNameID != ProjectEntry["ArbeitsGruppenNameID"].ToString()))
                    {
                    OldArbeitsGruppenNameID = ProjectEntry["ArbeitsGruppenNameID"].ToString();
                    if (PageBreakHasBeenSetBefore == false)
                        {
                        PageBreakHasBeenSetBefore = true;
                        if (!String.IsNullOrEmpty(OldArbeitsGruppenNameID))
                            ProjectWriter.InsertPageBreak();
                        }
                    if (String.IsNullOrEmpty(OldArbeitsGruppenNameID))
                        ProjectWriter.WriteLine(DocumentPrintOut.ElementType.Heading1,
                            "Arbeitsgruppe dzt. noch nicht definiert",
                            "0, 0, 0, 0", -0);
                    else
                        ProjectWriter.WriteLine(DocumentPrintOut.ElementType.Heading1, OldArbeitsGruppenNameID,
                            "0, 0, 0, 0", 0);
                    OldOrtsTeil = String.Empty;
                    }
                if ((BreakByOrtsTeil == true)
                    && (OldOrtsTeil != ProjectEntry["OrtsTeil"].ToString()))
                    {
                    OldOrtsTeil = ProjectEntry["OrtsTeil"].ToString();
                    if (PageBreakHasBeenSetBefore == false)
                        {
                        PageBreakHasBeenSetBefore = true;
                        ProjectWriter.InsertPageBreak();
                        }
                    if (String.IsNullOrEmpty(OldOrtsTeil))
                        ProjectWriter.WriteLine(DocumentPrintOut.ElementType.Heading1,
                            "Ortsteil dzt. noch nicht definiert",
                            "0, 0, 0, 0", -0);
                    else
                        ProjectWriter.WriteLine(DocumentPrintOut.ElementType.Heading1, OldOrtsTeil,
                            "0, 0, 0, 0", 0);
                    OldZustaendig = String.Empty;
                    OldOrteBezeichnung = String.Empty;
                    }
                if ((BreakByOrtsBezeichnung == true)
                    && (OldOrteBezeichnung != DataWrapper.Instance.GetOrteBezeichnung(ProjectEntry)))
                    {
                    OldOrteBezeichnung = DataWrapper.Instance.GetOrteBezeichnung(ProjectEntry);
                    ProjectWriter.InsertEmptyLine();
                    if (String.IsNullOrEmpty(OldOrteBezeichnung))
                        ProjectWriter.WriteLine(DocumentPrintOut.ElementType.ContentLevel1,
                            "Ort dzt. noch nicht definiert",
                            "10, 0, 0, 0", -5);
                    else
                        ProjectWriter.WriteLine(DocumentPrintOut.ElementType.ContentLevel1, OldOrteBezeichnung,
                            "10, 0, 0, 0", -5);
                    OldZustaendig = String.Empty;
                    }
                if ((BreakByZustaendig == true)
                    && (OldZustaendig != ProjectEntry["ZustaendigID"].ToString()))
                    {
                    OldZustaendig = ProjectEntry["ZustaendigID"].ToString();
                    if (PageBreakHasBeenSetBefore == false)
                        {
                        PageBreakHasBeenSetBefore = true;
                        ProjectWriter.InsertPageBreak();
                        }
                    ProjectWriter.WriteLine(DocumentPrintOut.ElementType.Heading2,
                        Basics.Instance.Zustaendig[OldZustaendig.ToLower()]["Beschreibung"].ToString(),
                        "20, 0, 0, 0", -10);
                    }
                if (UpdatedSinceLastCheckPoint != null)
                    {
                    if (UpdatedSinceLastCheckPoint.Contains((System.Guid) ProjectEntry["ID"]) == ChangedOrUnChanged)
                        ProcessOneProjectToPrintout(ProjectWriter, ProjectEntry["ID"].ToString(),
                            DocumentPrintOut.ElementType.ProjektDatenOhneOrtsBezeichnung, WithOrWithoutPlakate,
                            WithOrWithoutActivities);
                    }
                else
                    {
                    ProcessOneProjectToPrintout(ProjectWriter, ProjectEntry["ID"].ToString(),
                        DocumentPrintOut.ElementType.ProjektDatenOhneOrtsBezeichnung, WithOrWithoutPlakate,
                        WithOrWithoutActivities);
                    }
                }
            ProjectWriter.Close();
            }
示例#4
0
文件: PrintOut.cs 项目: heinzsack/DEV
        private void CreateOrganisationen(List<String> TypListToSelect,
            String FileName)

            {
            String TypSelectPart = Data.DbServer3.WordUp.Typen.TypSelectionString(TypListToSelect, "OrganisationenTypID");
            String OrganisationenSelectStatement = "Select * from Organisationen where ID in "
                                                   +
                                                   "(Select OrganisationenID from OrganisationenZuWordUpID where WordUpID = '"
                                                   + Basics.Instance.WordUpID + "')  and " + TypSelectPart +
                                                   " order by Typ, Beschreibung";
            DataTable OrganisationenTable =
                WordUpWCFAccess.GetCommonDataSet(OrganisationenSelectStatement).Tables["Organisationen"];
            DocumentPrintOut Writer = new DocumentPrintOut(FileName, false);
            WriteHeadInfo(Writer, TypListToSelect);
            foreach (DataRow OrganisationenRow in OrganisationenTable.Rows)
                {
                List<String> Elements = new List<string>();

                Elements.Add(OrganisationenRow["Beschreibung"].ToString());
                Elements.Add(OrganisationenRow["KontaktPerson"].ToString());
                Elements.Add(OrganisationenRow["eMail"].ToString());
                Elements.Add(OrganisationenRow["Tel"].ToString());

                Writer.WriteLine(String.Join("\v", Elements));
                }
            Writer.Close();
            }
示例#5
0
文件: PrintOut.cs 项目: heinzsack/DEV
 private void CreatePersonenTermineAlsAttachments(List<String> TypListToSelect,
     String FileName)
     {
     String TypSelectPart = Data.DbServer3.WordUp.Typen.TypSelectionString(TypListToSelect, "PersonenTypID");
     String PersonenSelectStatement = "Select * from PersonenOrganisationenOrte where ID in "
                                      + "(Select PersonenID from PersonenZuWordUpID where WordUpID = '"
                                      + Basics.Instance.WordUpID + "')  and " + TypSelectPart +
                                      " order by FamilienName";
     DataTable PersonenTable =
         WordUpWCFAccess.GetCommonDataSet(PersonenSelectStatement).Tables["PersonenOrganisationenOrte"];
     List<System.Guid> AllPersonen = GetAllPersonenIDs(TypListToSelect);
     foreach (DataRow PersonenRow in PersonenTable.Rows)
         {
         DataTable TermineProPerson = WordUpWCFAccess.GetCommonDataSet
             ("Select * from TermineZuFullPersonen where PersonenID = '"
              + PersonenRow["ID"].ToString() + "' and WordUpRootID = '" + Basics.Instance.WordUpID
              + "' order by Von").Tables["TermineZuFullPersonen"];
         if (TermineProPerson.Rows.Count == 0)
             continue;
         String PersonenFileName = FileName.Replace
             (".txt", "_eMailTo_" + PersonenRow["eMail"].ToString().Replace(" ", "_") + ".txt");
         DocumentPrintOut PersonenWriter = new DocumentPrintOut(PersonenFileName, false);
         PersonenWriter.WriteLine(DocumentPrintOut.ElementType.Heading1,
             "Terminübersicht mit Stand " + DateTime.Now.ToString("dd. MMM yyyy") + " für:");
         PersonenWriter.InsertEmptyLine();
         PersonenWriter.WriteData(PersonenRow, DocumentPrintOut.ElementType.FullPersonenDaten);
         PersonenWriter.InsertEmptyLine();
         foreach (DataRow TerminRow in TermineProPerson.Rows)
             {
             PersonenWriter.WriteData(TerminRow, DocumentPrintOut.ElementType.SimpleTerminDaten);
             CreateParticipantsList(PersonenWriter, TerminRow["TermineID"].ToString(), false, AllPersonen);
             }
         PersonenWriter.InsertEmptyLine();
         PersonenWriter.WriteLine(DocumentPrintOut.ElementType.Heading1, "Kontaktdaten aller Beteiligten");
         PersonenWriter.InsertEmptyLine();
         CreatePersonen(TypListToSelect, PersonenWriter);
         PersonenWriter.Close();
         }
     }
示例#6
0
文件: PrintOut.cs 项目: heinzsack/DEV
        private void CreatePersonenMitTerminen(List<String> TypListToSelect,
            String FileName)
            {
            String TypSelectPart = Data.DbServer3.WordUp.Typen.TypSelectionString(TypListToSelect, "PersonenTypID");
            String PersonenSelectStatement = "Select * from PersonenOrganisationenOrte where ID in "
                                             + "(Select PersonenID from PersonenZuWordUpID where WordUpID = '"
                                             + Basics.Instance.WordUpID + "')  and " + TypSelectPart +
                                             " order by FamilienName";
            DataTable PersonenTable =
                WordUpWCFAccess.GetCommonDataSet(PersonenSelectStatement).Tables["PersonenOrganisationenOrte"];
            DocumentPrintOut Writer = new DocumentPrintOut(FileName, false);
            WriteHeadInfo(Writer, TypListToSelect);
            foreach (DataRow PersonenRow in PersonenTable.Rows)
                {
                List<String> Elements = new List<string>();

                Elements.Add(PersonenRow["NameID"].ToString());
                Elements.Add(PersonenRow["OrganisationenBeschreibung"].ToString());
                Elements.Add(PersonenRow["eMail"].ToString());
                Elements.Add(PersonenRow["Telefon"].ToString());

                DataTable TermineProPerson = WordUpWCFAccess.GetCommonDataSet
                    ("Select * from TermineZuFullPersonen where PersonenID = '"
                     + PersonenRow["ID"].ToString() + "' and WordUpRootID = '" + Basics.Instance.WordUpID
                     + "' order by Von").Tables["TermineZuFullPersonen"];
                if (TermineProPerson.Rows.Count == 0)
                    continue;
                String PersonenFileName = FileName.Replace
                    (".txt", "_" + PersonenRow["NameID"].ToString().Replace(" ", "_") + ".txt");
                DocumentPrintOut PersonenWriter = new DocumentPrintOut(PersonenFileName, false);
                Writer.WriteLine(String.Join("\t", Elements));
                PersonenWriter.WriteLine(String.Join("\t", Elements));
                foreach (DataRow TerminRow in TermineProPerson.Rows)
                    {
                    List<String> TerminElements = WordUp23.Basics.GetTerminEntries(TerminRow);
                    TerminElements.Add(Basics.Instance.GetTypeBeschreibung(TerminRow["TermineTypID"].ToString()));

                    TerminElements.Add(Basics.Instance.Orte[TerminRow["OrteID"].ToString()]["NameID"].ToString());
                    String TerminEntry = "\t" + String.Join(", ", TerminElements);
                    Writer.WriteLine("\t" + String.Join(", ", TerminElements));
                    PersonenWriter.WriteLine("\t" + String.Join(", ", TerminElements));
                    }
                PersonenWriter.Close();
                }
            Writer.Close();
            }
示例#7
0
文件: PrintOut.cs 项目: heinzsack/DEV
        private void CreateTermineInOrganisationen(List<String> TypListToSelect,
            String FileName)
            {
            String TypSelectPart = Data.DbServer3.WordUp.Typen.TypSelectionString(TypListToSelect, "OrganisationenTypID");
            String OrganisationenSelectStatement = "Select * from OrganisationenMitOrte where ID in "
                                                   + "(Select PersonenID from PersonenZuWordUpID where WordUpID = '"
                                                   + Basics.Instance.WordUpID + "')  and " + TypSelectPart +
                                                   " order by NameID";
            DataTable OrganisationenTable =
                WordUpWCFAccess.GetCommonDataSet(OrganisationenSelectStatement).Tables["OrganisationenMitOrte"];
            DocumentPrintOut Writer = new DocumentPrintOut(FileName, false);
            WriteHeadInfo(Writer, TypListToSelect);
            foreach (DataRow OrganisationenRow in OrganisationenTable.Rows)
                {
                List<String> Elements = new List<string>();

                Elements.Add(OrganisationenRow["Beschreibung"].ToString());
                Elements.Add(OrganisationenRow["KontaktPerson"].ToString());
                Elements.Add(OrganisationenRow["eMail"].ToString());
                Elements.Add(OrganisationenRow["Tel"].ToString());

                DataTable TermineProOrt = WordUpWCFAccess.GetCommonDataSet
                    ("Select * from TerminPlan where OrteID = '"
                     + OrganisationenRow["OrtsID"].ToString() + "' and WordUpRootID = '" + Basics.Instance.WordUpID
                     + "' order by Von").Tables["TerminPlan"];
                if (TermineProOrt.Rows.Count == 0)
                    continue;
                Writer.WriteLine(DocumentPrintOut.ElementType.Heading2, String.Join("\t", Elements));
                foreach (DataRow TerminRow in TermineProOrt.Rows)
                    {
                    List<String> TerminElements = WordUp23.Basics.GetTerminEntries(TerminRow);
                    TerminElements.Add(Basics.Instance.GetTypeBeschreibung(TerminRow["TermineTypID"].ToString()));

                    Writer.WriteLine(DocumentPrintOut.ElementType.ContentLevel1, String.Join("\t", TerminElements));

                    DataTable TeilnehmerTable =
                        WordUpWCFAccess.GetCommonDataSet("Select * from PersonenZuTermine where TermineID = '"
                                                         + TerminRow["ID"].ToString() + "'").Tables[
                                                             "PersonenZuTermine"];
                    if (TeilnehmerTable.Rows.Count == 0)
                        continue;
                    foreach (DataRow TeilnehmerRow in TeilnehmerTable.Rows)
                        {
                        List<String> TeilnehmerEntries = new List<string>();
                        TeilnehmerEntries.Add(Basics.Instance.Personen[TeilnehmerRow["PersonenID"].ToString()]
                            ["NameID"].ToString());
                        TeilnehmerEntries.Add(Basics.Instance.Personen[TeilnehmerRow["PersonenID"].ToString()]
                            ["eMail"].ToString());
                        TeilnehmerEntries.Add(Basics.Instance.Personen[TeilnehmerRow["PersonenID"].ToString()]
                            ["Telefon"].ToString());
                        Writer.WriteLine(DocumentPrintOut.ElementType.ContentLevel2,
                            String.Join("\t", TeilnehmerEntries));
                        }
                    }
                }
            Writer.Close();
            }
示例#8
0
文件: PrintOut.cs 项目: heinzsack/DEV
        private void CreateTermineVonOrganisationen(List<String> TypListToSelect,
            String FileName)
            {
            String TypSelectPart = Data.DbServer3.WordUp.Typen.TypSelectionString(TypListToSelect, "OrganisationenTypID");
            String OrganisationenSelectStatement = "Select * from Organisationen where ID in "
                                                   +
                                                   "(Select OrganisationenID from OrganisationenZuWordUpID where WordUpID = '"
                                                   + Basics.Instance.WordUpID + "')  and " + TypSelectPart +
                                                   " order by NameID";
            DataTable OrganisationenTable =
                WordUpWCFAccess.GetCommonDataSet(OrganisationenSelectStatement).Tables["Organisationen"];
            DocumentPrintOut Writer = new DocumentPrintOut(FileName, false);
            foreach (DataRow OrganisationenRow in OrganisationenTable.Rows)
                {
                double MinutenProOrganisation = 0;
                List<String> Elements = new List<string>();

                Elements.Add(OrganisationenRow["Beschreibung"].ToString());
                Elements.Add(OrganisationenRow["KontaktPerson"].ToString());
                Elements.Add(OrganisationenRow["eMail"].ToString());
                Elements.Add(OrganisationenRow["Tel"].ToString());

                DataTable MitarbeiterProOrganisation = WordUpWCFAccess.GetCommonDataSet
                    ("Select * from Personen where OrganisationID = '"
                     + OrganisationenRow["ID"].ToString() + "' order by FamilienName").Tables["Personen"];
                if (MitarbeiterProOrganisation.Rows.Count == 0)
                    continue;
                Writer.WriteLine(DocumentPrintOut.ElementType.Heading2, String.Join("\t", Elements));

                foreach (DataRow PersonenRow in MitarbeiterProOrganisation.Rows)
                    {
                    double MinutenProMitarbeiter = 0;
                    List<String> PersonenElements = new List<string>();

                    PersonenElements.Add(PersonenRow["NameID"].ToString());
                    PersonenElements.Add(PersonenRow["eMail"].ToString());
                    PersonenElements.Add(PersonenRow["Telefon"].ToString());

                    DataTable TermineProPerson = WordUpWCFAccess.GetCommonDataSet
                        ("Select * from TermineZuFullPersonen where PersonenID = '"
                         + PersonenRow["ID"].ToString() + "' and WordUpRootID = '" + Basics.Instance.WordUpID
                         + "' order by Von").Tables["TermineZuFullPersonen"];
                    if (TermineProPerson.Rows.Count == 0)
                        continue;
                    Writer.WriteLine(DocumentPrintOut.ElementType.ContentLevel1, String.Join("\t", PersonenElements));
                    foreach (DataRow TerminRow in TermineProPerson.Rows)
                        {
                        List<String> TerminElements = WordUp23.Basics.GetTerminEntries(TerminRow);
                        MinutenProMitarbeiter += WordUp23.Basics.GetDurationInMinutes(TerminRow);
                        MinutenProOrganisation += WordUp23.Basics.GetDurationInMinutes(TerminRow);
                        TerminElements.Add(Basics.Instance.Orte[TerminRow["OrteID"].ToString()]["NameID"].ToString());
                        Writer.WriteLine(DocumentPrintOut.ElementType.ContentLevel2, String.Join(", ", TerminElements));
                        }
                    Writer.WriteLine((String.Empty));
                    Writer.WriteLine(DocumentPrintOut.ElementType.ContentLevel1,
                        String.Format("GesamtStunden für " + PersonenRow["NameID"].ToString()
                                      + " = {0}", TimeSpan.FromMinutes(MinutenProMitarbeiter).TotalHours));
                    Writer.WriteLine((String.Empty));
                    }
                Writer.WriteLine((String.Empty));
                Writer.WriteLine(DocumentPrintOut.ElementType.ContentLevel1,
                    String.Format("GesamtStunden für " + OrganisationenRow["Beschreibung"].ToString()
                                  + " = {0}", TimeSpan.FromMinutes(MinutenProOrganisation).TotalHours));
                Writer.WriteLine((String.Empty));
                }
            Writer.Close();
            }