Beispiel #1
0
        private void ActualizeProjectFolder(String ProjectFolderBaseDirectory, String OrteFolderBaseDirectory)
            {
            DbEntities.dbserver3.wordup.rows.Projekt[] Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte
                (DataWrapper.Instance.WordUpPhase.ToString())
                .OrderBy(aG => aG.Ort?.OrtsTeil?.AktuallArbeitsGruppe?.NameId)
                .ToArray();
            String OldOrteID = String.Empty;
            foreach (DbEntities.dbserver3.wordup.rows.Projekt projectEntry in Projekte)
                {
                if (projectEntry.OrteId.ToString() != OldOrteID)
                    {
                    OldOrteID = projectEntry.OrteId.ToString();
                    String OrtsNameID = projectEntry.Ort.NameId;
                    List<Object> PicturesToPrint = null;		//DataWrapper.Instance.CreateTreeForOrtePictures (OrteFolderBaseDirectory, projectEntry);
                    String OrteDirectory = Path.Combine(OrteFolderBaseDirectory,
                        DataWrapper.Instance.GetDirectoryNamePart
                            (projectEntry, false));

                    String PictureFileName = Path.Combine(OrteDirectory, "Bilder.pdf");
                    XAMLPrintoutDefinitions.PrintFileCards PicturePrintHandler = new XAMLPrintoutDefinitions.PrintFileCards();
                    String CreatedPictureFileNameAndDescription = PicturePrintHandler.PrintPictureData
                        (PicturesToPrint, PictureFileName, OrtsNameID);
                    }

                String ProjectDirectory = Path.Combine(ProjectFolderBaseDirectory,
                    DataWrapper.Instance.GetDirectoryNamePart(projectEntry));
                List<Object> PicturesToPrintBefore = DataWrapper.Instance.CreateTreeForProjektBeforePictures
                    (ProjectDirectory);
                List<Object> PicturesToPrintAfter = DataWrapper.Instance.CreateTreeForProjektAfterPictures
                    (ProjectDirectory);
                List<Object> PicturesToPrintIntermediate = DataWrapper.Instance.CreateTreeForProjektIntermediatePictures
                    (ProjectDirectory);
                String FolderFileName = DataWrapper.Instance.GetFileNameForProjectFolder(projectEntry) + ".pdf";
                String FullFolderPath = Path.Combine(ProjectDirectory, FolderFileName);
                DateTime LastWriteTime = DateTime.MinValue;
                bool FolderExists = false;
                if (File.Exists(FullFolderPath))
                    {
                    FileInfo FInfo = new FileInfo(FullFolderPath);
                    LastWriteTime = FInfo.LastWriteTime;
                    FolderExists = true;
                    }
                String ProjektBeschreibung = projectEntry.Beschreibung;
                List<Object> ObjectsToPrint = DataWrapper.Instance.CreateTreeForProjekteFolder(projectEntry,
                    "ProfisFull");
                List<Object> ResultetObjectsToPrint = new List<object>(PicturesToPrintBefore);
                ResultetObjectsToPrint.AddRange(ObjectsToPrint);
                ResultetObjectsToPrint.AddRange(PicturesToPrintIntermediate);
                ResultetObjectsToPrint.AddRange(PicturesToPrintAfter);

                XAMLPrintoutDefinitions.PrintFileCards PrintHandler = new XAMLPrintoutDefinitions.PrintFileCards();
                String CreatedFileNameAndDescription = PrintHandler.PrintProjektMapData(ResultetObjectsToPrint,
                    FullFolderPath, ProjektBeschreibung);

                if (FolderExists)
                    {
                    }
                }
            }
