コード例 #1
0
        /// <summary>
        /// Reads data from the backing XML file and creates a PageData object from the data.
        /// </summary>
        /// <remarks>
        /// The language selector is used to see if a specific language is preferred, if language does not
        /// exist or a specific language was not given master language branch is returned.
        /// </remarks>
        /// <param name="pageLink">The page link.</param>
        /// <param name="selector">The selector which states the preffered language</param>
        /// <returns>A fully initialized PageData object</returns>
        protected override PageData GetLocalPage(PageReference pageLink, ILanguageSelector languageSelector)
        {
            List <string> pageLanguages            = new List <string>();
            PageData      pageData                 = new PageData();
            Dictionary <string, string> properties = new ExcelParser(_excelFilePath, _idColumn, _pageNameColumn, _sheetName).GetPageProperties(pageLink.ID);

            base.InitializePageData(pageData, properties[_pageNameColumn], _pageTypeName, GetGuidFromID(pageLink.ID), pageLink.CreateWritableClone(), EntryPoint, pageLanguages);

            foreach (KeyValuePair <string, string> keyValuePair in properties)
            {
                if (keyValuePair.Key != _idColumn && keyValuePair.Key != _pageNameColumn)
                {
                    pageData.SetValue(keyValuePair.Key, keyValuePair.Value);
                }
            }
            SetPageStatus(pageData, VersionStatus.Published);
            SetDynamicProperties(pageData);

            return(pageData);
        }