public void InitializeMe (String Bereich, WCFStandardsNS.WCFStandards DataBase,
			CommonDataBase.StatusCallBack StatusCallbackHandler)
			{
			SetMessageCallback (StatusCallbackHandler);
			m_DataBase = DataBase;
			m_ShowFullPage.InitializeMe (Bereich, m_DataBase, m_StatusCallBackHandler);
			}
		public IntelliSenseAutoCompletionFactoryRoutines (WCFStandardsNS.WCFStandards DataBase)
			{
			if (DataBase != null)
				{
				m_DataBase = DataBase;
                //TODO its not running for all databases
				return;
				SchemaDataSet = m_DataBase.GetCommonSchemaDataSet ();
				}
			}
		public void InitializeMe (String Bereich, WCFStandardsNS.WCFStandards DataBase,
							CommonDataBase.StatusCallBack StatusCallBackHandler)
			{
			m_Bereich = Bereich;
			m_DataBase = DataBase;
			SetMessageCallback (StatusCallBackHandler);
			if (m_StructureDataSet != null)
				m_StructureDataSet.Dispose ();
			m_StructureDataSet = null;
			LoadStructure ();
			}
示例#4
0
		public Object UpdateDataPackage (WCFStandardsNS.WCFStandards m_DataBase,
			Object Package, DataSet FrameDataDataSet)
			{
			if ((Package == null)
				&& (FrameDataDataSet == null))
				return null;
			if ((Package == null)
				&& (FrameDataDataSet != null))
				{
				Package = CreateNewPackageFromFrameDataSet (FrameDataDataSet);
				}
			else
				{
				if ((Package != null)
					&& (FrameDataDataSet == null))
					{
					FrameDataDataSet = (Package as Paketieren.PackagingHandler).GetDataSetFromDataSetName ("FrameDefinitions");
					}
				else
					{
					(Package as Paketieren.PackagingHandler).AddDataSet (FrameDataDataSet);
					}
				}
			return Package;
			}
示例#5
0
		public bool ActualizeInstanceDataIntoFrameDataSet (WCFStandardsNS.WCFStandards m_DataBase,
						String TableNameParameter, String ID)
			{

			return SetInstanceDataIntoFrameDataSet(m_FrameDataDataSet, m_DataBase, TableNameParameter, ID);

			}
示例#6
0
		private DataSet CreateDefaultFrameDataSet (WCFStandardsNS.WCFStandards m_DataBase,
						String TableNameParameter)
			{
			DataSet ReturnDataSet =
				m_DataBase.GetCommonDataSet("Select * from TableDefinitions where TableName = '" + TableNameParameter
				+ "' and DefinitionNameToCreate IS NULL");
			if ((ReturnDataSet.Tables.Count != 1)
				|| (ReturnDataSet.Tables [0].Rows.Count != 1))
				return null;
			// by sac - remove the following two lines when the Change to new Format procedure is finished

			//ReturnDataSet.Tables ["TableDefinitions"].Rows [0] ["TargetWidth"] = 1920;
			//ReturnDataSet.Tables ["TableDefinitions"].Rows [0] ["TargetHeight"] = 1080;
			String TableID = ReturnDataSet.Tables [0].Rows [0] ["ID"].ToString ();
			String FormattingTemplate = ReturnDataSet.Tables [0].Rows [0] ["FormattingTemplate"].ToString ();
			if (String.IsNullOrEmpty (FormattingTemplate))
				FormattingTemplate = "DefaultKartei";
			DataSet TableDataSet =
				m_DataBase.GetCommonMultiDataSet (new String [] {
				  "Select * from FrameContent where FormattingTemplate = '"
				  + FormattingTemplate + "' order by MultiPageIndex, FrameOrder"
					});
			ReturnDataSet.DataSetName = "FrameDefinitions";
			DataTable FrameContent = TableDataSet.Tables ["FrameContent"];
			TableDataSet.Tables.Remove (FrameContent);
			ReturnDataSet.Tables.Add (FrameContent);

			List<String> RequiredPageIDs = new List<string> ();
			List<String> RequiredFrameIDs = new List<string> ();
			foreach (DataRow FrameContentRow in ReturnDataSet.Tables ["FrameContent"].Rows)
				{
				if (String.IsNullOrEmpty (FrameContentRow ["FrameID"].ToString ()))
					{
					Basics.ReportErrorToEventViewer ("GraphicsHandling.CreateDefaultFrameDataSet",
						"Beim FrameContentEintrag \"" + FrameContentRow ["ID"].ToString ()
						+ "\" ist der KarteiID Eintrag leer");
					continue;
					}
				if (!RequiredPageIDs.Contains (FrameContentRow ["PageID"].ToString ()))
					RequiredPageIDs.Add (FrameContentRow ["PageID"].ToString ());
				if (!RequiredFrameIDs.Contains (FrameContentRow ["FrameID"].ToString ()))
					RequiredFrameIDs.Add (FrameContentRow ["FrameID"].ToString ());
				}
			String PageWhereClause = " (ID = '" + String.Join ("' or ID = '", RequiredPageIDs.ToArray ()) + "')";
			String FrameWhereClause = " (ID = '" + String.Join ("' or ID = '", RequiredFrameIDs.ToArray ()) + "')";
			DataSet PagesAndFrames = m_DataBase.GetCommonMultiDataSet (new string [] {
		                        "Select * from Pages where " + PageWhereClause,
		                        "Select * from Frames where " + FrameWhereClause
		                    });
			DataTable PagesDataTable = PagesAndFrames.Tables ["Pages"];
			PagesAndFrames.Tables.Remove (PagesDataTable);
			ReturnDataSet.Tables.Add (PagesDataTable);
			DataTable FramesDataTable = PagesAndFrames.Tables ["Frames"];
			PagesAndFrames.Tables.Remove (FramesDataTable);
			ReturnDataSet.Tables.Add (FramesDataTable);

			return ReturnDataSet;
			}
