예제 #1
0
	    private void SelectedProjektChanged(Projekt OldValue,
		    Projekt NewValue)
		    {
		    if ((NewValue != null)
		        && (NewValue != WordUpProjekteModellInstance.SelectedProjekt))
			    {
			    WordUpProjekteModellInstance.SelectedProjekt = NewValue;
				ProjektListView.ScrollIntoView(WordUpProjekteModellInstance.SelectedProjekt);
			    ProjektListView.SelectedItem = WordUpProjekteModellInstance.SelectedProjekt;
			    }

		    }
	    private void ProjektToWorkWithChanged(Projekt OldValue,
		    Projekt NewValue)
		    {
		    if (NewValue == null)
			    {
			    ProjektSaveAllowed = false;
			    WSPlakatAssignmentAllowed = false;
			    }
		    else
			    {
				ProjektSaveAllowed = true;
			    if (WSPlakatToProcess != null)
				    WSPlakatAssignmentAllowed = true;
			    }
			}
		private void PresentHead(int helperIndex, Projekt projekt, ProjekteTable.SortEntries sortEntry,
					int level, String SortKey, bool lastLevel)
		    {
		    String TabLevel = "\t\t\t\t\t\t\t\t";
		    if (level == 0)
			    {
			    HTMLRows.Add($"{TabLevel.Substring(0, level + 1)}<li style=\"font-weight: bold\"><h3>{SortKey}</h3>");
			    return;
			    }
			if (level == 1)
				{
				HTMLRows.Add($"{TabLevel.Substring(0, level + 1)}<li style=\"\"><h4>{SortKey}</h4>");
				return;
				}
			HTMLRows.Add($"{TabLevel.Substring(0, level + 1)}<li style=\"\">{SortKey}");
			}
		public String GetActuallSearchKey(ProjekteTable.SortEntries sortEntry, Projekt projekt)
			{
			switch (sortEntry)
				{
				case ProjekteTable.SortEntries.ArbeitsGruppe:
					return projekt.Ort.OrtsTeil.AktuallArbeitsGruppe.NameId;
					break;
				case ProjekteTable.SortEntries.Zustaendigkeit:
					return projekt.Zustaendigkeit.NameId;
					break;
				case ProjekteTable.SortEntries.NumericProjektId:
					return projekt.NumericProjektId;
					break;
				case ProjekteTable.SortEntries.OrtsBezeichnung:
					return projekt.Ort.NameId;
					break;
				case ProjekteTable.SortEntries.PlakatWertigkeiten:
					return Convert.ToString(projekt.SummeU + projekt.SummeW + projekt.SummeM);
					break;
				case ProjekteTable.SortEntries.ProjektNameId:
					return projekt.NameId;
					break;
				case ProjekteTable.SortEntries.ProjektTyp:
					return projekt.Typ.TypNameId;
					break;
				case ProjekteTable.SortEntries.ProjektWertigkeit:
					Convert.ToString(projekt.Wertigkeit);
					break;
				case ProjekteTable.SortEntries.OrtsTeilNameId:
					return projekt.Ort.OrtsTeil.NameId;
					break;
				}
			return String.Empty;
			}
		private bool CreateContentLoop(List<ProjekteTable.SortEntries> sortEntries,
			List<String> sortKeys, int level, Projekt[] projekte, int firstIndex, int numberOfEntries)
		    {
		    int runningIndex = firstIndex;
		    sortKeys[level] = String.Empty;
			int startIndexForCildGroup = 0;
			int runLengthForCildGroup = 0;
			while (runningIndex < firstIndex + numberOfEntries)
				{
				String actuallLeveledKey = String.Empty;
				if (level < sortEntries.Count)
					actuallLeveledKey = GetActuallSearchKey(sortEntries[level], projekte[runningIndex]);
				if (level < sortKeys.Count)
					{
					if ((actuallLeveledKey != sortKeys[level])
						&& (level != sortEntries.Count - 1))
						{
						if ((!String.IsNullOrEmpty(sortKeys[level]))
							&& (runLengthForCildGroup > 0) )
							{
							if (StartGroup != null)
								StartGroup(level, sortKeys[level]);
							else
								PresentStartGroup(level, sortKeys[level]);
							CreateContentLoop(sortEntries, sortKeys, level + 1, projekte,
								startIndexForCildGroup, runLengthForCildGroup);
							if (EndGroup != null)
								EndGroup(level, sortKeys[level]);
							else
								PresentEndGroup(level, sortKeys[level]);
							}
						sortKeys[level] = actuallLeveledKey;
						if (HeadPresentation != null)
							HeadPresentation(projekte[runningIndex], 
								sortEntries[level].ToString(), level, sortKeys[level]);
						else
							PresentHead(runningIndex, projekte[runningIndex], sortEntries[level],
								level, sortKeys[level], level == sortKeys.Count - 1);
						startIndexForCildGroup = runningIndex;
						runLengthForCildGroup = 0;
						}
					runLengthForCildGroup++;
					}
				if (level == sortEntries.Count - 1)
					if (ContentPresentation != null)
						ContentPresentation (projekte[runningIndex],
								sortEntries[level].ToString(), level, sortKeys[level]);
					else
						PresentContent(runningIndex, projekte[runningIndex], sortEntries[level], level, 
							sortKeys[level], level == sortKeys.Count - 1);
				runningIndex++;
				}
		    if  ((runningIndex == firstIndex + numberOfEntries)
				&& (level != sortEntries.Count - 1))
			    {
				if (StartGroup != null)
					StartGroup(level, sortKeys[level]);
				else
					PresentStartGroup(level, sortKeys[level]);
				CreateContentLoop(sortEntries, sortKeys, level + 1, projekte,
					startIndexForCildGroup, runLengthForCildGroup);
				if (EndGroup != null)
					EndGroup(level, sortKeys[level]);
				else
					PresentEndGroup(level, sortKeys[level]);
				}
			return true;

		    }
		public static List<PictureContainerList> PrepareData(DbServer3Context parent, Projekt connectedProjekt,
					Ort connectedOrt, bool isOrtOrProjekt, bool? shortList = null, bool alwaysReload = false)
			{
			List<PictureContainerList> result = new List<PictureContainerList>();
			if (isOrtOrProjekt)
				{
				if ((shortList == null)
				    || (bool) (shortList))
					{
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.Ueberblick, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.LagePlan, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.LuftBild, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.Ort, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					}
				if ((shortList == null)
				    || (!(bool) shortList))
					{
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.ProjektBild, alwaysReload)
						{
						IsOrtOrProjekt = false
						});
					}
				}
			else
				{
				if ((shortList == null)
				    || ((bool) shortList))
					{

					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.PPTBild, alwaysReload)
						{
						IsOrtOrProjekt = false
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.SymbolBild, alwaysReload)
						{
						IsOrtOrProjekt = false
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.ProjektBildBefore, alwaysReload)
						{
						IsOrtOrProjekt = false
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.ProjektBild, alwaysReload)
						{
						IsOrtOrProjekt = false
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.ProjektBildAfter, alwaysReload)
						{
						IsOrtOrProjekt = false
						});

					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.Ueberblick, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.LagePlan, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.LuftBild, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.Ort, alwaysReload)
						{
						IsOrtOrProjekt = true
						});
					}
				else
					{
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.ProjektBildBefore, alwaysReload)
						{
						IsOrtOrProjekt = false
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.ProjektBild, alwaysReload)
						{
						IsOrtOrProjekt = false
						});
					result.Add(new PictureContainerList(parent, connectedProjekt, connectedOrt,
						MaterialienTypen.ProjektBildAfter, alwaysReload)
						{
						IsOrtOrProjekt = false
						});

					}
				}
			return result;
			}
		public static List<PictureContainerList> PrepareData(DbServer3Context parent, Projekt connectedProjekt)
			{
			List<PictureContainerList> result = new List<PictureContainerList>();
			DirectoryInfo projektWorkingPPTPictures = new DirectoryInfo(Path.Combine(parent.WordUp.RootDirectoryForPPTWorkingPictures,
				connectedProjekt.SubDirectoryForPPTWorkingPictures));
			if (projektWorkingPPTPictures.Exists)
				{
				List<MaterialInputEntry> materialInputEntries = new List<MaterialInputEntry>();
				foreach (FileInfo projektFiles in projektWorkingPPTPictures.EnumerateFiles())
					{
					materialInputEntries.Add(new MaterialInputEntry(projektFiles.FullName));
					}
				result.Add(new PictureContainerList(parent, connectedProjekt,
					materialInputEntries, MaterialienTypen.ProjektBild)
					{
					IsOrtOrProjekt = false
					});
				}
			return result;
			}
        public void AssignWSPlakatToProjekt(Projekt projektToWorkWith)
            {
		    if ((projektToWorkWith == null)
		        || (SelectedWSPlakat == null))
			    return;
			WSPlakat WsPlakatHelper = SelectedWSPlakat;
			//Projekt ProjektHelper = ProjektToWorkWith;

			WsPlakatHelper.OrteId = projektToWorkWith.OrteId;
			WsPlakatHelper.ProjekteTypId = projektToWorkWith.ProjekteTypId;
			WsPlakatHelper.ProjektId = projektToWorkWith.Id;
			Data.DbServer3.WordUp.SaveUnspecific();
			Data.DbServer3.WordUp.AcceptChanges();
			AddUsedEntry(projektToWorkWith);
			}
