Beispiel #1
0
		private static bool DoZielGruppenUpdate (Informationen ActuallInformation, List<Guid> TargetZielgruppenSetting)
			{
			AltErlaaInfoEntities ZielGruppenAssignmentContext = new AltErlaaInfoEntities (ServiceSource);
			List<InformationenZuZielGruppen> OldAssignedZielGruppen =
				(from ZielGrp in ZielGruppenAssignmentContext.InformationenZuZielGruppen
								 where ZielGrp.InformationenID == ActuallInformation.ID
								 select ZielGrp).ToList ();
			foreach (Guid ZielGruppenID in TargetZielgruppenSetting)
				{
				int RemoveIndex = 0;
				bool Exists = false;
				foreach (InformationenZuZielGruppen Entry in OldAssignedZielGruppen)
					{
					if (Entry.ZielgruppenID == ZielGruppenID)
						{
						Exists = true;
						break;
						}
					RemoveIndex++;
					}
				if (Exists == true)
					{
					OldAssignedZielGruppen.RemoveAt (RemoveIndex);
					}
				else
					{
					InformationenZuZielGruppen NewEntry = new InformationenZuZielGruppen ();
					NewEntry.InformationenID = ActuallInformation.ID;
					NewEntry.ZielgruppenID = ZielGruppenID;
					InsertOrModifyEntity (null, NewEntry);
					}
				}
			foreach (InformationenZuZielGruppen DeleteableEntry in OldAssignedZielGruppen)
				{
				Guid ID = DeleteableEntry.ID;
				DeleteEntity ("InformationenZuZielGruppen", ID);
				}

			return true;
			}
Beispiel #2
0
		private static bool DoZielGruppenUpdate (Informationen ActuallInformation, List<Guid> TargetZielgruppenSetting)
			{
			AltErlaaInfoEntities ZielGruppenAssignmentContext = new AltErlaaInfoEntities (ServiceSource);
			List<InformationenZuZielGruppen> OldAssignedZielGruppen =
				(from ZielGrp in ZielGruppenAssignmentContext.InformationenZuZielGruppen
								 where ZielGrp.InformationenID == ActuallInformation.ID
								 select ZielGrp).ToList ();
			foreach (Guid ZielGruppenID in TargetZielgruppenSetting)
				{
				int RemoveIndex = 0;
				bool Exists = false;
				foreach (InformationenZuZielGruppen Entry in OldAssignedZielGruppen)
					{
					if (Entry.ZielgruppenID == ZielGruppenID)
						{
						Exists = true;
						break;
						}
					RemoveIndex++;
					}
				if (Exists == true)
					{
					OldAssignedZielGruppen.RemoveAt (RemoveIndex);
					}
				else
					{
					try
						{
						ZielGruppenAssignmentContext.MergeOption = MergeOption.AppendOnly;
						InformationenZuZielGruppen NewEntry = new InformationenZuZielGruppen ();
						NewEntry.ID = Guid.NewGuid ();
						NewEntry.InformationenID = ActuallInformation.ID;
						NewEntry.ZielgruppenID = ZielGruppenID;
						ZielGruppenAssignmentContext.AddObject ("InformationenZuZielGruppen", NewEntry);
						DataServiceResponse Response = ZielGruppenAssignmentContext.SaveChanges ();
						}
					catch (Exception Excp)
						{
						Basics.ReportErrorToEventViewer ("TemplateManagement.DoZielGruppenUpdate",
															 "Beim AddObject für InformationenZuZielGruppen \"" + ZielGruppenID.ToString ()
															 + "\" kam es zu folgendem Problem:\r\n" + Excp.Message);
						return false;
						}
					}
				}
			foreach (InformationenZuZielGruppen DeleteableEntry in OldAssignedZielGruppen)
				{
				Guid ID = DeleteableEntry.ID;
				try
					{
					ZielGruppenAssignmentContext.DeleteObject (DeleteableEntry);
					ZielGruppenAssignmentContext.SaveChanges ();
					}
				catch (DataServiceRequestException Excp)
					{
					Basics.ReportErrorToEventViewer ("TemplateManagement.DoZielGruppenUpdate",
							"Fehler bei Delete von ID = \"" + ID.ToString () + "\":\r\n" + Excp.Message.ToString ());
					}
				}

			return true;
			}