Пример #1
0
        private void MoveNewsPagesWithoutContent(XDoc spaceManifest, string spaceKey, string dekiSpacePath)
        {
            if (!_processNewsPages)
            {
                return;
            }

            RemoteBlogEntrySummary[] remoteBlogEntrySummaries = _confluenceService.GetBlogEntries(spaceKey);

            if (remoteBlogEntrySummaries.Length == 0)
            {
                return;
            }

            //Create root page for news
            string newsPageName = GetAllowedDekiPageName(dekiSpacePath, NewsPageTitle);
            string newsPagePath = dekiSpacePath + Utils.DoubleUrlEncode("/" + newsPageName);

            CreateDekiPage(_dekiPlug, newsPagePath, NewsPageTitle, DateTime.Now, "");

            foreach (RemoteBlogEntrySummary remoteBlogEntrySummary in remoteBlogEntrySummaries)
            {
                string datePageNews = CreatePageForNewsOnDate(remoteBlogEntrySummary.publishDate, newsPagePath);

                string dekiNewsPath = datePageNews + Utils.DoubleUrlEncode("/" + remoteBlogEntrySummary.title);

                Plug p = (remoteBlogEntrySummary.author == null) ? _dekiPlug :
                         GetPlugForConvertedUser(remoteBlogEntrySummary.author);

                string dekiNewsUrl;

                int dekiPageId = CreateDekiPage(p, dekiNewsPath, remoteBlogEntrySummary.title,
                                                remoteBlogEntrySummary.publishDate, "", out dekiNewsUrl);

                MoveAttachments(spaceManifest, dekiPageId, remoteBlogEntrySummary.id);

                //string dekiNewsUrl = System.Web.HttpUtility.UrlDecode(dekiNewsPath);

                //TODO (maxm): this can be persisted as well.
                //SaveConfluenceUrlLocalPath(spaceUrlMap, remoteBlogEntrySummary.url, dekiNewsUrl);

                SaveCommentsLinks(spaceManifest, spaceKey, remoteBlogEntrySummary.id, dekiNewsUrl);

                ACConverterNewsInfo newsInfo = new ACConverterNewsInfo(remoteBlogEntrySummary, dekiNewsPath,
                                                                       dekiPageId, remoteBlogEntrySummary.title);
                _convertedNews.Add(newsInfo);
            }
        }
Пример #2
0
        private void MoveNewsPagesWithoutContent(XDoc spaceManifest, string spaceKey, string dekiSpacePath)
        {

            if (!_processNewsPages)
            {
                return;
            }

            RemoteBlogEntrySummary[] remoteBlogEntrySummaries = _confluenceService.GetBlogEntries(spaceKey);

            if (remoteBlogEntrySummaries.Length == 0)
            {
                return;
            }

            //Create root page for news
            string newsPageName = GetAllowedDekiPageName(dekiSpacePath, NewsPageTitle);
            string newsPagePath = dekiSpacePath + Utils.DoubleUrlEncode("/" + newsPageName);

            CreateDekiPage(_dekiPlug, newsPagePath, NewsPageTitle, DateTime.Now, "");

            foreach (RemoteBlogEntrySummary remoteBlogEntrySummary in remoteBlogEntrySummaries)
            {
                string datePageNews = CreatePageForNewsOnDate(remoteBlogEntrySummary.publishDate, newsPagePath);

                string dekiNewsPath = datePageNews + Utils.DoubleUrlEncode("/" + remoteBlogEntrySummary.title);

                Plug p = (remoteBlogEntrySummary.author == null) ? _dekiPlug :
                    GetPlugForConvertedUser(remoteBlogEntrySummary.author);

                string dekiNewsUrl;

                int dekiPageId = CreateDekiPage(p, dekiNewsPath, remoteBlogEntrySummary.title,
                    remoteBlogEntrySummary.publishDate, "", out dekiNewsUrl);

                MoveAttachments(spaceManifest, dekiPageId, remoteBlogEntrySummary.id);

                //string dekiNewsUrl = System.Web.HttpUtility.UrlDecode(dekiNewsPath);
                
                //TODO (maxm): this can be persisted as well.
                //SaveConfluenceUrlLocalPath(spaceUrlMap, remoteBlogEntrySummary.url, dekiNewsUrl);
                
                SaveCommentsLinks(spaceManifest, spaceKey, remoteBlogEntrySummary.id, dekiNewsUrl);

                ACConverterNewsInfo newsInfo = new ACConverterNewsInfo(remoteBlogEntrySummary, dekiNewsPath,
                    dekiPageId, remoteBlogEntrySummary.title);
                _convertedNews.Add(newsInfo);
            }
        }