コード例 #1
0
ファイル: StatistikRootClass.cs プロジェクト: heinzsack/DEV
		public StatistikRootClass(ArbeitsGruppe arbeitsGruppe)
			{
			ArbeitsGruppeDaten = arbeitsGruppe;
			}
コード例 #2
0
ファイル: ExcelFunctions.cs プロジェクト: heinzsack/DEV
		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);
			}
コード例 #3
0
ファイル: ExcelFunctions.cs プロジェクト: heinzsack/DEV
		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;
			}
コード例 #4
0
		public AGCounter(ArbeitsGruppe arbeitsGruppe, ZustaendigAgOrtsTeilOrt zustaendigAgOrtsTeilOrtParent)
			: base (arbeitsGruppe)
			{
			Parent = zustaendigAgOrtsTeilOrtParent;
			}