private void StartTableManagement_OnClick (object Sender, RoutedEventArgs E) { if (ExternalControlClient.StartServerProcess("Adressen") == false) { MessageBox.Show("Der Processor für \"Adressen und oder Organisationen\" Verarbeitung ist nicht installiert"); return; } if (ActuallHandler == null) ActuallHandler = ExternalControlHandler.ExternalControlClient.GetHandlerViaUnitName("Adressen"); ActuallHandler.PostToHandler("AltErlaaInfoConnectionString", "Adressen", System.Guid.Empty, ""); return; }
private bool CreateStandBildTableEntry (InformationAddOn infoAddOn, ProcessConnector connector, ExternalControlClient StartUpParameter, Timing actuallTerminEntry, int DaysBackForAnzeigeTiming) { if ((connector.TableId != null) && (connector.TableId != System.Guid.Empty)) { MessageBox.Show ("der gewählte Eintrag ist technisch nicht in Ordnung\r\n" + "\"Connector.TableID != null\r\n" + "Bitte löschen Sie diesen Eintrag, oder treten Sie diesbezüglich\r\n" + "mit WPMedia in Kontakt"); return false; } if (connector.InformationenId != InformationToProcess.Id) { MessageBox.Show("Ein Schwerer Fehler ist aufgetreten\r\n" + "connector.InformationenID != DataModell.ActiveInformationen.ID\r\n" + "Abbruch!!"); throw new Exception("connector.InformationenID != DataModell.ActiveInformationen.ID"); } ProcessConnectorToWorkWith = connector; CsDbTableBase DynamicTargetTable = Data.DbServer3.WPMediaAddOnData.GetTableByName(connector.TableName); List<DataRow> RowsToDelete = new List<DataRow>(); foreach (DataRow dataRow in DynamicTargetTable.Rows) { RowsToDelete.Add(dataRow); } foreach (DataRow dataRow in RowsToDelete) { dataRow.Delete(); } DynamicTargetTable.AcceptChanges(); DynamicTargetTable.HasBeenLoaded = true; DynamicTargetTable.Generic_DownloadRows ($"Select * from {connector.TableName} where NameID = '{connector.NameId.Replace("'", "''")}'"); DynamicTargetTable.HasBeenLoaded = true; foreach (DataRow dataRow in DynamicTargetTable.Rows) { if (dataRow["NameID"].ToString() == connector.NameId) { MessageBox.Show($"Der Eintrag\r\n\"{connector.NameId}\"\r\nist schon vorhanden, " + $"diesen Namen bitte ändern"); return false; } } connector.TableId = System.Guid.NewGuid (); DataRow NewRow = DynamicTargetTable.NewRow (); NewRow ["ID"] = connector.TableId; NewRow ["NameID"] = connector.NameId; Profile.ActiveTyp = InformationToProcess.Typ; if (Profile.ActiveRedaktion != connector.Redaktion) throw new Exception ("Profile.ActiveRedaktion != Connector.Redaktion"); try { ProcessThisMappingGroup(Profile.ActiveTyp.Id, NewRow, connector); } catch (Exception Excp) { throw new Exception("ProcessThisMappingGroup (Version 2.0) brachte Fehler:\r\n" + Excp.ToString()); } if (NewRow.Table.Columns.Contains("TemplateName")) { if (!String.IsNullOrEmpty(connector.TemplateNameDecorated)) NewRow["TemplateName"] = connector.TemplateNameDecorated; } if (NewRow.Table.Columns.Contains("LastUpdateToken")) NewRow ["LastUpdateToken"] = Basics.GetNextLastUpdateTokenHelper (); NewRow ["ModifyTimeStamp"] = DateTime.Now; NewRow ["ProcessingStatus"] = "InternetPublishingPending;TVPublishingPending"; NewRow.Table.Rows.Add (NewRow); CreateAndLocallyImportStandBildTimingsEntry (Data.DbServer3.WPMediaAddOnData.Timings, NewRow, actuallTerminEntry, DaysBackForAnzeigeTiming); DynamicTargetTable.DataSet.SaveAnabolic(new Object()); DynamicTargetTable.DataSet.AcceptChanges(); CreatedStandBildGuid = connector.TableId = (Guid) NewRow ["ID"]; CommonSearchClass HandledEntry = null; infoAddOn.FreiText = connector.FreiText; if ((connector.InformationenId != InformationToProcess.Id) || (connector.InformationenAddOnId != infoAddOn.Id)) throw new Exception("((connector.InformationenId != InformationToProcess.Id)\r\n" + "|| (connector.InformationenAddOnId = infoAddOn.Id))"); Data.DbServer3.AltErlaaInfo.SaveUnspecific(new Object()); Data.DbServer3.AltErlaaInfo.AcceptChanges(); //if (!RunningAsOldToNew) // DataModell.UpdateWorkDataSet (RequiredUpdateFunction.Modify, ref HandledEntry); //else // DataModell.WorkDataSet.AcceptChanges(); String WPMediaPackageRoot = System.IO.Path.Combine (Basics.GetLocalWPMediaRoot (), Basics.XML_AUTO_CONTENT_SOURCE); String LocalPackageFileName = System.IO.Path.Combine (WPMediaPackageRoot, System.IO.Path.Combine (WPMediaPackageRoot, Path.Combine (connector.TableName, NewRow ["ID"].ToString () + ".pkg"))); int NumberOfPlayablePages; if (String.Compare (LocalPackageFileName, CreateLocalPackage (connector.TableName, ((System.Guid) connector.TableId).ToString (), out NumberOfPlayablePages), StringComparison.InvariantCultureIgnoreCase) != 0) throw new Exception ("StandBildCreation - LocalPackageFileName != CreatedName"); SetNumberOfPages (connector.TableName, ((System.Guid) connector.TableId).ToString (), NewRow, NumberOfPlayablePages); if ((NewRow.Table.Columns ["TemplateName"] != null) && (!String.IsNullOrEmpty (NewRow ["TemplateName"].ToString ()))) CreatePackageCheckAndDoTemplatingIfRequired (LocalPackageFileName, NewRow); List<String> PictureElementeForThisInformationID = InformationToProcess.Get_MaterialElemente(connector); CheckAndDoPictureImportIfRequired (NewRow, PictureElementeForThisInformationID); WMB.DataWrapper.Instance.DoCentralFileUpdate (LocalPackageFileName); DoStandBildProgrammActivities (connector); return true; }