示例#7
0
		public Object GetInstatiatedPackage (WCFStandardsNS.WCFStandards m_DataBase,
					String TableNameParameter, String ID, bool ReadWriteOpen = true)
			{
			String PackageDirectory = Path.Combine(Path.Combine(LocalWPMediaRoot, "Source"), TableNameParameter);
			String PackageName = GetPackageName(TableNameParameter, ID);
			if (!File.Exists (PackageName))
				{
				try
					{
					m_Pkg = (Paketieren.PackagingHandler) CreateNewPackage (m_DataBase,
																			TableNameParameter, ID);
					InsertDefaultPackageMaterials (m_DataBase, m_Pkg);
					m_Pkg.FlushPackage ();
					}
				catch (Exception Excp)
					{
					Basics.ReportErrorToEventViewer ("GraphicsHandling.GetInstatiatedPackage",
						" bei der Tabelle \"" + TableNameParameter + "\" und der ID = \"" + ID + "\" trat fogender Fehler auf:\r\n"
						+ Excp.ToString());
					return null;
					}
				DoStartupProcessing (m_DataBase, m_Pkg);
				if (ReadWriteOpen == true)
					ModificationRequired = true;
				m_Pkg.ModificationStatusChangedCall += Package_ModificationStatusChangedCall;
				return m_Pkg;
				}
			m_Pkg = new Paketieren.PackagingHandler ();
			if (m_Pkg.OpenExistingReadWritePackage (PackageName) == null)
				return null;
			if (DoStartupProcessing (m_DataBase, m_Pkg) == false)
				return null;
			m_Pkg.ModificationStatusChangedCall += Package_ModificationStatusChangedCall;
			return m_Pkg;
			}
示例#8
0
		public bool DoStartupProcessing (WCFStandardsNS.WCFStandards m_DataBase, Object PkgObject)
			{
			if (PkgObject == null)
				return false;
			if (PkgObject as Paketieren.PackagingHandler == null)
				return false;
			m_FrameDataDataSet = (PkgObject as Paketieren.PackagingHandler).GetDataSetFromDataSetName ("FrameDefinitions");
			if (m_FrameDataDataSet == null)
				{
				Basics.ReportErrorToEventViewer ("GraphicsHandling.DoStartupProcessing",
					"Weil das m_FrameDataDataSet nicht lesbar ist, wird dieses Package (\""
					+ (PkgObject as Paketieren.PackagingHandler).PackageName + "\") gelöscht");
				if (Application.Current.MainWindow != null)
					{
					MessageBox.Show ("Weil das m_FrameDataDataSet nicht lesbar ist, wird dieses Package (\""
									 + (PkgObject as Paketieren.PackagingHandler).PackageName + "\") gelöscht");
					}
				(PkgObject as Paketieren.PackagingHandler).ClosePackage ();
				Basics.SecureFileDelete ((PkgObject as Paketieren.PackagingHandler).PackageName);
				return false;
				}
			m_Pkg = PkgObject as Paketieren.PackagingHandler;
			TableName = m_FrameDataDataSet.Tables ["TableDefinitions"].Rows [0] ["TableName"].ToString ();

	// by sac - Banner/Button could be removed, when Format definitions actualized (In each Package)
			if (((TableName == "BannerData")
				|| (TableName == "ButtonData"))
				&& (String.IsNullOrEmpty (m_FrameDataDataSet.Tables ["TableDefinitions"].Rows [0]
					["PageFactoryParameter"].ToString ())))
				{
				PageFactoryParameters = ("SimpleTextPage").Split (';');
				}
			else
				{
				if (String.IsNullOrEmpty (m_FrameDataDataSet.Tables ["TableDefinitions"].Rows [0] ["PageFactoryParameter"].ToString ()))
					PageFactoryParameters =
						String.Format ("DefaultKarteiPage01,LangTextSeite1;DefaultKarteiPage02,LangTextSeite2;DefaultKarteiPage03,"
						+ "LangTextSeite3;DefaultKarteiPage04,LangTextSeite4;DefaultKarteiPage05,LangTextSeite5"
						+ ";DefaultKarteiPage06,LangTextSeite6;DefaultKarteiPage07,LangTextSeite7;DefaultKarteiPage08,LangTextSeite8"
						+ ";DefaultKarteiPage09,LangTextSeite9").Split (';');
				else
					PageFactoryParameters = m_FrameDataDataSet.Tables ["TableDefinitions"].Rows [0]
						["PageFactoryParameter"].ToString ().Split (';');
				
				}
			TargetPictureWidth = Convert.ToDouble (m_FrameDataDataSet.Tables ["TableDefinitions"].Rows [0] ["TargetWidth"]);
			TargetPictureHeight = Convert.ToDouble (m_FrameDataDataSet.Tables ["TableDefinitions"].Rows [0] ["TargetHeight"]);
			if (m_FrameDataDataSet.Tables [TableName].Rows.Count < 1)
				return false;
			ActuallContentRow = m_FrameDataDataSet.Tables [TableName].Rows [0];
			if (UpdateFromDataBaseOccured (m_DataBase, m_FrameDataDataSet, TableName))
				ModificationRequired = true;
			CalculatePagesToPlayAndTheirDurations ();
			if (PageIDsToPlay.Count == 0)
				{
				if (LoopCounter++ > 3)
					{
					Basics.ReportErrorToEventViewer ("GraphicsHandling.DoStartupProcessing",
						"Weil PageIDsToPlay.Count == 0, wird dieses Package (\""
						+ (PkgObject as Paketieren.PackagingHandler).PackageName + "\") gelöscht");
					Basics.SecureFileDelete ((PkgObject as Paketieren.PackagingHandler).PackageName);
					LoopCounter = -1;
					return false;
					}
//avoid endlessloop if no pages available
//                by sac Not carefully testet - 
//                RevertEntryToFileDefault ();
//                CalculatePagesToPlayAndTheirDurations ();
				}
			return true;
			}