Beispiel #2
0
        public String CreateMultiProjectProjectFolder(DbEntities.dbserver3.wordup.rows.Projekt[] ProjectsToCreate,
            String TargetDirectory, String Description, String FileNameElement = "")
            {
            //String ProjectFolderBaseDirectory = Basics.Instance.ProjektMaterialDirectory;
            //String OrteFolderBaseDirectory = Basics.Instance.OrtsMaterialDirectory;
            String FileName = String.Empty;
            if (String.IsNullOrEmpty(FileNameElement))
                FileName = Path.Combine(TargetDirectory,
                    "ProjektMappe_" + DateTime.Now.ToString("yyyy-MMM-dd_HH_mm") + ".pdf");
            else
                FileName = Path.Combine(TargetDirectory,
                    WMB.Basics.ConvertToCorrectFileNameElement(FileNameElement) + ".pdf");
	        Guid OldOrteID = Guid.Empty;
            List<Object> ResultetObjectsToPrint = new List<Object>();

			foreach (DbEntities.dbserver3.wordup.rows.Projekt projectEntry in ProjectsToCreate)
                {
                PlanungPrint planungPrint = new PlanungPrint(projectEntry)
					{
					PageBreakAllowedBefore = true
					};
				ResultetObjectsToPrint.Add(planungPrint);
				planungPrint.MaximalWMUValue = Data.DbServer3.WordUp.Projekte.WMUDistribution.Keys.Max();
				planungPrint.MaximalWSPLakateValue = Data.DbServer3.WordUp.Projekte.WSPlakateDistribution.Keys.Max();
				planungPrint.MaximalWertigkeitValue = Data.DbServer3.WordUp.Projekte.WertigkeitValueDistribution.Keys.Max();
				ResultetObjectsToPrint.Add(new HeadLinePrint("Bemerkungen:", "SubSubSub"));
				foreach (Aktivitaet aktivitaet in projectEntry.Aktivitaeten)
	                {
					ResultetObjectsToPrint.Add(new AktivitaetenPrint(aktivitaet)
						{
						
						});
					}
				ResultetObjectsToPrint.Add(new HeadLinePrint("Ideen", "SubSubSub"));
				foreach (WSPlakat wsPlakat in projectEntry.WSPlakate)
	                {
					ResultetObjectsToPrint.Add(new IdeePrint(wsPlakat)
						{}
					);
                    }
                foreach (ProjektZuTermin projektZuTermin in Data.DbServer3.WordUp.ProjekteZuTerminen.Find_By_ProjekteId(projectEntry.Id) )
	                {
					TerminPrint TerminRoot = new TerminPrint(projektZuTermin.Termin);
					ResultetObjectsToPrint.Add(TerminRoot);
					bool firstTeam = true;
					bool firstVertreter = true;
					foreach (PersonZuTermin PersonZuTerminEntry in Data.DbServer3.WordUp.PersonenZuTerminen
						.FindOrLoad_ActivePersonenZuTerminen(projektZuTermin.Termin.Id)
						.Where(sel => Data.DbServer3.WordUp.Typen.AllTypIDsForBetreuer.Contains((Guid)sel.PersonenTypId)))
						{
						if (firstTeam)
							{
							ResultetObjectsToPrint.Add(new HeadLinePrint("Betreuer", "Sub")
								{ PageBreakAllowedBefore = true, BorderPadding = new Thickness(40, 10, 0, 0) });
							firstTeam = false;
							}
						TeamPersonPrint TeamPerson = new TeamPersonPrint(PersonZuTerminEntry);
						TeamPerson.BorderPadding = new Thickness(40, 0, 0, 0);

						ResultetObjectsToPrint.Add(TeamPerson);
						}
					foreach (PersonZuTermin PersonZuTerminEntry in Data.DbServer3.WordUp.PersonenZuTerminen
						.FindOrLoad_ActivePersonenZuTerminen(projektZuTermin.Termin.Id)
						.Where(sel => Data.DbServer3.WordUp.Typen.AllTypIDsForVertreter.Contains((Guid)sel.PersonenTypId)))
						{
						if (firstVertreter)
							{
							ResultetObjectsToPrint.Add(new HeadLinePrint("VertreterInnen", "Sub")
								{ PageBreakAllowedBefore = true, BorderPadding = new Thickness(40, 10, 0, 0) });
							firstVertreter = false;
							}
						VertreterPersonPrint VertreterPerson = new VertreterPersonPrint(PersonZuTerminEntry);
						VertreterPerson.BorderPadding = new Thickness(40, 0, 0, 0);
						ResultetObjectsToPrint.Add(VertreterPerson);

						}


					}
				if (projectEntry.Ort.Id != OldOrteID)
                    {
                    OldOrteID = projectEntry.Ort.Id;
                    ResultetObjectsToPrint.AddRange(DataWrapper.Instance.CreateTreeForOrtePictures
                        (projectEntry));
                    }

                }

            XAMLPrintoutDefinitions.PrintFileCards PicturePrintHandler = new XAMLPrintoutDefinitions.PrintFileCards();
            return PicturePrintHandler.PrintProjektMapData(ResultetObjectsToPrint, FileName, Description);
            }