public static AssignMetaDataSpecificValues ( IData metaData, string metaDataDefinitionName, IPage definingPage ) : void | ||
metaData | IData | |
metaDataDefinitionName | string | |
definingPage | IPage | |
리턴 | void |
private static void AddNewMetaDataToExistingPages(IEnumerable <IPage> affectedPages, string metaDataDefinitionName, Type metaDataType, IData newDataTemplate) { foreach (IPage affectedPage in affectedPages) { IData data = affectedPage.GetMetaData(metaDataDefinitionName, metaDataType); if (data != null) { continue; } IPublishControlled newData = DataFacade.BuildNew(metaDataType) as IPublishControlled; newDataTemplate.FullCopyChangedTo(newData); newData.PublicationStatus = GenericPublishProcessController.Draft; PageMetaDataFacade.AssignMetaDataSpecificValues(newData, metaDataDefinitionName, affectedPage); ILocalizedControlled localizedData = newData as ILocalizedControlled; if (localizedData != null) { localizedData.SourceCultureName = UserSettings.ActiveLocaleCultureInfo.Name; } newData = DataFacade.AddNew((IData)newData) as IPublishControlled; if (newData.PublicationStatus != affectedPage.PublicationStatus) { newData.PublicationStatus = affectedPage.PublicationStatus; DataFacade.Update(newData); } } }
/// <exclude /> public static void AddNewMetaDataToExistingPage(this IPage page, string metaDataDefinitionName, Type metaDataType, IData newDataTemplate) { IData data = page.GetMetaData(metaDataDefinitionName, metaDataType); if (data != null) { return; } IPublishControlled newData = DataFacade.BuildNew(metaDataType) as IPublishControlled; newDataTemplate.FullCopyChangedTo(newData); newData.PublicationStatus = GenericPublishProcessController.Draft; PageMetaDataFacade.AssignMetaDataSpecificValues(newData, metaDataDefinitionName, page); ILocalizedControlled localizedData = newData as ILocalizedControlled; if (localizedData != null) { localizedData.SourceCultureName = page.SourceCultureName; } newData = (IPublishControlled)DataFacade.AddNew((IData)newData); // Cast is needed for the DataFacade to work correctly if (newData.PublicationStatus != page.PublicationStatus) { newData.PublicationStatus = page.PublicationStatus; DataFacade.Update(newData); } }