private Dictionary<String, Dictionary<String, String>> CreateCommonPersonenListings (List<Guid> TypListToSelect, String OutputFileName, String HeadLine, String ItemToPageBreakBy, String ItemToGroupBy) { Dictionary<String, Dictionary<String, String>> Result = new Dictionary<String, Dictionary<String, String>>(); XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); List<Object> CollectionOfClassesToPrint = DataWrapper.Instance.CreatePersonenTreeForSpecialSortField (TypListToSelect, ItemToPageBreakBy, ItemToGroupBy); PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, OutputFileName, HeadLine); return Result; }
private Dictionary<String, Dictionary<String, String>> CreateSpecialFormattedPersonenPrintOuts (String OutputFileName, String HeadLine, List<String> FixTexte) { String AktuellerFixText = FixTexte[0]; Cursor = Cursors.Wait; Dictionary<String, Dictionary<String, String>> Result = new Dictionary<String, Dictionary<String, String>>(); // all Data (Vorstände, Stellvertreter und Räte List<List<Guid>> TypenList = new List<List<Guid>>() { new List<Guid>() { PersonenTypen.Vorsteher, PersonenTypen.Stellvertreter, PersonenTypen.Rat }, new List<Guid>() { PersonenTypen.Vorsteher, PersonenTypen.Stellvertreter }, new List<Guid>() { PersonenTypen.Vorsteher } }; List<String> Headlines = new List<String>() { "Vorsteher, Stellvertreter und Räte", "Vorsteher und Stellvertreter", "Vorsteher" }; List<String> FileIDs = new List<String>() { "_VSR", "_VS", "_V" }; int RuntimeIndex = 0; while (RuntimeIndex < FileIDs.Count) { List<Guid> VertreterTypen = null; switch (RuntimeIndex) { case 0: VertreterTypen = new List<Guid>() { PersonenTypen.Vorsteher, PersonenTypen.Stellvertreter, PersonenTypen.Rat }; break; case 1: VertreterTypen = new List<Guid>() { PersonenTypen.Vorsteher, PersonenTypen.Stellvertreter }; break; case 2: VertreterTypen = new List<Guid>() { PersonenTypen.Vorsteher }; break; } PersonZuWordUpID[] PersonenZuWordUpIDs = Data.DbServer3.WordUp .PersonenZuWordUpID.Find_TypedPersonen(TypenList[RuntimeIndex]) .Where(ent => ent.Organisation.OrganisationenTypId == OrganisationenTypen.Klasse) .OrderBy(ent => ent.Organisation.CodeName) .ThenByDescending(ent => ent.Person.FamilienName).ToArray(); XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); List<Object> CollectionOfClassesToPrint = DataWrapper.Instance.CreateTreeForAnwesenheitsListen(VertreterTypen); PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, String.Format(OutputFileName, "_AnwesenheitsListe" + FileIDs[RuntimeIndex]), "Anwesenheitsliste für " + Headlines[RuntimeIndex] + "\r\n" + HeadLine, "Landscape"); CollectionOfClassesToPrint = DataWrapper.Instance.CreateTreeForZeitGutScheine(VertreterTypen, AktuellerFixText, true); PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, String.Format(OutputFileName, "_Zeitgutschein_Signed" + FileIDs[RuntimeIndex]), "Zeitgutscheine für " + Headlines[RuntimeIndex] + "\r\n" + HeadLine); CollectionOfClassesToPrint = DataWrapper.Instance.CreateTreeForZeitGutScheine(VertreterTypen, AktuellerFixText, false); PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, String.Format(OutputFileName, "_Zeitgutschein_UnSigned" + FileIDs[RuntimeIndex]), "Zeitgutscheine für " + Headlines[RuntimeIndex] + "\r\n" + HeadLine); RuntimeIndex++; } Cursor = Cursors.Arrow; return Result; }
private Dictionary<String, Dictionary<String, String>> CreateProjectListOAP (IEnumerable<DbEntities.dbserver3.wordup.rows.Projekt> SortableProjekte, Basics.DataSelection Phase, String PrintThisSecurityGroup, String OutputFileName, String HeadLine, bool WithOrWithoutPlakate, bool WithOrWithoutActivities, bool WithOrWithoutTermine) { Dictionary<String, Dictionary<String, String>> Result = new Dictionary<String, Dictionary<String, String>>(); XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); List<Object> CollectionOfClassesToPrint = DataWrapper.Instance.CreateTreeForProjectListingsAG (Phase, SortableProjekte, WithOrWithoutPlakate, WithOrWithoutActivities, WithOrWithoutTermine, true, PrintThisSecurityGroup); PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, OutputFileName, HeadLine); return Result; }
private Dictionary<String, Dictionary<String, String>> CreateProjectListOAPGetrennt (IEnumerable<DbEntities.dbserver3.wordup.rows.Projekt> SortableProjekte, Basics.DataSelection RequestedPhase, String PrintThisSecurityGroup, String OutputFileName, String HeadLine, bool WithOrWithoutPlakate, bool WithOrWithoutActivities, bool WithOrWithoutTermine) { Dictionary<String, Dictionary<String, String>> Result = new Dictionary<String, Dictionary<String, String>>(); XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); foreach ( DbEntities.dbserver3.wordup.rows.ArbeitsGruppe AGEntry in Data.DbServer3.WordUp.ArbeitsGruppen.Collection .Where(Entry => Entry.WordUpRootId == Guid.Parse(Data.DbServer3.WordUp.WordUpID)) .OrderBy(Entry => Entry.NameId)) { String AG = AGEntry.NameId; String AGID = AGEntry.Id.ToString().ToLower(); String Ortsteile = AGEntry.AktuallOrtsTeile; String AGFileName = OutputFileName.Replace(".pdf", "_" + AG + ".pdf"); String AGTitle = AG + " - " + Ortsteile + "\r\n" + HeadLine; Result[AG] = new Dictionary<String, String>(); Result[AG][AGID] = AGFileName + ";" + AGTitle; List<Object> PrintableProjektePerAG = DataWrapper.Instance.CreateTreeForArbeitsGruppenProjekte (RequestedPhase, AG, SortableProjekte.Where(whe => whe.Ort.OrtsTeil.AktuallArbeitsGruppe.NameId == AG), PrintThisSecurityGroup, WithOrWithoutPlakate, WithOrWithoutActivities, WithOrWithoutTermine); String CreatedProjekteFileName = PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte (PrintableProjektePerAG, AGFileName, AGTitle); } return Result; }
private Dictionary<String, Dictionary<String, String>> CreateProjectListNumericID (IEnumerable<DbEntities.dbserver3.wordup.rows.Projekt> SortableProjekte, Basics.DataSelection Phase, String PrintThisSecurityGroup, String OutputFileName, String HeadLine, bool WithOrWithoutPlakate, bool WithOrWithoutActivities, bool WithOrWithoutTermine) { Dictionary<String, Dictionary<String, String>> Result = new Dictionary<String, Dictionary<String, String>>(); List<Object> CollectionOfClassesToPrint = new List<object>(); bool FirstProjektInProjektOrt = true; foreach (DbEntities.dbserver3.wordup.rows.Projekt ProjektEntry in SortableProjekte) { DataWrapper.Instance.CreateAllForOneProjectToPrint(Phase, CollectionOfClassesToPrint, ProjektEntry, ref FirstProjektInProjektOrt, WithOrWithoutPlakate, WithOrWithoutActivities, WithOrWithoutTermine, true, PrintThisSecurityGroup); } XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, OutputFileName, HeadLine); return Result; }
private void CreateCounterProArbeitsGruppe(String TargetDirectory) { List<Object> CollectionOfClassesToPrint = new List<object>(); XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); StatistikCounters AllCounter = new StatistikCounters(Data.DbServer3); foreach (WordUpRoot wordUpRoot in AllCounter.AllRoots.Keys.OrderByDescending(ord => ord.NameId)) { if (AllCounter.AllRoots.ContainsKey(wordUpRoot)) { List<StatistikCounter> counterSet = AllCounter.AllRoots[wordUpRoot]; foreach (StatistikCounter statistikCounter in counterSet) { CollectionOfClassesToPrint.Add(statistikCounter); // statistikCounter.DebugValues(); } } if (AllCounter.AllWordUps.ContainsKey(wordUpRoot)) { List<StatistikCounter> summenCounterSet = AllCounter.AllWordUps[wordUpRoot]; foreach (StatistikCounter statistikCounter in summenCounterSet) { CollectionOfClassesToPrint.Add(statistikCounter); // statistikCounter.DebugValues(); } } if (AllCounter.AllWordUpAGs.ContainsKey(wordUpRoot)) { List<StatistikCounter> agCounterSet = AllCounter.AllWordUpAGs[wordUpRoot]; foreach (StatistikCounter statistikCounter in agCounterSet) { CollectionOfClassesToPrint.Add(statistikCounter); // statistikCounter.DebugValues(); } } } String OutputFileName = Path.Combine(TargetDirectory, "VorschlagUndIdeenVerteilung" + ".pdf"); if (!Directory.Exists(TargetDirectory)) Directory.CreateDirectory(TargetDirectory); String HeadLine = "Verteilung der Vorschläge und Ideen über die Jahre"; PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, OutputFileName, HeadLine); }
public void CreateProjectEvaluationCardsOrderByWMU(String TargetDirectory) { Cursor = Cursors.Wait; try { int MaximalWMUValue = Data.DbServer3.WordUp.Projekte.WMUDistribution.Keys.Max(); int MaximalWSPLakateValue = Data.DbServer3.WordUp.Projekte.WSPlakateDistribution.Keys.Max(); List<Guid?> OrteIDWithProjektenAndBezirkZustaendigkeit = Data.DbServer3.WordUp.Projekte.Collection .Where(proj => proj.WordUpRootId == Data.DbServer3.WordUp.WordUpIDGuid && proj.ZustaendigId == Zustaendig.Bezirk) .Select(sel => sel.OrteId).Distinct().ToList(); String IntermediateTargetDirectory = Path.Combine(TargetDirectory, "ArbeitsgruppenOrderedByWMU"); foreach (DbEntities.dbserver3.wordup.rows.ArbeitsGruppe arbeitsGruppe in Data.DbServer3.WordUp.ArbeitsGruppen.Collection .Where(arg => arg.WordUpRootId == Data.DbServer3.WordUp.WordUpIDGuid && arg.UseForProjects == "Ja") .OrderBy(ord => ord.NameId)) { String FinalTargetDirectory = Path.Combine(IntermediateTargetDirectory, arbeitsGruppe.NameId); foreach (OrtsTeil ortsTeil in Data.DbServer3.WordUp.OrtsTeile.Collection .Where(sel => sel.AktuallArbeitsGruppe == arbeitsGruppe) .OrderBy(ord => ord.NameId)) { XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); List<Object> CollectionOfClassesToPrint = new List<object>(); foreach (DbEntities.dbserver3.wordup.rows.Projekt projekt in Data.DbServer3.WordUp.Projekte.Collection .Where(proj => OrteIDWithProjektenAndBezirkZustaendigkeit.Contains(proj.OrteId) && proj.WordUpRootId == Data.DbServer3.WordUp.WordUpIDGuid && proj.ZustaendigId == Zustaendig.Bezirk && (proj.AmpelTypForThisProjekt == AktivitaetsTyp.AmpelTyp.Green || proj.AmpelTypForThisProjekt == AktivitaetsTyp.AmpelTyp.Yellow) && proj.Ort?.OrtsTeilId == ortsTeil.Id) .OrderByDescending(ord => ord.SummeWMU)) { CollectionOfClassesToPrint.Add(new EvaluationCardPrint(projekt) { MaximalWMUValue = MaximalWMUValue, MaximalWSPLakateValue = MaximalWSPLakateValue }); CollectionOfClassesToPrint.Add(new SchnittLinePrint()); } String OutputFileName = Path.Combine(FinalTargetDirectory, ortsTeil.NameId + ".pdf"); if (!Directory.Exists(FinalTargetDirectory)) Directory.CreateDirectory(FinalTargetDirectory); String HeadLine = "Projekte der AG \"" + arbeitsGruppe.NameId + "\" im OrtsTeil \"" + ortsTeil.NameId + "\" bei " + Basics.Instance.WordUpName; PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, OutputFileName, HeadLine); } } Cursor = Cursors.Arrow; } catch (Exception Excp) { System.Windows.MessageBox.Show("Fehler beim KartenDruck:\r\n" + Excp.ToString()); WMB.Basics.ReportErrorToEventViewer("Fehler beim KartenDruck:\r\n" + Excp.ToString()); } }
private void CreateProjectListNumericID(IEnumerable<DbEntities.dbserver3.wordup.rows.Projekt> SortableProjekte, Basics.DataSelection Phase, String PrintThisSecurityGroup, String GroupingInfo) { if (!Directory.Exists(DataWrapper.Instance.TargetDirectory + "\\ProjektListings\\Numeric")) Directory.CreateDirectory(DataWrapper.Instance.TargetDirectory + "\\ProjektListings\\Numeric"); String OutputFileName = System.IO.Path.Combine(DataWrapper.Instance.TargetDirectory + "\\ProjektListings\\Numeric", "Stand_" + DataWrapper.Instance.RuntimeEnvironmentShortText + "_" + Enum.GetName(typeof (Basics.DataSelection), Phase) + "_" + PrintThisSecurityGroup + "_" + GroupingInfo + ".pdf"); List<Object> CollectionOfClassesToPrint = new List<object>(); bool FirstProjektInProjektOrt = true; foreach (DbEntities.dbserver3.wordup.rows.Projekt ProjektEntry in SortableProjekte) { DataWrapper.Instance.CreateAllForOneProjectToPrint(Phase, CollectionOfClassesToPrint, ProjektEntry, ref FirstProjektInProjektOrt, true, true, true, true, PrintThisSecurityGroup); } XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); String HeadLine = "Projektliste \"" + WordUpName + "\" sortiert \"" + GroupingInfo + "\"\r\n" + Enum.GetName(typeof (Basics.DataSelection), Phase) + " Stand " + DateTime.Now.ToString("ddd. dd.MMM yyyy HH:mm") + " (incl. Ideen)"; PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, OutputFileName, HeadLine); OutputFileName = System.IO.Path.Combine(DataWrapper.Instance.TargetDirectory + "\\ProjektListings\\Numeric", "Stand_" + DataWrapper.Instance.RuntimeEnvironmentShortText + "_" + Enum.GetName(typeof (Basics.DataSelection), Phase) + "_" + PrintThisSecurityGroup + "_" + GroupingInfo + "_OhnePlakate.pdf"); CollectionOfClassesToPrint.Clear(); foreach (DbEntities.dbserver3.wordup.rows.Projekt ProjektEntry in SortableProjekte) { DataWrapper.Instance.CreateAllForOneProjectToPrint(Phase, CollectionOfClassesToPrint, ProjektEntry, ref FirstProjektInProjektOrt, false, true, true, true, PrintThisSecurityGroup); } HeadLine = "Projektliste \"" + WordUpName + "\" sortiert \"" + GroupingInfo + "\"\r\n" + Enum.GetName(typeof (Basics.DataSelection), Phase) + " Stand " + DateTime.Now.ToString("ddd. dd.MMM yyyy HH:mm") + " (excl. Ideen)"; PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(CollectionOfClassesToPrint, OutputFileName, HeadLine); }
private Dictionary<String, String> CreateArbeitsGruppenPersonen(String ArbeitsGruppenTargetDirectory) { ShowProgressMessage("Create ProjektPersonen Auswertungen"); Dictionary<String, String> Result = new Dictionary<String, String>(); ArbeitsGruppenTargetDirectory += "\\Personen"; if (!Directory.Exists(ArbeitsGruppenTargetDirectory)) Directory.CreateDirectory(ArbeitsGruppenTargetDirectory); String HeadLine; XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards(); List<Object> AllPrintablePersonen = DataWrapper.Instance.CreateTreeForArbeitsGruppenPersonen(""); String CreatedPersonenFileName = PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(AllPrintablePersonen, Path.Combine(ArbeitsGruppenTargetDirectory, "word up!23 - alle Arbeitsgruppen - Personenliste.pdf"), "Alle Arbeitsgruppen\r\nAlle VertreterInnen, BetreuerInnen und PlenumssprecherInnen"); foreach (DataRow AGRow in Basics.Instance.ArbeitsGruppen.Values) { String AG = AGRow["NameID"].ToString(); String AGID = AGRow["ID"].ToString().ToLower(); String Ortsteile = AGRow["LangName"].ToString(); String AGFileName = Path.Combine(ArbeitsGruppenTargetDirectory, "word up!23 - " + AG + " - Personenliste.pdf"); String AGTitle = AG + " - " + Ortsteile + "\r\nAlle VertreterInnen, BetreuerInnen und PlenumssprecherInnen"; Result[AGID] = AGFileName + ";" + AGTitle; List<Object> PrintablePersonenPerAG = DataWrapper.Instance.CreateTreeForArbeitsGruppenPersonen (AG); CreatedPersonenFileName = PrintHandler.PrintSimpleFormattedArbeitsGruppenPersonenProjekte(PrintablePersonenPerAG, AGFileName, AGTitle); } ShowProgressMessage(""); return Result; }