예제 #9
0
		public void SetProjektType(Projekt Vorschlag)
			{
			if (!ProjektTypen.ContainsKey(Vorschlag.Typ))
				{
				ProjektTypen[Vorschlag.Typ] = 0;
				}
			ProjektTypen[Vorschlag.Typ]++;
			}
예제 #10
0
		private MaterialJPG GetPreferedPPTPicture(Projekt projekt)
			{
			if (projekt.PPTBilder.Count > 0)
				return projekt.PPTBilder[0].MaterialJPG;
			if (projekt.SymbolBilder.Count > 0)
				return projekt.SymbolBilder[0].MaterialJPG;
			if (projekt.ProjektBilder.Count > 0)
				return projekt.ProjektBilder[0].MaterialJPG;
			if (projekt.Ort.UeberblickBilder.Count > 0)
				return projekt.Ort.UeberblickBilder[0].MaterialJPG;
			if (projekt.Ort.LuftBilder.Count > 0)
				return projekt.Ort.LuftBilder[0].MaterialJPG;
			if (projekt.Ort.OrtsBilder.Count > 0)
				return projekt.Ort.OrtsBilder[0].MaterialJPG;
			if (projekt.Ort.LagePlaene.Count > 0)
				return projekt.Ort.LagePlaene[0].MaterialJPG;
			return null;
			}
