Ejemplo n.º 1
0
		private static void DeleteInformationenFromDataBase (Informationen ActuallInformation)
			{
			AltErlaaInfoEntities AllInformationenContext = new AltErlaaInfoEntities (ServiceSource);
			IQueryable<Informationen> DeleteInformationen = from del in AllInformationenContext.Informationen
			                                                     where del.ID == ActuallInformation.ID
			                                                     select del;
			foreach (Informationen DeleteableEntry in DeleteInformationen)
				{
				Guid ID = ActuallInformation.ID;
				try
					{
					AllInformationenContext.DeleteObject (DeleteableEntry);
					AllInformationenContext.SaveChanges ();
					}

				catch (DataServiceRequestException Excp )
					{
					Basics.ReportErrorToEventViewer ("AltErlaaInfoRootControl.DeleteInformationenFromDataBase",
					          "Fehler bei Delete von ID = \"" + ID.ToString () + "\":\r\n" + Excp.Message);
					}

				}
			}
Ejemplo n.º 2
0
		public static bool DoInformationenAddOnUpdate (Informationen ActuallInformation,
									List<TemplateElementManagement> EntriesTProcess)
			{
			AltErlaaInfoEntities InformationmenAddOnContext = new AltErlaaInfoEntities (ServiceSource);
			IQueryable<InformationenAddOn> OldInformationenAddOn = from InAdd in InformationmenAddOnContext.InformationenAddOn
			                                                       where InAdd.InformationenID == ActuallInformation.ID
			                                                       select InAdd;
			List<Guid> ProcessingHasBeenDone = new List<Guid> ();
			List<InformationenAddOn> ExistingEntriesToDelete = new List<InformationenAddOn> ();
			foreach (InformationenAddOn IAddOn in OldInformationenAddOn)
				{
				bool FoundInNew = false;
				foreach (TemplateElementManagement ElementManagement in EntriesTProcess)
					{
					if (ElementManagement.InfoAddOn == null)
						continue;
					if (IAddOn.ID == ElementManagement.InfoAddOn.ID)
						{
						if (((ElementManagement.InfoAddOn.TabelleID == null)
						     || (ElementManagement.InfoAddOn.TabelleID == Guid.Empty))
						    && (String.IsNullOrEmpty (ElementManagement.InfoAddOn.FreiText)))
							{
							ExistingEntriesToDelete.Add (IAddOn);
							break; // delete this Entry
							}
						if (ElementManagement.ParentTemplateRuntime.AnythingInTheWholeEntryHasBeenModified == true)
							{
							AltErlaaInfoEntities UpdateContext = new AltErlaaInfoEntities (ServiceSource);
							try
								{
								InformationenAddOn ExistingInformationAddOn = (from InAddToUpdate in UpdateContext.InformationenAddOn
																			   where InAddToUpdate.ID == ElementManagement.InfoAddOn.ID
																			   select InAddToUpdate).FirstOrDefault ();
								UpdateContext.MergeOption = MergeOption.AppendOnly;
								ElementManagement.InfoAddOn.LastModifiedBy = CurrentUserName;
								ElementManagement.InfoAddOn.ModifyTimeStamp = DateTime.Now;
								Type TargetType = IAddOn.GetType ();
								foreach (PropertyInfo Prop in TargetType.GetProperties ())
									{
									Prop.SetValue (ExistingInformationAddOn, Prop.GetValue (ElementManagement.InfoAddOn, null), null);
									}
								CheckForMaxLengthExceeded (ExistingInformationAddOn);

								UpdateContext.UpdateObject (ExistingInformationAddOn);
								DataServiceResponse Response = UpdateContext.SaveChanges ();

								}
							catch (Exception Excp)
								{
								Basics.ReportErrorToEventViewer ("TemplateManagement.DoInformationenAddOnUpdate",
																	 "Beim UpdateObject für IAddOn \"" +
																	 ElementManagement.InfoAddOn.ID.ToString ()
																	 + "\" kam es zu folgendem Problem:\r\n" + Excp.Message);
								return false;
								}
							}
						ProcessingHasBeenDone.Add (ElementManagement.InfoAddOn.ID);

						}
					}
				}

			foreach (InformationenAddOn IAddOn in ExistingEntriesToDelete)
				{
				try
					{
					InformationmenAddOnContext.MergeOption = MergeOption.AppendOnly;
					InformationmenAddOnContext.DeleteObject (IAddOn);
					DataServiceResponse Response = InformationmenAddOnContext.SaveChanges ();

					}
				catch (Exception Excp)
					{
					Basics.ReportErrorToEventViewer ("TemplateManagement.DoInformationenAddOnUpdate",
														 "Beim DeleteObject für AddOns \"" + IAddOn.ID.ToString ()
														 + "\" kam es zu folgendem Problem:\r\n" + Excp.Message);
					return false;
					}
				}

			foreach (TemplateElementManagement ElementManagement in EntriesTProcess)
				{
				if (ElementManagement.InfoAddOn == null)
					continue;
				if (MandatoryAddOns.ContainsKey(ElementManagement.InfoAddOn.ActuallBezeichner))
					continue;
				Guid ProcessedBeforeID = ElementManagement.InfoAddOn.ID;
				if (ProcessingHasBeenDone.Contains (ProcessedBeforeID))
					continue;
				if (((ElementManagement.InfoAddOn.TabelleID == null)
					|| (ElementManagement.InfoAddOn.TabelleID == Guid.Empty))
					&& (String.IsNullOrEmpty (ElementManagement.InfoAddOn.FreiText)))
					{
					continue;
					}
				try
					{
					InformationmenAddOnContext.MergeOption = MergeOption.AppendOnly;
					ElementManagement.InfoAddOn.LastModifiedBy = CurrentUserName;
					ElementManagement.InfoAddOn.ModifyTimeStamp = DateTime.Now;
					if ((ElementManagement.InfoAddOn.ID == null)
						|| (ElementManagement.InfoAddOn.ID == Guid.NewGuid ()))
						ElementManagement.InfoAddOn.ID = Guid.NewGuid ();
					CheckForMaxLengthExceeded (ElementManagement.InfoAddOn);
					InformationmenAddOnContext.AddObject ("InformationenAddOn", ElementManagement.InfoAddOn);
					DataServiceResponse Response = InformationmenAddOnContext.SaveChanges ();
					}
				catch (Exception Excp)
					{
					Basics.ReportErrorToEventViewer ("TemplateManagement.DoCompleteUpdate",
														 "Beim AddObject für AddOns \"" + ProcessedBeforeID.ToString ()
														 + "\" kam es zu folgendem Problem:\r\n" + Excp.Message);
					return false;
					}
				}

			return true;
			}
Ejemplo n.º 3
0
		public static void DeleteOneInformationenAddOnFromDataBase (Guid? InformationenAddOnID)
			{
			AltErlaaInfoEntities DeleteInformationenAddOnContext = new AltErlaaInfoEntities (ServiceSource);
			InformationenAddOn DeleteInformationenAddOn = (from del in DeleteInformationenAddOnContext.InformationenAddOn
			                                                     where del.ID == InformationenAddOnID
			                                                     select del).FirstOrDefault ();
			if ((DeleteInformationenAddOn == null)
				|| (DeleteInformationenAddOn.ID == Guid.Empty))
				return;
			try
				{
				DeleteInformationenAddOnContext.DeleteObject (DeleteInformationenAddOn);
				DeleteInformationenAddOnContext.SaveChanges ();
				}
			catch (DataServiceRequestException Excp)
				{
				Basics.ReportErrorToEventViewer ("TemplateManagement.DeleteOneInformationenAddOnFromDataBase",
					    "Fehler bei Delete von ID = \"" + InformationenAddOnID.ToString () + "\":\r\n" + Excp.Message);
				}
			}
Ejemplo n.º 4
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;
			}