Ejemplo n.º 1
0
 public void FillMe (PrintoutType TypeToCreate)
     {
     switch (TypeToCreate)
         {
             case PrintoutType.RalphProjektExcel:
             case PrintoutType.RalphRealisierungExcel:
                 CreateRalphExcelDefinition ();
                 break;
         }
     foreach (TableLayoutEntry Entry in TableLayoutEntries.Values)
         LineWidth += Entry.OutPutColumnWidthInPercent;
     }
Ejemplo n.º 2
0
		private void CreateProjektSortierFolge(PrintoutType Layout)
			{
			if (Layout == PrintoutType.WagnersExcel)
				{
				if (_WagnersExcelProjektSortierFolge != null)
					return;
				_WagnersExcelProjektSortierFolge = new NameValueCollection();
				System.Data.DataTable Projekte =
					WordUp23.Basics.Instance.WordUpWCFAccess.GetCommonDataSet("Select * from ProjektAktivitaeten where WordUpRootID = '"
								+ WordUp23.Basics.Instance.WordUpID + "' order by "
																			  + "Zustaendig, ArbeitsGruppenNameID, Ortsteil, OrtsNameID, NameID").Tables[
																				  "ProjektAktivitaeten"];
				String OldZustaendig = String.Empty;
				String OldArbeitsGruppenNameID = String.Empty;
				int RunningNumber = 0;
				foreach (DataRow ProjektRow in Projekte.Rows)
					{
					String Zustaendig = ProjektRow["Zustaendig"].ToString();
					if (OldZustaendig != Zustaendig)
						{
						OldZustaendig = Zustaendig;
						RunningNumber = 0;
						}
					String ArbeitsGruppenNameID = ProjektRow["ArbeitsGruppenNameID"].ToString();
					if (OldArbeitsGruppenNameID != ArbeitsGruppenNameID)
						{
						OldArbeitsGruppenNameID = ArbeitsGruppenNameID;
						RunningNumber = 0;
						}
					String Key = GetSortierfolgeKey(ProjektRow);
					String SortierFolge = String.Format("{0:D3}", ++RunningNumber);
					_WagnersExcelProjektSortierFolge.Add(Key, SortierFolge);
					}
				return;
				}
			}
Ejemplo n.º 3
0
		int InsertAGMitarbeiter(Microsoft.Office.Interop.Excel.Worksheet AGWorkSheet, List<String> JZBetreuer,
			List<String> PlenumSprecher, int StartRow, PrintoutType Layout)
			{
			if (Layout == PrintoutType.SprecherExcel)
				{
				foreach (String PlSprecher in PlenumSprecher)
					{
					Microsoft.Office.Interop.Excel.Range SprecherRange = AGWorkSheet.Range[AGWorkSheet.Cells[StartRow, "G"], AGWorkSheet.Cells[StartRow, "G"]];
					SprecherRange.Merge(true);
					SprecherRange.Value = PlSprecher;
					StartRow++;
					}
				String Betreuer = "Betreuer - " + String.Join(", ", JZBetreuer);
				Microsoft.Office.Interop.Excel.Range BetreuerRange = AGWorkSheet.Range[AGWorkSheet.Cells[StartRow, "G"], AGWorkSheet.Cells[StartRow, "G"]];
				BetreuerRange.Merge(true);
				BetreuerRange.Value = Betreuer;
				StartRow++;
				}
			else
				{
				foreach (String Betreuer in JZBetreuer)
					{
					Microsoft.Office.Interop.Excel.Range MitarbeiterRange = AGWorkSheet.Range[AGWorkSheet.Cells[StartRow, "G"], AGWorkSheet.Cells[StartRow, "J"]];
					MitarbeiterRange.Merge(true);
					MitarbeiterRange.Value = Betreuer;
					StartRow++;
					}
				String Sprecher = "Plenums Sprecher - " + String.Join(", ", PlenumSprecher);
				Microsoft.Office.Interop.Excel.Range SprecherRange = AGWorkSheet.Range[AGWorkSheet.Cells[StartRow, "G"], AGWorkSheet.Cells[StartRow, "J"]];
				SprecherRange.Merge(true);
				SprecherRange.Value = Sprecher;
				StartRow++;

				}

			return StartRow;
			}