示例#9
0
		public static bool ClearAndMirrorCompleteDataSetTo(WCFStandardsNS.WCFStandards TargetDataBase, DataSet DataSetToMirror)
			{
			if (DataSetToMirror == null)
				return true;
			foreach (DataTable SourceTable in DataSetToMirror.Tables)
				{
				String DeleteCommand = "Delete from " + SourceTable.TableName;
				TargetDataBase.RunSQLBatch(DeleteCommand);
				}
			return MirrorDataSetTo(TargetDataBase, DataSetToMirror);
			}
示例#10
0
		public static List<String> GetExistingKeyWords(WCFStandardsNS.WCFStandards DataBase)
			{
			DataTable KeyWordsTable =
				DataBase.GetCommonDataSet ("Select * from Material where not KeyWords Is null and not KeyWords = ''").Tables ["Material"];
			List<String> KeyWords = new List<string> ();
			foreach (DataRow KeyWordsRow in KeyWordsTable.Rows)
				{
				if (String.IsNullOrEmpty (KeyWordsRow ["KeyWords"].ToString ()))
					continue;
				String [] StoredKeyWords = KeyWordsRow ["KeyWords"].ToString ().Split (';');
				foreach (String KeyWord in StoredKeyWords)
					{
					if (KeyWords.Contains (KeyWord) == false)
						{
						KeyWords.Add (KeyWord);
						}
					}
				}
			return KeyWords;
			}
示例#11
0
		public static String GetProjektText(WCFStandardsNS.WCFStandards DataBase, String ID)
			{
			if (String.IsNullOrEmpty (ID))
				return String.Empty;
			DataRow ProjectRow = DataBase.GetCommonDataSet ("Select * from Projekte where ID = '" + ID + "'")
				.Tables ["Projekte"].Rows [0];
			DataRow OrtsRow = DataBase.GetCommonDataSet ("Select * from Orte where ID = '" + ProjectRow ["OrteID"].ToString () + "'")
				.Tables ["Orte"].Rows [0];
			return OrtsRow ["NameID"].ToString () + "-" + ProjectRow ["NameID"].ToString ();
			}
示例#12
0
		public static String GetOrtsTeilText(WCFStandardsNS.WCFStandards DataBase, String ID)
			{
			if (String.IsNullOrEmpty (ID))
				return String.Empty;
			return DataBase.GetCommonDataSet ("Select * from Orte where ID = '" + ID + "'")
				.Tables ["Orte"].Rows [0] ["OrtsTeil"].ToString ();
			}
示例#13
0
		public static String GetAGText(WCFStandardsNS.WCFStandards DataBase, String ID)
			{
			if (String.IsNullOrEmpty (ID))
				return String.Empty;
			DataRow AGRow =
				DataBase.GetCommonDataSet ("Select * from ArbeitsGruppen where ID = '" + ID + "'").Tables ["ArbeitsGruppen"].Rows [0];
			return AGRow ["NameID"].ToString () + "-" + AGRow ["Beschreibung"].ToString ();
			}
示例#14
0
		public static String GetSchulText(WCFStandardsNS.WCFStandards DataBase, String ID)
			{
			if (String.IsNullOrEmpty (ID))
				return String.Empty;
			return ID;
			}
示例#15
0
		public static String GetIDForOrtsTeil(WCFStandardsNS.WCFStandards DataBase, String OrtsTeil)
			{
			return DataBase.GetCommonDataSet("Select * from Orte where OrtsTeil = '"
							 + OrtsTeil + "' and (NameID = 'Gesamter Ortsteil' or NameID = 'Liesing Bezirk')")
								.Tables ["Orte"].Rows [0] ["ID"].ToString ();
			}
示例#16
0
			public DataSet GetInstatiatedFormatDataSet(WCFStandardsNS.WCFStandards WPMediaAddOnDataDataBase,
							String TableName, String ID, String WPMediaRoot)
				{
				String ControlFileName = GetActuallFormatDataSetFileName (WPMediaRoot, TableName, ID);
				if (!File.Exists (ControlFileName))
					{
					String OldSourceFileName = GetOldFormatDataSetFileName (WPMediaRoot, TableName, ID);
					if (File.Exists (OldSourceFileName))
						File.Move (OldSourceFileName, ControlFileName);
					else
						{
						CommonDataBase.CommonBasics.SerializeObjectToFile (ControlFileName,
							GetFormatierDataSet(WPMediaAddOnDataDataBase, TableName, ID, WPMediaRoot));
						}
					}

				DataSet FormatierDataSet;
				try
					{
					FormatierDataSet = Basics.DeSerializeObjectFromFile (ControlFileName) as DataSet;
					if (FormatierDataSet == null)
						{
						Basics.ReportErrorToEventViewer
							("WPMediaStandbildPlayingData.GetInstatiatedFormatDataSet",
							 "Der File \"" + ControlFileName + "\" aus der Tabelle \""
							 + TableName + "\" kann nicht Desrialized werden.\r\nEs wird versucht ihn zu löschen");
						CommonDataBase.CommonBasics.SecureFileDelete (ControlFileName, null);
						return null;
						}
					if ((FormatierDataSet.Tables.Count == 0)
						|| (FormatierDataSet.Tables [0].Rows.Count == 0)
						|| (FormatierDataSet.Tables [0].Columns.Contains ("NameID") == false))
						{
						Basics.ReportErrorToEventViewer
								("WPMediaStandbildPlayingData.GetInstatiatedFormatDataSet",
								 "Der FormatierDataSet aus dem \"" + ControlFileName + "\" ist illegal aufgebaut");
						return null;
						}
					}
				catch (Exception Excp)
					{
					Basics.ReportErrorToEventViewer
							("WPMediaStandbildPlayingData.GetInstatiatedFormatDataSet",
						"Folgender Fehler trat beim ControlFile \"" + ControlFileName + "\":\r\n"
						+ Excp.ToString());
					return null;
					}
				return FormatierDataSet;
				}
