Exemplo n.º 1
0
 /// <summary>
 /// 发布被引用的页面,比如首页某个栏目引用了该分类,专题引用了改分类,把关联的发布页面重新生成
 /// </summary>
 /// <param name="categoryGuid"></param>
 public void ReleasingRelatedReleases(Guid relatedGuid)
 {
     CategoryManager categoryManager = new CategoryManager();
     List<Release> relatedReleases = GetRelatedReleases(relatedGuid);
     foreach (Release relatedRelease in relatedReleases)
     {
         switch (relatedRelease.Template.TemplateType)
         {
             case TemplateType.Index:
                 ReleasingIndex(relatedRelease);
                 break;
             case TemplateType.ArticleItem: // 发布对应分类下的所有文章
                 ArticleManager articleManager = new ArticleManager();
                 List<Article> relatedArticles = articleManager.GetArticlesByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Article relatedArticle in relatedArticles)
                 {
                     ReleasingArticleItem(relatedArticle, relatedRelease);
                 }
                 break;
             case TemplateType.ArticleList: // 发布对应分类下的所有列表页
                 List<Category> relatedArticleListCategories = categoryManager.GetCategorysByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Category relatedCategory in relatedArticleListCategories)
                 {
                     ReleasingArticleList(relatedCategory, relatedRelease);
                 }
                 break;
             case TemplateType.ArticleIndex: // 发布对应分类下的所有索引页
                 List<Category> relatedArticleIndexCategories = categoryManager.GetCategorysByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Category relatedCategory in relatedArticleIndexCategories)
                 {
                     ReleasingArticleIndex(relatedCategory, relatedRelease);
                 }
                 break;
             case TemplateType.Page: // 发布对应的单页
                 PageManager pageManager = new PageManager();
                 List<Page> relatedPages = pageManager.GetPagesByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Page relatedPage in relatedPages)
                 {
                     ReleasingPage(relatedPage, relatedRelease);
                 }
                 break;
             case TemplateType.PhotoArticleItem: // 发布对应分类下的图片新闻
                 ArticlePhotoManager photoArticleManager = new ArticlePhotoManager();
                 List<ArticlePhoto> photoArticles = photoArticleManager.GetPhotoArticlesByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (ArticlePhoto photoArticle in photoArticles)
                 {
                     ReleasingPhotoArticleItem(photoArticle, relatedRelease);
                 }
                 break;
             case TemplateType.PhotoArticleList: // 发布对应分类下的列表页
                 List<Category> relatedPhotoArticleListCategories = categoryManager.GetCategorysByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Category relatedCategory in relatedPhotoArticleListCategories)
                 {
                     ReleasingPhotoArticleList(relatedCategory, relatedRelease);
                 }
                 break;
             case TemplateType.SpecialList: // 发布专题列表页
                 SpecialManager specialManager = new SpecialManager();
                 List<Special> relatedSpecials = specialManager.GetSpecialsByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Special relatedSpecial in relatedSpecials)
                 {
                     ReleasingSpecial(relatedSpecial, relatedRelease);
                 }
                 break;
             case TemplateType.VideoArticleItem: // 发布对应分类下的所有视频文章详细页
                 VideoArticleManager videoArticleManager = new VideoArticleManager();
                 List<VideoArticle> relatedVideoArticles = videoArticleManager.GetVideoArticlesByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (VideoArticle relatedVideoArticle in relatedVideoArticles)
                 {
                     ReleasingVideoArticleItem(relatedVideoArticle, relatedRelease);
                 }
                 break;
             case TemplateType.VideoArticleList: // 发布对应分类下的所有视频列表页
                 List<Category> relatedVideoArticleListCategories = categoryManager.GetCategorysByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Category relatedCategory in relatedVideoArticleListCategories)
                 {
                     ReleasingVideoArticleList(relatedCategory, relatedRelease);
                 }
                 break;
             case TemplateType.VideoArticleIndex: // 发布对应分类下的所有视频索引页
                 List<Category> relatedVideoArticleIndexCategories = categoryManager.GetCategorysByReleaseGuid(relatedRelease.ReleaseGuid);
                 foreach (Category relatedCategory in relatedVideoArticleIndexCategories)
                 {
                     ReleasingVideoArticleIndex(relatedCategory, relatedRelease);
                 }
                 break;
         }
     }
 }