Ejemplo n.º 4
0
		int InsertProjektEntries(Microsoft.Office.Interop.Excel.Worksheet AGWorkSheet,
			ArbeitsGruppe ArbeitsgruppenEntry, PrintoutType Layout, int StartRow)
			{
			DbEntities.dbserver3.wordup.rows.Projekt[] Projekte = null;
			switch (Layout)
				{
				case PrintoutType.WagnersExcel:
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte
						(DataWrapper.Instance.WordUpPhase.ToString())
							.OrderBy(sor => sor.Ort.OrtsTeil.AktuallArbeitsGruppe.SortOrder)
								.ThenBy(sor2 => sor2.Ort.OrtsTeil.NameId)
								.ThenBy(sor3 => sor3.Ort.Bezeichnung).ToArray();
					break;
				case PrintoutType.ProtokollExcel:
					Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte
					(DataWrapper.Instance.WordUpPhase.ToString())
						.OrderBy(sor => sor.Ort.OrtsTeil.AktuallArbeitsGruppe.SortOrder)
							.ThenBy(sor2 => sor2.Ort.OrtsTeil.NameId)
							.ThenBy(sor3 => sor3.Ort.Bezeichnung).ToArray();
					break;
				case PrintoutType.SprecherExcel:
						List<Guid?> ProjektIDsInMovies = Data.DbServer3.WordUp.Aktivitaeten
							.FindOrLoad_By_WordUpRootId(Data.DbServer3.WordUp.WordUpIDGuid)
							.Where(sel => sel.AktivitaetsTypenId == AktivitaetsTypen.ImPlenumsFilm)
							.Select(sel => sel.ProjektId).ToList();
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte
							(DataWrapper.Instance.WordUpPhase.ToString())
							.Where(sel => !ProjektIDsInMovies.Contains(sel.Id))
								.OrderBy(sor => sor.Ort.OrtsTeil.AktuallArbeitsGruppe.SortOrder)
								.ThenBy(sor2 => sor2.Ort.OrtsTeil.NameId)
								.ThenBy(sor3 => sor3.Ort.Bezeichnung).ToArray();
					break;
				case PrintoutType.RalphProjektExcel:
						{
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte
						(DataWrapper.Instance.WordUpPhase.ToString())
							.OrderBy(sor => sor.Ort.OrtsTeil.AktuallArbeitsGruppe.SortOrder)
								.ThenBy(sor2 => sor2.Ort.OrtsTeil.NameId)
								.ThenBy(sor3 => sor3.Ort.Bezeichnung).ToArray();
						break;
						}
				case PrintoutType.RalphRealisierungExcel:
						{
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte
						(DataWrapper.Instance.WordUpPhase.ToString())
							.OrderBy(sor => sor.Ort.OrtsTeil.AktuallArbeitsGruppe.SortOrder)
								.ThenBy(sor2 => sor2.Ort.OrtsTeil.NameId)
								.ThenBy(sor3 => sor3.Ort.Bezeichnung).ToArray();
						break;
						}
				}
			String OldOrtsTeil = String.Empty;
			String OldOrtsName = String.Empty;

			foreach (Projekt ProjektEntry in Projekte)
				{
				if (ProjektEntry.Ort.OrtsTeil.AktuallArbeitsGruppe.NameId != ArbeitsgruppenEntry.NameId)
					continue;
				if (ProjektEntry.Ort.OrtsTeil.NameId != OldOrtsTeil)
					{
					StartRow++;
					OldOrtsTeil = ProjektEntry.Ort.OrtsTeil.NameId;
					Microsoft.Office.Interop.Excel.Range OrtsTeilRange = AGWorkSheet.Cells[StartRow, "B"];
					OrtsTeilRange.Font.Size = 15;
					OrtsTeilRange.Font.Bold = true;
					switch (Layout)
						{
						case PrintoutType.WagnersExcel:
							SetHeadLinesForAGSheet(AGWorkSheet, StartRow);
							AGWorkSheet.Cells[StartRow++, "B"] = OldOrtsTeil;
							break;
						case PrintoutType.ProtokollExcel:
							SetHeadLinesForAGProtokollSheet(AGWorkSheet, StartRow);
							AGWorkSheet.Cells[StartRow++, "B"] = OldOrtsTeil;
							break;
						case PrintoutType.SprecherExcel:
							SetHeadLinesForAGSprecherSheet(AGWorkSheet, StartRow);
							AGWorkSheet.Cells[StartRow++, "B"] = OldOrtsTeil;
							break;
						case PrintoutType.RalphProjektExcel:
						case PrintoutType.RalphRealisierungExcel:
							SetHeadLinesAGRalphsSheet(AGWorkSheet, StartRow);
							AGWorkSheet.Cells[StartRow++, "B"] = "(" + ProjektEntry.Ort.OrtsTeil.AktuallArbeitsGruppe.NameId + ") " + OldOrtsTeil;
							break;
						}
					}
				if (ProjektEntry.Ort.NameId != OldOrtsName)
					{
					OldOrtsName = ProjektEntry.Ort.NameId;
					Microsoft.Office.Interop.Excel.Range OrtsTeilRange = AGWorkSheet.Cells[StartRow, "C"];
					OrtsTeilRange.Font.Size = 10;
					OrtsTeilRange.Font.Bold = true;
					AGWorkSheet.Cells[StartRow, "A"] = "OrteID=" + ProjektEntry.Ort.Id.ToString();
					AGWorkSheet.Cells[StartRow, "B"] = " ";
					AGWorkSheet.Cells[StartRow++, "C"] = OldOrtsName;
					}
				AGWorkSheet.Cells[StartRow, "A"] = "ProjektNummer=" + ProjektEntry.NumericProjektId + ";ProjektID=" + ProjektEntry.Id.ToString();
				Microsoft.Office.Interop.Excel.Range OrtsNameRange = null;
				Microsoft.Office.Interop.Excel.Range NameIDRange = null;
				Microsoft.Office.Interop.Excel.Range ProjektBeschreibungRange = null;
				if ((Layout == PrintoutType.ProtokollExcel)
					|| (Layout == PrintoutType.WagnersExcel)
					|| (Layout == PrintoutType.SprecherExcel))
					{
					AGWorkSheet.Cells[StartRow, "B"] = " ";

					OrtsNameRange = AGWorkSheet.Cells[StartRow, "C"];
					OrtsNameRange.WrapText = true;
					OrtsNameRange.Orientation = 90;
					OrtsNameRange.Font.Size = 8;
					OrtsNameRange.Value = ProjektEntry.Ort.NameId;

					AGWorkSheet.Cells[StartRow, "D"] = ProjektEntry.NameId;
					NameIDRange = AGWorkSheet.Cells[StartRow, "D"];
					NameIDRange.WrapText = true;

					NameIDRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignTop;
					AGWorkSheet.Cells[StartRow, "E"] = ProjektEntry.Wertigkeit.ToString();
					Microsoft.Office.Interop.Excel.Range WertigkeitRange = AGWorkSheet.Cells[StartRow, "E"];
					WertigkeitRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignTop;

					AGWorkSheet.Cells[StartRow, "F"] = ((ProjektEntry.IsImPlenumsFilm == true) ? "ImFilm" : "");
					Microsoft.Office.Interop.Excel.Range ImFilmRange = AGWorkSheet.Cells[StartRow, "F"];
					ImFilmRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignTop;

					if (Layout == PrintoutType.SprecherExcel)
						{
						AGWorkSheet.Cells[StartRow, "G"] = ProjektEntry.LangBeschreibung;
						ProjektBeschreibungRange = AGWorkSheet.Cells[StartRow, "G"];
						ProjektBeschreibungRange.WrapText = true;
						ProjektBeschreibungRange.Font.Bold = true;
						}
					else
						{
						AGWorkSheet.Cells[StartRow, "G"] = ProjektEntry.LangBeschreibung;
						ProjektBeschreibungRange = AGWorkSheet.Cells[StartRow, "G"];
						ProjektBeschreibungRange.WrapText = true;
						ProjektBeschreibungRange.Font.Bold = true;
						}
					}
				if ((Layout == PrintoutType.RalphProjektExcel)
					|| (Layout == PrintoutType.RalphRealisierungExcel))
					{
					foreach (TableLayoutEntry Entry in RalphsExcelDefinition.TableLayoutEntries.Values)
						{
						Microsoft.Office.Interop.Excel.Range LayoutEntryRange = AGWorkSheet.Cells[StartRow, Entry.OutputColumnName];
						Entry.ProjektRow = ProjektEntry;
						LayoutEntryRange.Style = "NormalText";
						LayoutEntryRange.WrapText = true;
						LayoutEntryRange.Value = Entry.GetContent();
						}
					}


				switch (Layout)
					{
					case PrintoutType.WagnersExcel:
							{
							AGWorkSheet.Cells[StartRow, "H"] = GetSortierFolge(ProjektEntry, PrintoutType.WagnersExcel);	//		ProjectRow ["Reihung"].ToString ();
							Microsoft.Office.Interop.Excel.Range ReihungRange = AGWorkSheet.Cells[StartRow, "H"];
							ReihungRange.WrapText = true;
							ReihungRange.Font.Bold = true;

							AGWorkSheet.Cells[StartRow, "J"] = ProjektEntry.Status;
							Microsoft.Office.Interop.Excel.Range StatusRange = AGWorkSheet.Cells[StartRow, "J"];
							StatusRange.WrapText = true;
							StatusRange.Font.Bold = true;
							int ProjektStartRow = StartRow;

							AGWorkSheet.Cells[StartRow, "K"] = GetMaterialHinweise(ProjektEntry);
							Microsoft.Office.Interop.Excel.Range MaterialRange = AGWorkSheet.Cells[StartRow, "K"];
							AGWorkSheet.Cells[StartRow, "L"] = " ";

							List<String> AktivitaetenFarbe = InsertProjektAktivitaeten(AGWorkSheet, ProjektEntry, StartRow, "J", "J");
							DoWagnerContentFraming(AGWorkSheet, ProjektStartRow, StartRow, "D", "J", "J", "J",
								AktivitaetenFarbe);
							StartRow += AktivitaetenFarbe.Count;
							Microsoft.Office.Interop.Excel.Range KostenSchaetzungRange = AGWorkSheet.Cells[ProjektStartRow, "I"];
							KostenSchaetzungRange.WrapText = true;
							KostenSchaetzungRange.Orientation = 90;
							KostenSchaetzungRange.Font.Size = 10;
							KostenSchaetzungRange.Value = ProjektEntry.KostenSchaetzung;

							StartRow++;
							Microsoft.Office.Interop.Excel.Range EmptyLineRange = AGWorkSheet.Rows[StartRow];
							EmptyLineRange.RowHeight = 3;
							break;
							}
					case PrintoutType.ProtokollExcel:
						DoContentFraming(AGWorkSheet, StartRow, StartRow, "D", "G");
						DoContentFraming(AGWorkSheet, StartRow, StartRow + 1, "H", "H");
						int StartLineHeight = (int)((Microsoft.Office.Interop.Excel.Range)AGWorkSheet.Range[AGWorkSheet.Cells[StartRow, "H"],
							AGWorkSheet.Cells[StartRow, "H"]]).RowHeight;
						((Microsoft.Office.Interop.Excel.Range)AGWorkSheet.Range[AGWorkSheet.Cells[StartRow + 1, "H"],
							AGWorkSheet.Cells[StartRow + 1, "H"]]).RowHeight = 50 + StartLineHeight; //160 - StartLineHeight;
						((Microsoft.Office.Interop.Excel.Range)AGWorkSheet.Range[AGWorkSheet.Cells[StartRow, "H"],
							AGWorkSheet.Cells[StartRow + 1, "H"]]).PageBreak =
							(int)Microsoft.Office.Interop.Excel.XlPageBreak.xlPageBreakNone;
						StartRow++;
						NameIDRange.Font.Bold = true;
						break;
					case PrintoutType.SprecherExcel:
						if (!String.IsNullOrEmpty(ProjektEntry.LangBeschreibung))
							AGWorkSheet.Cells[StartRow, "G"] = ProjektEntry.LangBeschreibung;
						DoContentFraming(AGWorkSheet, StartRow, StartRow, "D", "G");
						ProjektBeschreibungRange.Font.Size = 20;
						break;
					case PrintoutType.RalphProjektExcel:
					case PrintoutType.RalphRealisierungExcel:
							{
							//int LineHeight = (int) ((Excel.Range) AGWorkSheet.Range [AGWorkSheet.Cells [StartRow, "A"],
							//                                                         AGWorkSheet.Cells [StartRow, "J"]]).RowHeight;
							DoLineContentFraming(AGWorkSheet, StartRow, StartRow, "A", "K");
							Microsoft.Office.Interop.Excel.Range StatusRange = AGWorkSheet.Cells[StartRow, "J"];
							String StatusRowContent = ProjektEntry.Status;
							if (WordUp23.Basics.Instance.SkipedProjekts.ContainsKey((Guid)ProjektEntry.Id))
								{
								StatusRowContent += WordUp23.Basics.Instance.SkipedProjekts[(Guid)ProjektEntry.Id];
								//TODO StartRow - 1
								SetContentBackground(AGWorkSheet, StartRow, StartRow, "J", "J", "J", "J",
											"Rot");
								}
							AGWorkSheet.Cells[StartRow, "J"] = StatusRowContent;
							StatusRange.WrapText = true;
							StatusRange.Font.Bold = true;


							}
						break;
					}

				StartRow++;
				}
			return StartRow;
			}