示例#17
0
		public static String ModifyThisRow(WCFStandardsNS.WCFStandards DataBase, DataRow RowToStore)
			{
			if (RowToStore == null)
				return String.Empty;
			String TableName = RowToStore.Table.TableName;
			List<String> SetCommandPart = new List<string>();
			foreach (DataColumn Col in RowToStore.Table.Columns)
				{
				if (Col.ColumnName == "ID")
					continue;

				if (RowToStore[Col.ColumnName] == Convert.DBNull)
					{
					SetCommandPart.Add(Col.ColumnName + " = NULL");
					continue;

					}
				if ((Col.DataType == typeof(Int32))
					|| (Col.DataType == typeof(Int64))
					|| (Col.DataType == typeof(Double))
					)
					{
					SetCommandPart.Add(Col.ColumnName + " = " + RowToStore[Col.ColumnName].ToString());
					continue;
					}

				if (Col.DataType == typeof(DateTime))
					{
					SetCommandPart.Add(Col.ColumnName + " = Convert (DateTime, '" + Convert.ToDateTime(RowToStore[Col.ColumnName])
												.ToString(WMB.Basics.ISO_DATE_TIME_FORMAT) + "', 120)");
					continue;
					}

				SetCommandPart.Add(Col.ColumnName + " = '" + RowToStore[Col.ColumnName].ToString() + "'");
				}
			String UpdateStatement = "Update " + RowToStore.Table.TableName + " set " +
									 String.Join(", ", SetCommandPart.ToArray())
									 + " where ID = '" + RowToStore["ID"].ToString() + "'";
			return DataBase.RunSQLBatch(UpdateStatement);

			}
示例#18
0
		public static void RemoveAllNotRequiredMaterial(WCFStandardsNS.WCFStandards DataBase,
			DataSet EntriesToProcess, String FremdArbeitsgruppe, bool TrueIsRemoveFremdFalseIsRemoveBezirk)
			{
			List<String> IDsToRemove = new List<string> ();
			foreach (DataRow EntryRow in EntriesToProcess.Tables ["Material"].Rows)
				{
				if (IsMaterialForFremdProject (DataBase, EntryRow, FremdArbeitsgruppe))
					{
					if (TrueIsRemoveFremdFalseIsRemoveBezirk == true)
						IDsToRemove.Add (EntryRow ["ID"].ToString ());
					}
				else
					{
					if (TrueIsRemoveFremdFalseIsRemoveBezirk == false)
						IDsToRemove.Add (EntryRow ["ID"].ToString ());
					}
				}

			foreach (String ID in IDsToRemove)
				{
				EntriesToProcess.Tables ["Material"].Select ("ID = '" + ID + "'") [0].Delete ();
				}
			EntriesToProcess.AcceptChanges ();
			}
示例#19
0
		public static bool MirrorDataSetTo(WCFStandardsNS.WCFStandards TargetDataBase, DataSet DataSetToMirror)
			{
			if (DataSetToMirror == null)
				return true;
			foreach (DataTable SourceTable in DataSetToMirror.Tables)
				{
				DataTable DeletedRows = SourceTable.GetChanges(DataRowState.Deleted);
				if (DeletedRows != null)
					foreach (DataRow ToDelete in DeletedRows.Rows)
						{
						if (TargetDataBase.GetCommonDataSet
							("Select ID from " + SourceTable.TableName
											   + " where ID = '" + ToDelete["ID"].ToString() + "'")
											   .Tables[SourceTable.TableName].Rows.Count > 0)
							{
							String DeleteCommand = "Delete from " + SourceTable.TableName
												   + " where ID = '" + ToDelete["ID"].ToString() + "'";
							TargetDataBase.RunSQLBatch(DeleteCommand);
							}
						}
				List<String> SourceIDs = new List<string>();
				foreach (DataRow SourceRow in SourceTable.Rows)
					if (SourceRow.RowState != DataRowState.Deleted)
						SourceIDs.Add(SourceRow["ID"].ToString());
				if (SourceIDs.Count == 0)
					continue;
				String WhereClause = " where (ID = '" + String.Join("' or ID = '", SourceIDs.ToArray()) + "') ";
				DataSet TargetDataSet = TargetDataBase.GetCommonDataSet("Select * from "
									+ SourceTable.TableName + WhereClause);
				if (TargetDataSet == null)
					{
					WMB.Basics.ReportErrorToEventViewer("MBRStatics.MirrorDataSetTo",
							"Bei der Table \"" + SourceTable.TableName + "\" konnte nichts gelesen werden");
					return false;
					}
				foreach (DataRow SourceRow in SourceTable.Rows)
					{
					DataRow[] TargetRows = TargetDataSet.Tables[SourceTable.TableName]
						.Select("ID = '" + SourceRow["ID"].ToString() + "'");
					if (TargetRows.Length > 1)
						{
						WMB.Basics.ReportErrorToEventViewer("MBRStatics.MirrorDataSetTo",
								"Bei der Table \"" + SourceTable.TableName + "\" für die ID \""
								+ SourceRow["ID"].ToString() + "\" gibt es mehr als einen Record!!!");
						return false;
						}
					if (TargetRows.Length > 1)
						{
						WMB.Basics.ReportErrorToEventViewer("MBRStatics.MirrorDataSetTo",
							"Bei der Tabelle \"" + SourceTable.TableName + "\"\r\n"
							+ "Bei der ID \"" + SourceRow["ID"].ToString() +
							"\" tritt ein Datenbank Fehler auf.\r\n"
							+ "Mehr als ein Record für diese ID");
						continue;
						}
					DataRow TargetRow = null;
					if (TargetRows.Length < 1)
						{
						TargetRow = TargetDataSet.Tables[SourceTable.TableName].NewRow();
						TargetRow["ID"] = SourceRow["ID"].ToString();
						TargetRow["LastUpdateToken"] = WMB.Basics.GetNextLastUpdateTokenHelper();
						TargetDataSet.Tables[SourceTable.TableName].Rows.Add(TargetRow);
						}
					else
						{
						TargetRow = TargetRows[0];
						}
					foreach (DataColumn Col in TargetDataSet.Tables[SourceTable.TableName].Columns)
						{
						if (Col.ColumnName != "ID")
							if (String.Compare(TargetRow[Col.ColumnName].ToString(),
												SourceRow[Col.ColumnName].ToString()) != 0)
								{
								if (Convert.IsDBNull(SourceRow[Col.ColumnName]) == true)
									TargetRow[Col.ColumnName] = Convert.DBNull;
								else
									TargetRow[Col.ColumnName] = SourceRow[Col.ColumnName].ToString();
								}
						}
					}
				String ReturnMessage = TargetDataBase.SetCommonDataSet(TargetDataSet);
				if (!String.IsNullOrEmpty(ReturnMessage))
					{
					WMB.Basics.ReportErrorToEventViewer("MBRStatics.MirrorDataSetTo",
						"Bei der Table \"" + SourceTable.TableName + "\" kam es zu folgendem Fehler:\r\n"
						+ ReturnMessage);
					return false;
					}
				}
			return true;
			}
