private void ProcessAllMappingsForTypAndRedaktion (Typ activeTyp, DataRow newRow, ProcessConnector processConnectorToProcess, ChapterBase dynamicPageToCreateForThisRun, String pageIDToUse) { ObservableCollection<StandBildMapping> MappingsForThisTyp = null; if (processConnectorToProcess.Redaktion == "StandBild") MappingsForThisTyp = activeTyp.AvailableStandBildMappingsForStandBild; else if (processConnectorToProcess.Redaktion == "Banner") MappingsForThisTyp = activeTyp.AvailableStandBildMappingsForBanner; else MappingsForThisTyp = activeTyp.AvailableStandBildMappingsForAll; foreach (StandBildMapping Mapping in MappingsForThisTyp) { foreach (InformationAddOn InfoAddOn in InformationToProcess.InformationenAddOns) { if (Mapping.SourceDataDependencyId != InfoAddOn.DataDependencyId) continue; Profile.ActiveDataDependency = Profile.SetActiveDataDependencyViaId ((Guid)InfoAddOn.DataDependencyId); if ((Profile.ActiveDataDependency.DataElementeTemplate.UseMultiple == "Yes") && (pageIDToUse != "1")) continue; ProcessThisMapping(InfoAddOn, newRow, processConnectorToProcess, Mapping, pageIDToUse); #if DEBUG DoMappingTrace("After Standard Mapping", newRow, Mapping); #endif } if (dynamicPageToCreateForThisRun != null) foreach (InformationAddOn InfoAddOn in dynamicPageToCreateForThisRun.InformationenAddOnLinkedWithThisChapter) { if (Mapping.SourceDataDependencyId != InfoAddOn.DataDependencyId) continue; Profile.ActiveDataDependency = Profile.SetActiveDataDependencyViaId((Guid)InfoAddOn.DataDependencyId); if (Profile.ActiveDataDependency.DataElementeTemplate.UseMultiple != "Yes") throw new Exception("Profile.ActiveFullDataDependency.UseMultiple != \"Yes\""); ProcessThisMapping(InfoAddOn, newRow, processConnectorToProcess, Mapping, pageIDToUse); #if DEBUG DoMappingTrace("After Chapter Mapping", newRow, Mapping); #endif } } }
public void AssignChapter(ChapterBase entryToAssign) { if (entryToAssign == null) return; InformationAddOnToProcess.Get_ConnectedProcessConnector.UsedChapters.Add(entryToAssign); }
public void UnAssignChapter(ChapterBase entryToUnassign) { if (entryToUnassign == null) return; InformationAddOnToProcess.Get_ConnectedProcessConnector.RemoveFromUsedChapters(entryToUnassign); }