Ejemplo n.º 5
0
		private String GetSortierFolge(DataRow ProjektRow, PrintoutType Layout)
			{
			if (Layout == PrintoutType.WagnersExcel)
				{
				if (_WagnersExcelProjektSortierFolge == null)
					CreateProjektSortierFolge(Layout);
				if (_WagnersExcelProjektSortierFolge == null)
					return String.Empty;
				return _WagnersExcelProjektSortierFolge[GetSortierfolgeKey(ProjektRow)];
				}
			return String.Empty;
			}
Ejemplo n.º 6
0
		void FillAGSheet(Microsoft.Office.Interop.Excel.Worksheet AGWorkSheet, 
			ArbeitsGruppe ArbeitsgruppenEntry, PrintoutType Layout)
			{
			switch (Layout)
				{
				case PrintoutType.WagnersExcel:
					NextRowToStart = 1;
					SetColumnsForAGSheet(AGWorkSheet);
					break;
				case PrintoutType.ProtokollExcel:
					NextRowToStart = 1;
					SetColumnsForAGProtokollSheet(AGWorkSheet);
					break;
				case PrintoutType.SprecherExcel:
					NextRowToStart = 1;
					SetColumnsForAGSprecherSheet(AGWorkSheet);
					break;
				case PrintoutType.RalphProjektExcel:
				case PrintoutType.RalphRealisierungExcel:
					NextRowToStart = 1;
					SetColumnsForAGRalphsSheet(AGWorkSheet);
					NextRowToStart = InsertProjektEntries(AGWorkSheet, ArbeitsgruppenEntry, Layout, NextRowToStart);
					return;
					break;
				}

			AGWorkSheet.Cells[1, "A"] = WordUp23.Basics.Instance.WordUpName;
			Microsoft.Office.Interop.Excel.Range WordUpRange = AGWorkSheet.Cells[1, "A"];
			WordUpRange.Font.Size = 15;
			WordUpRange.Font.Bold = true;


			bool PublicOrInternelPersonenUsage = false;
			if (Layout == PrintoutType.SprecherExcel)
				PublicOrInternelPersonenUsage = true;
			List<String> Betreuer = WordUp23.DataWrapper.Instance.GetArbeitsGruppenMitarbeiter
				(ArbeitsgruppenEntry, "8C2645EF-EED3-4169-8E63-DAE1F5CB55C6", PublicOrInternelPersonenUsage);	// Betreuer
			List<String> PlenumSprecher = WordUp23.DataWrapper.Instance.GetArbeitsGruppenMitarbeiter
				(ArbeitsgruppenEntry, "A0468864-EA84-4B4D-9A2D-7513619D8E84", PublicOrInternelPersonenUsage); // PlenumSprecher
			NextRowToStart = InsertAGMitarbeiter(AGWorkSheet, Betreuer, PlenumSprecher, 1, Layout);

			AGWorkSheet.Cells[NextRowToStart++, "C"] = "Vorschläge - Umsetzungsmöglichkeiten";

			int LastRow = InsertProjektEntries(AGWorkSheet, ArbeitsgruppenEntry, Layout, NextRowToStart);
			}
