AssignMetaDataSpecificValues() публичный статический Метод

Updates the given metadata item with new Id and setting the metadata defintion name and defining item id
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);
            }
        }