示例#20
0
		public static bool IsMaterialForFremdProject(WCFStandardsNS.WCFStandards DataBase, DataRow MaterialRow, String FremdArbeitsGruppe)
			{
			if (MaterialRow ["AGID"].ToString () == FremdArbeitsGruppe)
				return true;
			return IsFremdProject (DataBase, MaterialRow ["ProjectID"].ToString ());
			}
示例#21
0
		private bool UpdateFromDataBaseOccured(WCFStandardsNS.WCFStandards m_DataBase, 
			DataSet FrameDataSet, String TableNameParameter)
			{
			if ((m_DataBase == null)
				|| (ActuallContentRow.Table.Columns ["ModifyTimeStamp"] == null)
				|| (ActuallContentRow ["ModifyTimeStamp"] == Convert.DBNull))
				return false;

			DateTime ExistingModifyTimeStamp = Convert.ToDateTime (ActuallContentRow ["ModifyTimeStamp"]);
			DataSet DataBaseEntry =
				m_DataBase.GetCommonDataSet("Select ID, ModifyTimeStamp from " + TableNameParameter + " where ID = '"
					                            + ActuallContentRow ["ID"].ToString () + "'");
			if ((DataBaseEntry == null)
				|| (DataBaseEntry.Tables.Count != 1)
				|| (DataBaseEntry.Tables[TableNameParameter] == null)
				|| (DataBaseEntry.Tables[TableNameParameter].Rows.Count != 1))
				{
				Basics.ReportErrorToEventViewer ("GraphicsHandling.UpdateFromDataBaseOccured",
					"Bei der Table \"" + TableNameParameter + "\" bei der ID \"" + ActuallContentRow["ID"].ToString()
					+ "\" konnte kein übereinstimmender Datebank Eintrag gefunden werden");
				return false;
				}
			if (DataBaseEntry.Tables [0].Rows [0] ["ModifyTimeStamp"] == Convert.DBNull)
				return false;
			DateTime DataBaseModifyTimeStamp = Convert.ToDateTime (DataBaseEntry.Tables [0].Rows [0] ["ModifyTimeStamp"]);
			if (DataBaseModifyTimeStamp == ExistingModifyTimeStamp)
				return false;
			DataRow NewRow =
					m_DataBase.GetCommonDataSet("Select * from " + TableNameParameter + " where ID = '"
													+ ActuallContentRow ["ID"].ToString () + "'").Tables [0].Rows [0];
			foreach (DataColumn Col in NewRow.Table.Columns)
				{
				if ((NewRow.Table.Columns [Col.ColumnName] != null)
					&& (ActuallContentRow.Table.Columns [Col.ColumnName] != null))
					ActuallContentRow [Col.ColumnName] = NewRow [Col.ColumnName];
				}
			return true;
			}
示例#22
0
		public static bool IsFremdProject(WCFStandardsNS.WCFStandards DataBase, String ProjectID)
			{
			if (String.IsNullOrEmpty (ProjectID))
				return false;
			String Zustaendig =
				DataBase.GetCommonDataSet ("Select * from Projekte where ID = '" + ProjectID + "'")
					.Tables ["Projekte"].Rows [0] ["Zustaendig"].ToString ();
			if (String.IsNullOrEmpty (Zustaendig))
				return false;
			if (Zustaendig == "Fremd")
				return true;
			return false;
			}
示例#23
0
		public Object CreateNewPackage (WCFStandardsNS.WCFStandards m_DataBase,
							String TableNameParameter, String ID)
			{
			m_FrameDataDataSet = CreateDefaultFrameDataSet(m_DataBase, TableNameParameter);
			SetInstanceDataIntoFrameDataSet (m_FrameDataDataSet, m_DataBase,
											 TableNameParameter, ID);
			Object Package = CreateNewPackageFromFrameDataSet (m_FrameDataDataSet);
			return UpdateDataPackage (m_DataBase, Package, m_FrameDataDataSet);
			}