Ejemplo n.º 7
0
		void FillFremdSheet(Microsoft.Office.Interop.Excel.Worksheet AGWorkSheet, DataRow ArbeitsgruppenRow, PrintoutType Layout)
			{
			AGWorkSheet.Cells[1, "A"] = WordUp23.Basics.Instance.WordUpName;
			Microsoft.Office.Interop.Excel.Range WordUpRange = AGWorkSheet.Cells[1, "A"];
			WordUpRange.Font.Size = 15;
			WordUpRange.Font.Bold = true;

			AGWorkSheet.Cells[2, "C"] = "Vorschläge, die an Privatpersonen oder private Firmen gerichtet sind";
			System.Data.DataTable Projekte = null;
			String OldArbeitsGruppenNameID = String.Empty;
			String OldOrtsTeil = String.Empty;
			String OldOrtsName = String.Empty;

			String AdditionalWhereForUseOnlyRealizeableProjects
				= WordUp23.Basics.Instance.GetAdditionalWhereForUseOnlyRealizeableProjects(UseOnlyRealizeableProjects);
			switch (Layout)
				{
				case PrintoutType.WagnersExcel:
					Projekte = WordUp23.Basics.Instance.WordUpWCFAccess.GetCommonDataSet("Select * from ProjektAktivitaeten where Zustaendig = 'Fremd' "
														   + AdditionalWhereForUseOnlyRealizeableProjects + "order by "
														   + DataWrapper.Instance.ActuallProjektUebersichtSortOrder).Tables["ProjektAktivitaeten"];
					SetColumnsForFremdSheet(AGWorkSheet);
					break;
				case PrintoutType.ProtokollExcel:
					Projekte = WordUp23.Basics.Instance.WordUpWCFAccess.GetCommonDataSet("Select * from ProjektAktivitaeten where Zustaendig = 'Fremd' "
														   + AdditionalWhereForUseOnlyRealizeableProjects + "order by "
														   + DataWrapper.Instance.ActuallProjektUebersichtSortOrder).Tables["ProjektAktivitaeten"];
					SetColumnsForFremdProtokollSheet(AGWorkSheet);
					break;
				case PrintoutType.SprecherExcel:
					Projekte = WordUp23.Basics.Instance.WordUpWCFAccess.GetCommonDataSet("Select * from ProjektAktivitaeten where Zustaendig = 'Fremd' and not ImFilm = 'Film' "
														   + AdditionalWhereForUseOnlyRealizeableProjects + "order by "
														   + DataWrapper.Instance.ActuallProjektUebersichtSortOrder).Tables["ProjektAktivitaeten"];
					SetColumnsForFremdSprecherSheet(AGWorkSheet);
					break;
				case PrintoutType.RalphProjektExcel:
					Projekte = WordUp23.Basics.Instance.WordUpWCFAccess.GetCommonDataSet("Select * from ProjektAktivitaeten where ArbeitsGruppenNameID = '"
														   + ArbeitsgruppenRow["NameID"].ToString() + "' and Wertigkeit > 0 and Zustaendig = 'Fremd' "
														   + AdditionalWhereForUseOnlyRealizeableProjects + "order by "
														   + DataWrapper.Instance.ActuallProjektUebersichtSortOrder).Tables["ProjektAktivitaeten"];
					break;
				}

			int StartRow = 3;

			foreach (DataRow ProjectRow in Projekte.Rows)
				{
				if (ProjectRow["ArbeitsGruppenNameID"].ToString() != OldArbeitsGruppenNameID)
					{
					StartRow++;
					OldArbeitsGruppenNameID = ProjectRow["ArbeitsGruppenNameID"].ToString();
					Microsoft.Office.Interop.Excel.Range OrtsTeilRange = AGWorkSheet.Cells[StartRow, "B"];
					OrtsTeilRange.Font.Size = 15;
					OrtsTeilRange.Font.Bold = true;

					switch (Layout)
						{
						case PrintoutType.WagnersExcel:
							SetHeadLinesForFremdSheet(AGWorkSheet, StartRow);
							break;
						case PrintoutType.ProtokollExcel:
							SetHeadLinesForFremdProtokollSheet(AGWorkSheet, StartRow);
							break;
						case PrintoutType.SprecherExcel:
							SetHeadLinesForFremdSprecherSheet(AGWorkSheet, StartRow);
							break;
						case PrintoutType.RalphProjektExcel:
							SetHeadLinesForFremdSprecherSheet(AGWorkSheet, StartRow);
							break;
						}


					AGWorkSheet.Cells[StartRow++, "B"] = OldArbeitsGruppenNameID;
					}
				if (ProjectRow["OrtsTeil"].ToString() != OldOrtsTeil)
					{
					StartRow++;
					OldOrtsTeil = ProjectRow["OrtsTeil"].ToString();
					Microsoft.Office.Interop.Excel.Range OrtsTeilRange = AGWorkSheet.Cells[StartRow, "C"];
					OrtsTeilRange.Font.Size = 15;
					OrtsTeilRange.Font.Bold = true;
					AGWorkSheet.Cells[StartRow++, "C"] = OldOrtsTeil;
					}
				if (ProjectRow["OrtsNameID"].ToString() != OldOrtsName)
					{
					OldOrtsName = ProjectRow["OrtsNameID"].ToString();
					Microsoft.Office.Interop.Excel.Range OrtsTeilRange = AGWorkSheet.Cells[StartRow, "D"];
					OrtsTeilRange.Font.Size = 10;
					OrtsTeilRange.Font.Bold = true;
					AGWorkSheet.Cells[StartRow, "A"] = "OrteID=" + ProjectRow["OrteID"].ToString();
					AGWorkSheet.Cells[StartRow, "B"] = " ";
					AGWorkSheet.Cells[StartRow++, "D"] = OldOrtsName;
					}

				AGWorkSheet.Cells[StartRow, "A"] = "ProjektNummer=" + ProjectRow["NumericProjektID"].ToString() + ";ProjektID=" + ProjectRow["ID"].ToString();
				AGWorkSheet.Cells[StartRow, "B"] = " ";

				AGWorkSheet.Cells[StartRow, "E"] = ProjectRow["NameID"].ToString();
				Microsoft.Office.Interop.Excel.Range NameIDRange = AGWorkSheet.Cells[StartRow, "E"];
				NameIDRange.WrapText = true;
				NameIDRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignTop;
				AGWorkSheet.Cells[StartRow, "F"] = ProjectRow["Wertigkeit"].ToString();
				Microsoft.Office.Interop.Excel.Range WertigkeitRange = AGWorkSheet.Cells[StartRow, "F"];
				WertigkeitRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignTop;

				AGWorkSheet.Cells[StartRow, "G"] = ProjectRow["ImFilm"].ToString();

				AGWorkSheet.Cells[StartRow, "H"] = ProjectRow["ProjektBeschreibung"].ToString();
				Microsoft.Office.Interop.Excel.Range ProjektBeschreibungRange = AGWorkSheet.Cells[StartRow, "H"];
				ProjektBeschreibungRange.WrapText = true;
				ProjektBeschreibungRange.Font.Bold = true;
				ProjektBeschreibungRange.VerticalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignTop;

				switch (Layout)
					{
					case PrintoutType.WagnersExcel:
							{
							int ProjektStartRow = StartRow;
							List<String> AktivitaetenFarbe = InsertProjektAktivitaeten(AGWorkSheet, ProjectRow, StartRow, "H", "H");
							StartRow += AktivitaetenFarbe.Count;
							DoWagnerContentFraming(AGWorkSheet, ProjektStartRow, StartRow, "E", "I", "H", "I", AktivitaetenFarbe);
							StartRow++;
							Microsoft.Office.Interop.Excel.Range EmptyLineRange = AGWorkSheet.Rows[StartRow];
							EmptyLineRange.RowHeight = 3;
							break;
							}
					case PrintoutType.ProtokollExcel:
						DoContentFraming(AGWorkSheet, StartRow, StartRow, "E", "I");
						break;
					case PrintoutType.SprecherExcel:
						if (!String.IsNullOrEmpty(ProjectRow["ProjektLangBeschreibung"].ToString()))
							AGWorkSheet.Cells[StartRow, "H"] = ProjectRow["ProjektLangBeschreibung"].ToString();
						DoContentFraming(AGWorkSheet, StartRow, StartRow, "E", "H");
						ProjektBeschreibungRange.Font.Size = 20;
						break;
					case PrintoutType.RalphProjektExcel:
					case PrintoutType.RalphRealisierungExcel:
						break;

					}

				StartRow++;
				}

			}
