Пример #1
0
        public void ImportSiteTemplateToEmptyPublishmentSystem(int publishmentSystemId, string siteTemplateDir, bool isUseTables, bool isImportContents, bool isImportTableStyles, string administratorName)
        {
            var siteTemplatePath = PathUtility.GetSiteTemplatesPath(siteTemplateDir);

            if (DirectoryUtils.IsDirectoryExists(siteTemplatePath))
            {
                var publishmentSystemInfo = PublishmentSystemManager.GetPublishmentSystemInfo(publishmentSystemId);

                var templateFilePath         = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileTemplate);
                var tableDirectoryPath       = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.Table);
                var menuDisplayFilePath      = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileMenuDisplay);
                var tagStyleFilePath         = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileTagStyle);
                var adFilePath               = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileAd);
                var seoFilePath              = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileSeo);
                var stlTagPath               = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileStlTag);
                var gatherRuleFilePath       = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileGatherRule);
                var inputDirectoryPath       = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.Input);
                var configurationFilePath    = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileConfiguration);
                var siteContentDirectoryPath = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.SiteContent);
                var contentModelPath         = PathUtility.GetSiteTemplateMetadataPath(siteTemplatePath, DirectoryUtils.SiteTemplates.FileContentModel);

                var importObject = new ImportObject(publishmentSystemId);

                importObject.ImportFiles(siteTemplatePath, true);

                importObject.ImportTemplates(templateFilePath, true, administratorName);

                importObject.ImportAuxiliaryTables(tableDirectoryPath, isUseTables);

                importObject.ImportMenuDisplay(menuDisplayFilePath, true);

                importObject.ImportTagStyle(tagStyleFilePath, true);

                importObject.ImportAd(adFilePath, true);

                importObject.ImportSeo(seoFilePath, true);

                importObject.ImportStlTag(stlTagPath, true);

                importObject.ImportGatherRule(gatherRuleFilePath, true);

                importObject.ImportInput(inputDirectoryPath, true);

                importObject.ImportConfiguration(configurationFilePath);

                importObject.ImportContentModel(contentModelPath, true);

                var filePathArrayList = ImportObject.GetSiteContentFilePathArrayList(siteContentDirectoryPath);

                foreach (string filePath in filePathArrayList)
                {
                    importObject.ImportSiteContent(siteContentDirectoryPath, filePath, isImportContents);
                }

                DataProvider.NodeDao.UpdateContentNum(publishmentSystemInfo);

                if (isImportTableStyles)
                {
                    importObject.ImportTableStyles(tableDirectoryPath);
                }

                importObject.RemoveDbCache();
            }
        }