Example #1
0
		private bool DoDataBaseConversion(AddOnDataToReProcess addOnDataToReProcess,
			ReProcessEntry reProcessEntry, String[] columnNames)
			{
			switch (addOnDataToReProcess.MMUnitTypToProcess.Redaktion)
				{
					case "Video":
						throw new Exception($"return DoDataBaseConversionBeitraege " +
											$"(addOnDataToReProcess, reProcessEntry, columnNames); ");
						break;
					case "StandBild":
						return DoDataBaseConversionStandBildUndBanner
							(addOnDataToReProcess, reProcessEntry, columnNames);
						break;
					case "Banner":
						return DoDataBaseConversionStandBildUndBanner
							(addOnDataToReProcess, reProcessEntry, columnNames);
						break;
				}
			throw new Exception($"unknown Redaktion {addOnDataToReProcess.MMUnitTypToProcess.Redaktion}");
			}
Example #2
0
		private bool DoDataBaseConversionStandBildUndBanner(AddOnDataToReProcess addOnDataToReProcess,
			ReProcessEntry reProcessEntry, String[] columnNames)
			{
			DataRow[] standBildDataRow = addOnDataToReProcess
				.CsTableToProcess.Select($"{addOnDataToReProcess.IdColumnName} = '{reProcessEntry.Id}'",
					"ModifyTimeStamp");
			if (standBildDataRow.Length == 0)
				{
				if (Data.DbServer3.MultiMedia.MMUnits.Find(reProcessEntry.Id) != null)
					Data.DbServer3.MultiMedia.MMUnits.Find(reProcessEntry.Id).Delete();
				return false;
				}
			DataRow row = standBildDataRow[0];
			Guid id = (Guid)row[addOnDataToReProcess.IdColumnName];
			DateTime actuallCheckDate = Convert.ToDateTime(row["ModifyTimeStamp"]);
			if (actuallCheckDate > addOnDataToReProcess.StatusEntry.LastProcessedForeignLastChangedTimeStamp)
				addOnDataToReProcess.StatusEntry.LastProcessedForeignLastChangedTimeStamp = actuallCheckDate;

			MMUnit MMUnitEntry = Data.DbServer3.MultiMedia.MMUnits.Find(id);
			if (MMUnitEntry != null)
				{
				try
					{
					List<String> SelectedStatementsForPreLoad = null;
					//if (!Data.DbServer3.MultiMedia.PreLoadAllForOneMMUnit(reProcessEntry.Id, out SelectedStatementsForPreLoad))
					//	{
					//	WMB.Basics.ReportErrorToEventViewer($"Fehler bei PreLoadAllForOneMMUnit:\r\n" +
					//										$"{String.Join("\r\n", SelectedStatementsForPreLoad)}");
					//	return false;
					//	}
					//Data.DbServer3.MultiMedia.AcceptChanges();
					MMUnitEntry.Delete();
					Data.DbServer3.MultiMedia.MMUnits.SaveChanges(new Object());
					Data.DbServer3.MultiMedia.AcceptChanges();

					}
				catch (Exception Excp)
					{
					WMB.Basics.ReportErrorToEventViewer($"Fehler bei Delete in PreLoadAllForOneMMUnit:\r\n" +
														$"{Excp}");
					return false;
					}
				}
			MMUnitEntry = Data.DbServer3.MultiMedia.MMUnits.NewRow();
			MMUnitEntry.Id = id;
			MMUnitEntry.TypId = addOnDataToReProcess.MMUnitTypToProcess.Id;
			MMUnitEntry.ForeignUnitId = id;
			MMUnitEntry.ForeignUnitTypId = addOnDataToReProcess.MMUnitTypToProcess.Id;
			//Data.DbServer3.MultiMedia.MMUnits.Rows.Add(MMUnitEntry);
			MMUnitEntry.NameId = row[addOnDataToReProcess.NameIdColumnName].ToString();
			MMUnitEntry.Title = row[addOnDataToReProcess.TitelColumnName].ToString();
			if (reProcessEntry.LastModifiedTimeToUse != null)
				MMUnitEntry.LastModified = reProcessEntry.LastModifiedTimeToUse;
			else
			if ((columnNames.Contains("ModifyTimeStamp"))
				&& (row["ModifyTimeStamp"] != Convert.DBNull))
				MMUnitEntry.LastModified = Convert.ToDateTime(row["ModifyTimeStamp"]);
			ProcessConnector[] connectors = Data.DbServer3.AltErlaaInfo.ProcessConnectoren
				.FindOrLoad_By_TableId(id);
			if ((connectors != null)
				&& (connectors.Length > 0))
				{
				connectors[0].ModifyTimeStampForConnectedMMUnit = MMUnitEntry.LastModified;
				if (Parent.CheckOrInsertMMInformation((Guid)connectors[0].InformationenId))
					MMUnitEntry.MMInformationenId = connectors[0].InformationenId;
				}
			else
				{
				new InformationConversion().CreateWPMediaAddOnDataDummyInformation(MMUnitEntry, true);
				}
			//TODO by sac
			//         Data.DbServer3.MultiMedia.SaveAnabolic();
			//Data.DbServer3.MultiMedia.AcceptChanges();
			MMUnitEntry.Table.Rows.Add(MMUnitEntry);
			ImportMMElemente(addOnDataToReProcess.MMUnitTypToProcess, id, row, columnNames);
			Data.DbServer3.MultiMedia.SaveAnabolic(new Object());
			Data.DbServer3.MultiMedia.AcceptChanges();
			reProcessEntry.SetDBProcessDone();
			return true;
			}
Example #3
0
		private void CheckAndInsertOrSkipEntry(ObservableCollection<ReProcessEntry> collectionToFill,
			ReProcessEntry entryToInsertIfNotInCollection)
			{
			if ((collectionToFill.Count() == 0)
				|| (collectionToFill.Where(whe => whe.Id == entryToInsertIfNotInCollection.Id).FirstOrDefault() == null))
				collectionToFill.Add(entryToInsertIfNotInCollection);
			}