public StatistikRootClass(ArbeitsGruppe arbeitsGruppe) { ArbeitsGruppeDaten = arbeitsGruppe; }
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); }
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; }
public AGCounter(ArbeitsGruppe arbeitsGruppe, ZustaendigAgOrtsTeilOrt zustaendigAgOrtsTeilOrtParent) : base (arbeitsGruppe) { Parent = zustaendigAgOrtsTeilOrtParent; }