Ejemplo n.º 8
0
		public void CreateActivityExcel(String TargetDirectory, PrintoutType TypeToCreate)
			{
			TargetDirectory = WordUp23.Basics.Instance.ModifyDirectoryNameForUseOnlyRealizeable(TargetDirectory, UseOnlyRealizeableProjects);
			if (Directory.Exists(TargetDirectory) == false)
				Directory.CreateDirectory(TargetDirectory);
			Microsoft.Office.Interop.Excel.Workbook ExcelWb = StartWorkbook(null, null);
			NextRowToStart = 1;

			foreach (ArbeitsGruppe arbeitsgruppenEntry in Data.DbServer3.WordUp.ArbeitsGruppen.ActuallArbeitsGruppen)
				{
				if (arbeitsgruppenEntry.UseForProjects != "Ja")
					continue;
				String ArbeitsgruppenName = arbeitsgruppenEntry.NameId + "-" + arbeitsgruppenEntry.Beschreibung;
				Microsoft.Office.Interop.Excel.Worksheet AGWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)
					ExcelWb.Worksheets.Add(ExcelWb.Worksheets[ExcelWb.Worksheets.Count], Missing.Value,
					Missing.Value, Missing.Value);
				if (ArbeitsgruppenName.Length > 31)
					ArbeitsgruppenName = ArbeitsgruppenName.Substring(0, 31);
				AGWorkSheet.Name = ArbeitsgruppenName;
				AGWorkSheet.PageSetup.Orientation = Microsoft.Office.Interop.Excel.XlPageOrientation.xlLandscape;
				InsertStandardHeaderAndFooter(AGWorkSheet, ArbeitsgruppenName);
				FillAGSheet(AGWorkSheet, arbeitsgruppenEntry, TypeToCreate);
				}
			String TypeIdentifier = Enum.GetName(typeof(PrintoutType), TypeToCreate)
				.Replace("Excel", "")
				.Replace("Ralph", "");
			CloseWorkBook(ExcelWb, TargetDirectory, Properties.Settings.Default.RalphsExcel.Replace(".", "_" + TypeIdentifier + "_" + WordUp23.Basics.Instance.ActualWordUpName + "."));
			}
