Exemplo n.º 1
0
        /// <summary>
        /// 删除文章。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void LinkButtonDelete_Click(object sender, CommandEventArgs e)
        {
            int articleId;
            if(int.TryParse(e.CommandName, out articleId) == false)
            {
                MessageBox("错误提示", "文章编号必须为整数");
                return;
            }

            // 添加操作日志
            DataManager.LogManager logManager = new DataManager.LogManager();
            int iExecuteNonQuery = 0;

            Wis.Website.DataManager.ArticleManager articleManager = new Wis.Website.DataManager.ArticleManager();
            Wis.Website.DataManager.Article article = articleManager.GetArticle(articleId);
            #warning 删除与该文章相关的图片、视频、软件

            // 重新生成静态页面和关联页面
            DataManager.ReleaseManager releaseManager = new DataManager.ReleaseManager();
            switch (article.Category.ArticleType)
            {
                case 1://ArticleType.Normal:
                    iExecuteNonQuery = articleManager.Remove(article.ArticleGuid);
                    logManager.AddNew(Guid.NewGuid(), Guid.Empty, "删除新闻", article.ArticleGuid, article.Title, System.DateTime.Now);
                    releaseManager.ReleasingRemovedArticle(article);
                    break;
                case 2://ArticleType.Photo:
                    ArticlePhotoManager articlePhotoManager = new ArticlePhotoManager();
                    ArticlePhoto articlePhoto = articlePhotoManager.GetArticlePhoto(article.ArticleGuid);
                    iExecuteNonQuery = articleManager.Remove(articlePhoto.ArticleGuid);
                    logManager.AddNew(Guid.NewGuid(), Guid.Empty, "删除新闻", articlePhoto.ArticleGuid, articlePhoto.Title, System.DateTime.Now);
                    releaseManager.ReleasingRemovedPhotoArticle(articlePhoto);
                    break;
                case 3://ArticleType.Video:
                    VideoArticleManager videoArticleManager = new VideoArticleManager();
                    VideoArticle videoArticle = videoArticleManager.GetVideoArticle(article.ArticleGuid);
                    iExecuteNonQuery = articleManager.Remove(videoArticle.Article.ArticleGuid);
                    logManager.AddNew(Guid.NewGuid(), Guid.Empty, "删除新闻", videoArticle.Article.ArticleGuid, videoArticle.Article.Title, System.DateTime.Now);
                    releaseManager.ReleasingRemovedVideoArticle(videoArticle);
                    break;
                //case ArticleType.Soft:
                //    releaseManager.ReleasingRemovedSoftArticle(article);
                //    break;
                //case ArticleType.Link:
                //    releaseManager.ReleasingRemovedLinkArticle(article);
                //    break;
            }

            if (iExecuteNonQuery > 0)
            {
                Warning.InnerHtml = "删除成功!";
            }
            else
            {
                Warning.InnerHtml = "删除失败!";
            }

            // 重新绑定新闻列表
            BindRepeater();
        }