示例#24
0
	public DataSet GetFormatierDataSet(WCFStandardsNS.WCFStandards WPMediaAddOnDataDataBase,
					String TableName, String ID, String WPMediaRoot)
		{
		return GetFormatierDataSet(WPMediaAddOnDataDataBase, null, TableName, ID, WPMediaRoot);
		}
示例#25
0
		public bool SetInstanceDataIntoFrameDataSet (DataSet FrameDataSet, WCFStandardsNS.WCFStandards m_DataBase,
						String TableNameParameter, String ID)
			{
			DataSet InstanceDataSet =
				m_DataBase.GetCommonDataSet("Select * from " + TableNameParameter + " where ID = '" + ID + "'");
			DataTable InstanceDataTable = InstanceDataSet.Tables[TableNameParameter];
			InstanceDataSet.Tables.Remove (InstanceDataTable);
			if (m_FrameDataDataSet == null)
				m_FrameDataDataSet = m_Pkg.GetDataSetFromDataSetName ("FrameDefinitions");
			if (FrameDataSet.Tables[TableNameParameter] != null)
				FrameDataSet.Tables.Remove(FrameDataSet.Tables[TableNameParameter]);
			FrameDataSet.Tables.Add (InstanceDataTable);
			m_FrameDataDataSet = FrameDataSet;
			return RenewFrameDataSet ();
			}
示例#26
0
	public DataSet GetFormatierDataSet(WCFStandardsNS.WCFStandards WPMediaAddOnDataDataBase,
						String DefinitionNameToCreate, String TableName, String ID, String WPMediaRoot)
		{
		DataSet TableDataSet;
		if (String.IsNullOrEmpty (DefinitionNameToCreate))
			TableDataSet = WPMediaAddOnDataDataBase.GetCommonDataSet("Select * from TableDefinitions where TableName = '" + TableName + "' and "
				+ "(DefinitionNameToCreate is NUll or DefinitionNameToCreate = '')");
		else
			{
			TableDataSet = WPMediaAddOnDataDataBase.GetCommonDataSet("Select * from TableDefinitions where TableName = '" + TableName
					+ "' and DefinitionNameToCreate = '" + DefinitionNameToCreate + "'");
			}
		if (TableDataSet.Tables.Count != 1)
			return null;
		if (TableDataSet.Tables [0].Rows.Count != 1)
			return null;
		String Type = TableDataSet.Tables ["TableDefinitions"].Rows [0] ["Type"].ToString ();
		DataSet PageDataSet = WPMediaAddOnDataDataBase.GetCommonDataSet("Select * from PageDefinitions where TableID = '"
			  + TableDataSet.Tables [0].Rows [0] ["ID"].ToString () + "' order by PagePlayingOrder");
		if (PageDataSet.Tables.Count != 1)
			return null;
		if (PageDataSet.Tables [0].Rows.Count < 1)
			{
			PageDataSet = WPMediaAddOnDataDataBase.GetCommonDataSet("Select * from PageDefinitions where TableID = '"
			  + TableDataSet.Tables [0].Rows [0] ["TableIDForFormattingUsages"].ToString () + "' order by PagePlayingOrder");
			if (PageDataSet.Tables [0].Rows.Count < 1)
				return null;
			}
		List<String> PageIDs = new List<string> ();
		foreach (DataRow PageRow in PageDataSet.Tables [0].Rows)
			{
			PageIDs.Add (PageRow ["ID"].ToString ());
			}
		if (String.IsNullOrEmpty (ID))		// deliver all but without TableData
			ID = System.Guid.Empty.ToString ();
		String WhereClause = " where ((PageID = '" + String.Join ("') Or (PageID = '", PageIDs.ToArray ()) + "'))";
		DataSet PictureDefinitions = WPMediaAddOnDataDataBase.GetCommonMultiDataSet(new String[] {
				"Select * from " + TableName + " where ID = '" + ID + "'",
				"Select * from PictureDefinitions " + WhereClause + " order by PicturePlayingOrder",
				"Select * from TextDefinitions " + WhereClause + " order by TextPlayingOrder",
				"Select * from BlockDefinitions " + WhereClause + " order by BlockPlayingOrder"});
		DataTable TableDataTable = TableDataSet.Tables [0];
		TableDataSet.Tables.Remove (TableDataTable);
		PictureDefinitions.Tables.Add (TableDataTable);
		DataTable PageDataTable = PageDataSet.Tables [0];
		PageDataSet.Tables.Remove (PageDataTable);
		PictureDefinitions.Tables.Add (PageDataTable);
		if (ID == System.Guid.Empty.ToString ())
			return PictureDefinitions;
		return ActualizeContentDataInFormatierDataSet(WPMediaAddOnDataDataBase,
					PictureDefinitions, TableName, ID, WPMediaRoot);
		}