Ejemplo n.º 9
0
		void ProcessOneSheet (Excel.Worksheet Sheet, DataRow AGRow, PrintoutType Layout, bool ImportMissingProject)
			{
			String ActuellOrtsteil = String.Empty;
			String ActuellOrt = String.Empty;
			String ActuellProject = String.Empty;
			int OrtsTeilColumn = 2;
			int OrtColumn = 3;
			int ProjectColumn = 4;
			int BeschreibungColumn = 7;
			int ProjektVerlaufColumn = 10;
			if (AGRow ["NameID"].ToString () == WordUp23.Basics.FREMD_PROJEKT_NAME)
				{
				OrtsTeilColumn = 3;
				OrtColumn = 4;
				ProjectColumn = 5;
				BeschreibungColumn = 8;
				ProjektVerlaufColumn = 9;
				}
			if ((Layout == PrintoutType.RalphProjektExcel)
				|| (Layout == PrintoutType.RalphRealisierungExcel))
				{
				OrtsTeilColumn = 3;
				OrtColumn = 1;
				ProjectColumn = 1;
				}
			int LineNumber = 0;
			int MaxEmptyLines = 0;
			while ((LineNumber++ < Sheet.Rows.Count)
				&& (MaxEmptyLines < 50))
				{
				Excel.Range OrtsTeilRange = Sheet.Cells [LineNumber, OrtsTeilColumn];
				if (String.IsNullOrEmpty (OrtsTeilRange.Value) == false)
					ActuellOrtsteil = OrtsTeilRange.Value;
				if (String.IsNullOrEmpty (ActuellOrtsteil))
					continue;
				Excel.Range OrtRange = Sheet.Cells [LineNumber, OrtColumn];
				if (String.IsNullOrEmpty (OrtRange.Value) == false)
					ActuellOrt = OrtRange.Value;
				Excel.Range ProjectRange = Sheet.Cells [LineNumber, ProjectColumn];
				if (String.IsNullOrEmpty (ProjectRange.Value) == false)
					{
					String ProjectID = ProjectRange.Value;
					switch (Layout)
						{
						case PrintoutType.SprecherExcel:
							{
							Excel.Range ProjectLangBeschreibungRange = Sheet.Cells [LineNumber, BeschreibungColumn];
							String ProjectLangBeschreibung = ProjectLangBeschreibungRange.Value;
							if (ModifyDataBase (ActuellOrtsteil, ActuellOrt, ProjectID, "LangBeschreibung", ProjectLangBeschreibung) == false)
								{
								DataTable OrtTable = m_DataBase.GetCommonDataSet ("Select * from Orte where OrtsTeil = '" + ActuellOrtsteil
																				  + "' and NameID = '" + ActuellOrt + "'").Tables ["Orte"];
								if (OrtTable.Rows.Count > 0)
									InsertMissingProjectIntoMessageGrid (ActuellOrtsteil, ActuellOrt, "OrtOK", ProjectID);
								else
									InsertMissingProjectIntoMessageGrid (ActuellOrtsteil, ActuellOrt, "", ProjectID);
								}
							break;
							}
						case PrintoutType.WagnersExcel:
							{
							Excel.Range ProjectVerlaufRange = Sheet.Cells [LineNumber, ProjektVerlaufColumn];
							String ProjectVerlauf = ProjectVerlaufRange.Value;
							if (ModifyDataBase (ActuellOrtsteil, ActuellOrt, ProjectID, "Status", ProjectVerlauf) == false)
								{
								DataTable OrtTable = m_DataBase.GetCommonDataSet ("Select * from Orte where OrtsTeil = '" + ActuellOrtsteil
																				  + "' and NameID = '" + ActuellOrt + "'").Tables ["Orte"];
								if (OrtTable.Rows.Count > 0)
									{
									if (ImportMissingProject == true)
										{
										String OrtsID = OrtTable.Rows [0] ["ID"].ToString ();
										Excel.Range ProjectBeschreibungRange = Sheet.Cells [LineNumber, BeschreibungColumn];
										String ProjectBeschreibung = ProjectBeschreibungRange.Value;

										InsertMissingProject (OrtsID, ProjectID, ProjectBeschreibung);
										}
									else
										InsertMissingProjectIntoMessageGrid (ActuellOrtsteil, ActuellOrt, "OrtOK", ProjectID);
									}
								else
									InsertMissingProjectIntoMessageGrid (ActuellOrtsteil, ActuellOrt, "", ProjectID);
								}
							else
								{
								Excel.Range ProjectLangBeschreibungRange = Sheet.Cells [LineNumber, BeschreibungColumn];
								String ProjectLangBeschreibung = ProjectLangBeschreibungRange.Value;
								ModifyDataBase (ActuellOrtsteil, ActuellOrt, ProjectID, "LangBeschreibung", ProjectLangBeschreibung);
								}
							break;
							}
						case PrintoutType.RalphProjektExcel:
						case PrintoutType.RalphRealisierungExcel:
								{
							String [] Elemente = ProjectID.Split (';');
							if (Elemente.Length < 2)
								break;
							String ID = Elemente [1].Replace ("ProjektID=", "");
							List<String> ColumnContent = new List<string> ();
							foreach (String ColumnName in ExcelFunctions.RalphsExcelDefinition.ListOfColumnNames())
								{
								Excel.Range ProjectBeschreibungRange = Sheet.Cells [LineNumber, ColumnName];
								ColumnContent.Add (Convert.ToString( ProjectBeschreibungRange.Value));
								}
							ModifyDataBaseFromRalphExcelLine (ID, ColumnContent);
							break;
							}
						}
					MaxEmptyLines = 0;
					}
				else
					{
					MaxEmptyLines++;
					}

				}
			}