예제 #11
0
		private DbEntities.dbserver3.wordup.rows.Ort[] GetOrteToDraw(out DbEntities.dbserver3.wordup.rows.Projekt[] Projekte,
			TypeOfPictureToDraw PictureToDraw)
			{
			DbEntities.dbserver3.wordup.rows.Ort[] Result = new Ort[0];
			Projekte = new Projekt[0];
			switch (PictureToDraw)
				{
					case TypeOfPictureToDraw.AllActuallExistingOrte:
					case TypeOfPictureToDraw.AllActuallWuensche:
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte("Wuensche");
						Result = Projekte.Select(sel => sel.Ort).Distinct().OrderBy(ord => ord.Bezeichnung).ToArray();
						break;
					case TypeOfPictureToDraw.AllActuallWuenscheNotFinish:
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte("Wuensche")
							.Where(sel => sel.Ort.WLaenge == null).ToArray();
						Result = Projekte.Select(sel => sel.Ort).Distinct().OrderBy(ord => ord.Bezeichnung).ToArray();
						break;
					case TypeOfPictureToDraw.AllActualPlanungen:
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte("Planungen");
						Result = Projekte.Select(sel => sel.Ort).Distinct().OrderBy(ord => ord.Bezeichnung).ToArray();
						break;
					case TypeOfPictureToDraw.AllActuallPlanungenNotFinish:
						Projekte = Data.DbServer3.WordUp.Projekte.Find_PhasenCorrectProjekte("Planungen")
							.Where(sel => sel.Ort.WLaenge == null
							              || sel.PPTBilder.Count == 0).ToArray();
						Result = Projekte.Select(sel => sel.Ort).Distinct().OrderBy(ord => ord.Bezeichnung).ToArray();
						break;
				}
			return Result;
			}