示例#27
0
		public bool InsertDefaultPackageMaterials (WCFStandardsNS.WCFStandards DataBase, Object Package)
			{
			
			DataSet FrameDataDataSet = (Package as Paketieren.PackagingHandler).GetDataSetFromDataSetName ("FrameDefinitions");
			String TableNameParameter = FrameDataDataSet.Tables["TableDefinitions"].Rows[0]["TableName"].ToString();
			String ID = FrameDataDataSet.Tables[TableNameParameter].Rows[0]["ID"].ToString();
			String NameID = FrameDataDataSet.Tables[TableNameParameter].Rows[0]["NameID"].ToString();
			String DefaultDirectoryName = String.Empty;
			DefaultDirectoryName = NameID;
			if (NameID.IndexOf (':') != -1)
				{
				DefaultDirectoryName = NameID.Split (':') [0];
				}
			//else
			//    {
			//    DefaultDirectoryName = NameID.TrimEnd (new char [] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0' });
			//    }
			if (Basics.CheckForValidPersistentName (DefaultDirectoryName) == false)
				return false;
			if (Basics.CheckForValidPersistentName(TableNameParameter) == false)
				return false;
			String RemotePackageDirectory = Path.Combine(Path.Combine(RemoteWPMediaRoot, "Source"), TableNameParameter);
			//			String RemoteDefaultDirectory = Path.Combine (RemotePackageDirectory, Basics.XML_AUTO_DEFAULT_DIRECTORY_NAME);
			String PackageDirectory = Path.Combine(Path.Combine(LocalWPMediaRoot, "Source"), TableNameParameter);
			String DefaultDirectory = Path.Combine (PackageDirectory, Basics.XML_AUTO_DEFAULT_DIRECTORY_NAME);
			String LocalizedDirectory = Path.Combine (PackageDirectory, DefaultDirectoryName);
			DataSet RemoteDefaultPictures = DataBase.GetRemoteFileData (RemotePackageDirectory,
					 Basics.AUTO_GRAPHICS_EXTENSIONS, 2);
			List<String> AvailableRemoteFiles = new List<string> ();
			List<String> AllAvailableFiles = new List<string> ();
			foreach (DataRow RemoteDataRow in RemoteDefaultPictures.Tables [0].Rows)
				{
				if (((!String.IsNullOrEmpty (DefaultDirectoryName))
					&& (Path.GetFileName (Path.GetDirectoryName (RemoteDataRow ["FileName"].ToString ())) == DefaultDirectoryName))
						|| (Path.GetFileName (Path.GetDirectoryName (RemoteDataRow ["FileName"].ToString ())) == "_Default"))
					{
					AvailableRemoteFiles.Add (RemoteDataRow ["FileName"].ToString ());
					if (!AllAvailableFiles.Contains (Path.GetFileNameWithoutExtension (RemoteDataRow ["FileName"].ToString ().ToUpper ())))
						AllAvailableFiles.Add (Path.GetFileNameWithoutExtension (RemoteDataRow ["FileName"].ToString ().ToUpper ()));
					}
				}

			List<String> DefaultPictures = new List<string> ();
			if (Directory.Exists (DefaultDirectory))
				DefaultPictures = Basics.GetFilesFromDirectory (DefaultDirectory, Basics.AUTO_GRAPHICS_EXTENSIONS, 1);
			List<String> LocalizedPictures = new List<string> ();
			if (Directory.Exists (LocalizedDirectory))
				LocalizedPictures = Basics.GetFilesFromDirectory (LocalizedDirectory, Basics.AUTO_GRAPHICS_EXTENSIONS, 1);
			foreach (String FileName in DefaultPictures)
				if (!AllAvailableFiles.Contains (Path.GetFileNameWithoutExtension (FileName.ToUpper ())))
					AllAvailableFiles.Add (Path.GetFileNameWithoutExtension (FileName.ToUpper ()));
			foreach (String FileName in LocalizedPictures)
				if (!AllAvailableFiles.Contains (Path.GetFileNameWithoutExtension (FileName.ToUpper ())))
					AllAvailableFiles.Add (Path.GetFileNameWithoutExtension (FileName.ToUpper ()));



			foreach (String CoreFileName in AllAvailableFiles)
				{
				String SourceFileNameToTransfer = String.Empty;
				String ElementName = String.Empty;
				bool SourceIsRemote = false;
				bool FoundInLocalized = false;
				foreach (String LocalizedFileName in LocalizedPictures)
					{
					if (LocalizedFileName.IndexOf ("\\" + DefaultDirectoryName + "\\" + CoreFileName + ".", StringComparison.OrdinalIgnoreCase) != -1)
						{
						ElementName = Path.GetFileName (LocalizedFileName);
						SourceFileNameToTransfer = LocalizedFileName;
						SourceIsRemote = false;
						break;
						}
					}
				if (String.IsNullOrEmpty (ElementName))
					{
					foreach (String DefaultFileName in DefaultPictures)
						{
						if (DefaultFileName.IndexOf ("\\_Default\\" + CoreFileName + ".", StringComparison.OrdinalIgnoreCase) != -1)
							{
							ElementName = Path.GetFileName (DefaultFileName);
							SourceFileNameToTransfer = DefaultFileName;
							SourceIsRemote = false;
							break;
							}
						}
					}
				if (String.IsNullOrEmpty (ElementName))
					{
					foreach (String LocalizedRemoteFileName in AvailableRemoteFiles)
						{
						if (LocalizedRemoteFileName.IndexOf ("\\" + DefaultDirectoryName + "\\" + CoreFileName + ".", StringComparison.OrdinalIgnoreCase) != -1)
							{
							ElementName = Path.GetFileName (LocalizedRemoteFileName);
							SourceFileNameToTransfer = LocalizedRemoteFileName;
							SourceIsRemote = true;
							break;
							}
						}
					}
				if (String.IsNullOrEmpty (ElementName))
					{
					foreach (String LocalizedRemoteFileName in AvailableRemoteFiles)
						{
						if (LocalizedRemoteFileName.IndexOf ("\\_Default\\" + CoreFileName + ".", StringComparison.OrdinalIgnoreCase) != -1)
							{
							ElementName = Path.GetFileName (LocalizedRemoteFileName);
							SourceFileNameToTransfer = LocalizedRemoteFileName;
							SourceIsRemote = true;
							break;
							}
						}
					}

				if (SourceIsRemote)
					{
					DateTime SourceFileLastWriteTime = DateTime.MinValue;
					MemoryStream RemoteFileStream = GetRemoteFileStream (SourceFileNameToTransfer, ref SourceFileLastWriteTime);
					if (RemoteFileStream != null)
						(Package as Paketieren.PackagingHandler).AddStreamElement (RemoteFileStream,
							ElementName);
					}
				else
					{
					(Package as Paketieren.PackagingHandler).AddFileElement
							(SourceFileNameToTransfer, ElementName);
					}
				}
			return true;
			}