Ejemplo n.º 10
0
		void ProcessAllSheets (String FileName, PrintoutType Layout, bool ImportMissingProject)
			{
			ExcelFunctions ExcelFunctionsHelper = new ExcelFunctions ();
			Excel.Workbook ExcelWB = ExcelFunctionsHelper.StartReadWorkbook(FileName);
			if (ExcelWB == null)
				return;
			List<String> ExistingAGNames = new List<string> ();
			DataTable Arbeitsgruppen = m_DataBase.GetCommonDataSet ("Select * from ArbeitsGruppen where WordUpRootID = '"
																	+ WordUpID + "'").Tables ["ArbeitsGruppen"];
			foreach (Excel.Worksheet Sheet in ExcelWB.Worksheets)
				{
				String SheetName = Sheet.Name;
				DataRow AGRowToProcess = null;
				bool CorrectSheet = false;
				foreach (DataRow AGRow in Arbeitsgruppen.Rows)
					{
					String NameElementToSearchFor = AGRow ["NameID"].ToString () + "-";
					if (SheetName.IndexOf (NameElementToSearchFor) != -1)
						{
						CorrectSheet = true;
						AGRowToProcess = AGRow;
						break;
						}
					}
				if (CorrectSheet == false)
					continue;
				ProcessOneSheet (Sheet, AGRowToProcess, Layout, ImportMissingProject);
				}

			ExcelFunctionsHelper.CloseReadWorkbook(ExcelWB);
			}