예제 #12
0
파일: Basics.cs 프로젝트: heinzsack/DEV
		public String GetProjectMaterialWebLink(Projekt projektEntry, String TargetWebDirectory)
			{
			return Path.Combine(TargetWebDirectory + "\\ProjektMaterial", Properties.Settings.Default.ProjectMaterial
										+ WordUp23.Basics.Instance.ActualWordUpName + "_" +
										projektEntry.FullProjektNameForFileAccess);
			}
예제 #13
0
파일: MainWindow.cs 프로젝트: heinzsack/DEV
		private void SelectedProjektChanged(Projekt OldValue,
			Projekt NewValue)
			{
			}
예제 #14
0
	    public bool CheckUWMWerte(Projekt projekt, bool DoImmediateSaveChanges = true)
		    {
		    int SummeU = 0;
		    int SummeW = 0;
		    int SummeM = 0;
		    foreach (WSPlakat wsPlakat in Data.DbServer3.WordUp.WSPlakate.Where(pla => pla.ProjektId == projekt.Id))
			    {
				if (wsPlakat.WertU != null)
					SummeU += wsPlakat.WertU.Value;
				if (wsPlakat.WertW != null)
					SummeW += wsPlakat.WertW.Value;
				if (wsPlakat.WertM != null)
					SummeM += wsPlakat.WertM.Value;
				}
		    if ((projekt.SummeU != SummeU)
		        || (projekt.SummeW != SummeW)
		        || (projekt.SummeM != SummeM))
			    {
			    projekt.SummeU = SummeU;
			    projekt.SummeW = SummeW;
			    projekt.SummeM = SummeM;
                if (DoImmediateSaveChanges)
					Data.DbServer3.WordUp.Projekte.SaveChanges();
			    return false;		//update required!!
			    }
		    return true;
		    }
		private void PresentContent(int helperIndex, Projekt projekt, ProjekteTable.SortEntries sortEntry,
				int level, String SortKey, bool lastLevel)
			{
			String TabLevel = "\t\t\t\t\t\t\t\t";
			HTMLRows.Add($"{TabLevel.Substring(0, level+1)}<li style=\"cursor: pointer; font-weight:bold\">" +
						$"<a href =\"/Home/SingleElementWhatToDo?WhatToDo={projekt.Id}\">" +
						$"{projekt.NameId}</a></li>");
			}
		public PictureContainerList(DbServer3Context parent, Projekt connectedProjekt,
					List<MaterialInputEntry> pictureInputEntries, Guid materialienTyp, bool alwaysReload = false)
			{
			Parent = parent;
			MaterialienTyp = materialienTyp;
			ConnectedProjekt = connectedProjekt;
			MaterialInputEntries = pictureInputEntries;
			AlwaysReload = alwaysReload;
			}
예제 #17
0
		public void SetZustaendigkeiten(Projekt Vorschlag)
			{
			if (!Zustaendigkeiten.ContainsKey(Vorschlag.Zustaendigkeit))
				{
				Zustaendigkeiten[Vorschlag.Zustaendigkeit] = 0;
				}
			Zustaendigkeiten[Vorschlag.Zustaendigkeit]++;
			}
		public PictureContainerList(DbServer3Context parent, Projekt connectedProjekt,
					Ort connectedOrt, Guid materialienTyp, bool alwaysReload = false)
			{
			Parent = parent;
			MaterialienTyp = materialienTyp;
			ConnectedProjekt = connectedProjekt;
			ConnectedOrt = connectedOrt;
			AlwaysReload = alwaysReload;
			}
예제 #19
0
		public StatistikRootClass(Projekt projekt)
			{
			ProjektDaten = projekt;
			}
예제 #20
0
		public ProjektCounter(Projekt projekt, OrtsCounter ortsCounterParent)
			: base (projekt)
			{
			Parent = ortsCounterParent;
			}