示例#28
0
	public DataSet ActualizeContentDataInFormatierDataSet(WCFStandardsNS.WCFStandards WPMediaAddOnDataDataBase,
						DataSet FormatierDataSet, String TableName, String ID, String WPMediaRoot)
			{
			if (ID == System.Guid.Empty.ToString ())
				return null;
			DataSet ActuallData = WPMediaAddOnDataDataBase.GetCommonMultiDataSet(new String[] { "Select * from " + TableName + " where ID = '" + ID + "'" });
			if (ActuallData.Tables [0].Rows.Count < 1)
				return null;
			String TemplateID = String.Empty;
			FormatierDataSet.Tables [0].Rows.Clear ();
			FormatierDataSet.Tables [0].ImportRow (ActuallData.Tables [0].Rows [0]);
			int TestCount = FormatierDataSet.Tables [0].Rows.Count;
			if (FormatierDataSet.Tables [0].Rows [0] != null)
				if (FormatierDataSet.Tables [0].Columns ["TemplateName"] != null)
					if (FormatierDataSet.Tables [0].Rows [0] ["TemplateName"] != null)
						TemplateID = FormatierDataSet.Tables [0].Rows [0] ["TemplateName"].ToString ();
			String NameID = FormatierDataSet.Tables [TableName].Rows [0] ["NameID"].ToString ();
			NameValueCollection UsedPictures = LoadAllPictures (TableName, NameID, TemplateID, WPMediaRoot);
			DataTable ActuallPictures = ConnectPictures (FormatierDataSet.Tables ["PictureDefinitions"], UsedPictures,
				TableName, NameID);
			DataTable MaterialTable = FormatierDataSet.Tables ["MaterialTable"];
			foreach (DataRow PictureRow in ActuallPictures.Rows)
				{
				MaterialTable = CheckOrCreateMaterials (MaterialTable, WPMediaRoot, PictureRow ["PictureFileName"].ToString ());
				}
			if ((FormatierDataSet.Tables ["MaterialTable"] == null)
				&& (MaterialTable != null))
				{
				FormatierDataSet.Tables.Add (MaterialTable);
				}

			if (FormatierDataSet.Tables ["ConnectPictures"] != null)
				FormatierDataSet.Tables.RemoveAt (FormatierDataSet.Tables.IndexOf ("ConnectPictures"));
			FormatierDataSet.Tables.Add (ActuallPictures);
			return FormatierDataSet;
			}
示例#29
0
	public static void ProcessContextMenu (object Sender, ContextMenuEventArgs e,
		WCFStandardsNS.WCFStandards DataBase,
		DoThisAfterContextProcessingEvent DoThisAfterContextProcessingCall)
		{
		Button ParentItem = Sender as Button;
		Singleton SingletonInstance = Singleton.Instance;
		SingletonInstance.m_DataBase = DataBase;
		SingletonInstance.SetDoThisAfterContextProcessingCall (DoThisAfterContextProcessingCall);
		ContextMenu FrameContextMenu = new ContextMenu ();
		ParentItem.ContextMenu = FrameContextMenu;
		MenuItem ReloadDefaultFormat = new MenuItem ();
		ReloadDefaultFormat.Header = "DefaultFormat";
		FrameContextMenu.Items.Add (ReloadDefaultFormat);
		ReloadDefaultFormat.Click += new RoutedEventHandler (ReloadDefaultFormat_Click);
		int SelectedIndex = 0;
		int LastSelectedIndex = -1;
		if (SingletonInstance.ListOfPositioningWindows != null)
			foreach (PositioningEntry PosWindow in SingletonInstance.ListOfPositioningWindows)
				{
				if (PosWindow.IsSelected == true)
					LastSelectedIndex = SelectedIndex;
				SelectedIndex++;
				}
		if ((SingletonInstance.ListOfPositioningWindows == null)
			|| (LastSelectedIndex == -1))
			{
			MenuItem NewTextBlock = new MenuItem ();
			NewTextBlock.Header = "Neuer TextBlock";
			FrameContextMenu.Items.Add (NewTextBlock);
			NewTextBlock.Click += new RoutedEventHandler (NewTextBlock_Click);
			MenuItem NewPictureBlock = new MenuItem ();
			NewPictureBlock.Header = "Neuer BildBlock";
			FrameContextMenu.Items.Add (NewPictureBlock);
			NewPictureBlock.Click += new RoutedEventHandler (NewPictureBlock_Click);
			return;
			}
		MenuItem BlockToDelete = new MenuItem ();
		BlockToDelete.Header = "Block löschen?";
		FrameContextMenu.Items.Add (BlockToDelete);
		BlockToDelete.Tag = SingletonInstance.ListOfPositioningWindows [LastSelectedIndex];
		BlockToDelete.Click += new RoutedEventHandler (BlockToDelete_Click);

		}
示例#30
0
			public bool CreateDefaultFormatDataSet(WCFStandardsNS.WCFStandards WPMediaAddOnDataDataBase,
							DataSet FormatierDataSet, String WPMediaRoot)
				{
				String TableName = FormatierDataSet.Tables [0].TableName;
				String ID = FormatierDataSet.Tables [TableName].Rows [0] ["ID"].ToString ();
				String ControlFileName = GetActuallFormatDataSetFileName (WPMediaRoot, TableName, ID);
				//if (File.Exists (ControlFileName))
				//    Basics.SecureFileDelete (ControlFileName);
				Basics.SerializeObjectToFile (ControlFileName,
						  GetFormatierDataSet(WPMediaAddOnDataDataBase, TableName, ID, WPMediaRoot));
				return true;
				}