/// <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; } } }