Beispiel #1
0
        private static async Task SeedArticleCategories(ApplicationDbContext context)
        {
            var entities = new ArticleCategoryEntity[]
            {
                new ArticleCategoryEntity()
                {
                    Id          = 1,
                    DateCreated = DateTime.UtcNow,
                    Title       = "Uncategorized"
                },
                new ArticleCategoryEntity()
                {
                    Id          = 2,
                    DateCreated = DateTime.UtcNow,
                    Title       = "General News"
                },
                new ArticleCategoryEntity()
                {
                    Id          = 3,
                    DateCreated = DateTime.UtcNow,
                    Title       = "Cool Technology"
                }
            };

            await context.AddRangeAsync(entities);

            await context.SaveChangesAsync();
        }
Beispiel #2
0
        /// <summary>
        /// 后台的文章静态处理
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ActionResult StaticHtml(int id)
        {
            ArticleBLL    articleBLL    = new ArticleBLL();
            ArticleEntity articleEntity = articleBLL.GetArticleEntityById(id);
            string        staticURL     = "/";

            //生成文章静态URL
            ArticleCategoryBLL    articleCategoryBLL = new ArticleCategoryBLL();
            ArticleCategoryEntity categoryEntity     = articleCategoryBLL.GetArticleCategoryEntityById(articleEntity.CategoryId);

            articleEntity.HrefTpl = categoryEntity.HrefTpl;

            if (!string.IsNullOrEmpty(categoryEntity.HrefTpl))
            {
                //查文章对应的期刊
                if (articleEntity.ArticlePropertyId.HasValue)
                {
                    JournalArticleRelationBLL    journalArticleRelationBLL    = new JournalArticleRelationBLL();
                    JournalArticleRelationEntity journalArticleRelationEntity = journalArticleRelationBLL.GetJournalArticleRelationEntityById(articleEntity.ArticlePropertyId);
                    ArticleJournalBLL            articleJournalBLL            = new ArticleJournalBLL();
                    ArticleJournalEntity         articleJournalEntity         = articleJournalBLL.GetArticleJournalEntityById(journalArticleRelationEntity.JournalId);
                    articleEntity.JournalId    = articleJournalEntity.JournalId;    //期刊Id
                    articleEntity.JournalName  = articleJournalEntity.JournalName;  //期刊名
                    articleEntity.PropertyName = articleJournalEntity.PropertyName; //期刊总序号
                    staticURL += articleEntity.Href + "?JournalId=" + articleEntity.JournalId + "&static=1";
                    return(Redirect(staticURL));
                }
                staticURL += articleEntity.Href + "&static=1";
                return(Redirect(staticURL));
            }
            return(new EmptyResult());
        }
Beispiel #3
0
        /// <summary>
        /// 文章预览
        /// </summary>
        /// <param name="id">文章Id</param>
        /// <returns></returns>
        public ActionResult Perview(int id)
        {
            ArticleBLL    articleBLL    = new ArticleBLL();
            ArticleEntity articleEntity = articleBLL.GetArticleEntityById(id);
            string        staticURL     = "/";

            //生成文章静态URL
            ArticleCategoryBLL    articleCategoryBLL = new ArticleCategoryBLL();
            ArticleCategoryEntity categoryEntity     = articleCategoryBLL.GetArticleCategoryEntityById(articleEntity.CategoryId);

            //TODO 判断文章没有任何分类的情况
            articleEntity.HrefTpl = categoryEntity != null ? categoryEntity.HrefTpl : "nocategory{0}.html";//文章没有类别时,详细页URL

            if (!string.IsNullOrEmpty(articleEntity.HrefTpl))
            {
                //查文章对应的期刊
                if (articleEntity.ArticlePropertyId.HasValue)
                {
                    JournalArticleRelationBLL    journalArticleRelationBLL    = new JournalArticleRelationBLL();
                    JournalArticleRelationEntity journalArticleRelationEntity = journalArticleRelationBLL.GetJournalArticleRelationEntityById(articleEntity.ArticlePropertyId);
                    ArticleJournalBLL            articleJournalBLL            = new ArticleJournalBLL();
                    ArticleJournalEntity         articleJournalEntity         = articleJournalBLL.GetArticleJournalEntityById(journalArticleRelationEntity.JournalId);
                    articleEntity.JournalId    = articleJournalEntity.JournalId;    //期刊Id
                    articleEntity.JournalName  = articleJournalEntity.JournalName;  //期刊名
                    articleEntity.PropertyName = articleJournalEntity.PropertyName; //期刊总序号
                    staticURL += articleEntity.Href + "?JournalId=" + articleEntity.JournalId;
                    return(Redirect(staticURL));
                }
                staticURL += articleEntity.Href;
                return(Redirect(staticURL));
            }
            return(new EmptyResult());
        }
Beispiel #4
0
        public async Task <ActionResult> SubmitForm(ArticleCategoryEntity entity, string keyValue)
        {
            try
            {
                await _service.SubmitForm(entity, keyValue);

                return(await Success("操作成功。", "", keyValue));
            }
            catch (Exception ex)
            {
                return(await Error(ex.Message, "", keyValue));
            }
        }
        public string Edit(ArticleCategoryEntity articleCategoryUpdate)
        {
            ArticleCategoryBLL    articleCategoryBLL    = new ArticleCategoryBLL();
            ArticleCategoryEntity articleCategoryEntity = articleCategoryBLL.GetArticleCategoryEntityById(articleCategoryUpdate.Id);

            articleCategoryEntity.CategoryName = articleCategoryUpdate.CategoryName.UrlDecode(); //分类名
            articleCategoryEntity.Order        = articleCategoryUpdate.Order;
            articleCategoryBLL.UpdateArticleCategoryEntity(articleCategoryEntity);

            return(JsonConvert.SerializeObject(new { result = true, message = "", returnUrl = "/Admin/Journal/Index" }));

            return(JsonConvert.SerializeObject(new { result = false, message = "" }));
        }
Beispiel #6
0
        public DataTable GetArticleDataTablePage(List <SqlDbParameter> parms, string OrderBy, int PageSize, int PageIndex, out int RecordCount)
        {
            ArticleDAL articleDAL = new ArticleDAL();
            DataTable  dataTable  = articleDAL.GetArticleDataTablePage(parms, OrderBy, PageSize, PageIndex, out RecordCount);
            //TO DO Cache
            ArticleCategoryDAL articleCategoryDAL = new ArticleCategoryDAL();

            parms = new List <SqlDbParameter>();
            List <ArticleCategoryEntity> articleCategory = articleCategoryDAL.GetAll(parms, "Id");

            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                int _categoryId = 0;
                if (int.TryParse(dataTable.Rows[i]["CategoryId"].ToString(), out _categoryId))
                {
                    ArticleCategoryEntity articleCategoryEntity = articleCategory.Find(t => t.Id == _categoryId);
                    dataTable.Rows[i]["CategoryName"] = articleCategoryEntity == null ? "" : articleCategoryEntity.CategoryName;
                }
            }
            return(dataTable);
        }
Beispiel #7
0
 // PUT: api/PostRepository/5
 public bool Put(int id, [FromBody] ArticleCategoryEntity articleCategory)
 {
     return(_articleCategoryServices.Edit(id, articleCategory));
 }
Beispiel #8
0
 // POST: api/PostRepository
 public int Post([FromBody] ArticleCategoryEntity articleCategory)
 {
     return(_articleCategoryServices.Add(articleCategory));
 }
        public ActionResult ListIndex(string type)
        {
            List <ArticleCategoryEntity> categoryList = new List <ArticleCategoryEntity>();  //文章分类信息
            Dictionary <string, string>  listImage    = new Dictionary <string, string>
            {
                { "jt", "tx_25.png" }, //集团新闻
                { "gs", "tx_33.png" }, //公司新闻
                { "yw", "tx_35.png" }, //业务动态
                { "jiaojuguoqi", "jujiaoguoqi.png" }//聚焦国企
            };

            ViewBag.ListIndexImg = listImage[type];//类别图片
            List <SqlDbParameter> parms;
            SqlDbParameter        parm;

            //获取某一期的首页文章列表
            parms                  = new List <SqlDbParameter>();
            parm                   = new SqlDbParameter();
            parm.ColumnName        = "JournalId";
            parm.ParameterName     = "JournalId";
            parm.ParameterValue    = currentJournalEntity.JournalId;//当前期刊Id
            parm.QualificationType = SqlDbParameter.QualificationSymbol.Equal;
            parms.Add(parm);

            //默认条件IsDelete!=1,软删标准
            parm                   = new SqlDbParameter();
            parm.ColumnName        = "IsDelete";
            parm.ParameterName     = "IsDelete";
            parm.QualificationType = SqlDbParameter.QualificationSymbol.IsNull;
            parm.ColumnType        = DbType.Int32;
            parms.Add(parm);

            List <ArticleEntity> resultList = new List <ArticleEntity>();
            ArticleBLL           articleBLL = new ArticleBLL();

            int       categoryId = Constants.ChannelToCategory[type];
            string    top        = "20";
            DataTable dt         = null;

            if (categoryId == 1 || categoryId == 2) //根据类别获取对应文章,集团新闻-1;公司新闻-2;
            {
                ArticleCategoryBLL    articleCategoryBLL = new ArticleCategoryBLL();
                List <SqlDbParameter> categoryParam      = new List <SqlDbParameter>();
                parm                   = new SqlDbParameter();
                parm.ColumnName        = "Id";
                parm.ParameterName     = "Id";
                parm.ColumnType        = DbType.Int32;
                parm.QualificationType = SqlDbParameter.QualificationSymbol.Equal;
                parm.ParameterValue    = categoryId;
                categoryParam.Add(parm);
                categoryList = articleCategoryBLL.GetAllArticleCategory(categoryParam);  //集团新闻无子类别,目前就一条分类记录

                parm                   = new SqlDbParameter();
                parm.ColumnName        = "CategoryId";
                parm.ParameterName     = "CategoryId";
                parm.QualificationType = SqlDbParameter.QualificationSymbol.Equal;
                parm.ParameterValue    = categoryId;
                parms.Add(parm);
                dt = articleBLL.GetArticleDataTable(parms, "NoOfJournal", top);
            }
            else if (categoryId == 3) //业务动态
            {
                //int[] categoryArray = { 6, 7, 8, 9,12,13,14,15};  //外企服务公司-6;关爱通公司-7,培训部-8,工会联合会-9;人才顾问公司-12//TODO 增加文章类别,13:科创公司,14党委,15法律事务部
                //获取"业务动态"子类别,即根据PId获取类别记录
                ArticleCategoryBLL articleCategoryBLL = new ArticleCategoryBLL();
                categoryList = articleCategoryBLL.GetArticleCategoryEntitiesByPId(3, "[Order]");  //获取业务动态下的子类别,3表示业务动态

                List <SqlDbParameter> orParms = new List <SqlDbParameter>();
                for (int i = 0; i < categoryList.Count; i++)
                {
                    SqlDbParameter orParameter = new SqlDbParameter();
                    orParameter.ColumnName     = "CategoryId";
                    orParameter.ParameterName  = "CategoryId_" + i;
                    orParameter.ColumnType     = DbType.Int32;
                    orParameter.ParameterValue = categoryList[i].Id;
                    orParms.Add(orParameter);
                }
                parm = new SqlDbParameter();
                parm.QualificationType = SqlDbParameter.QualificationSymbol.Or;
                parm.SqlDbParameters   = orParms;
                parm.ParameterName     = "CategoryId";
                parm.ParameterValue    = 0; //必须设置
                parms.Add(parm);
                dt = articleBLL.GetArticleDataTable(parms, "NoOfJournal", top);
            }
            else if (categoryId == 4)//聚焦国企  逻辑和"业务动态"一样
            {
                //int[] categoryArray = {10, 11 };  //国资要闻-10; 改革前沿-11
                ArticleCategoryBLL articleCategoryBLL = new ArticleCategoryBLL();
                categoryList = articleCategoryBLL.GetArticleCategoryEntitiesByPId(4, "Id");  //聚焦国企有2个子类别

                List <SqlDbParameter> orParms = new List <SqlDbParameter>();
                for (int i = 0; i < categoryList.Count; i++)
                {
                    SqlDbParameter orParameter = new SqlDbParameter();
                    orParameter.ColumnName     = "CategoryId";
                    orParameter.ParameterName  = "CategoryId_" + i;
                    orParameter.ColumnType     = DbType.Int32;
                    orParameter.ParameterValue = categoryList[i].Id;
                    orParms.Add(orParameter);
                }
                parm = new SqlDbParameter();
                parm.QualificationType = SqlDbParameter.QualificationSymbol.Or;
                parm.SqlDbParameters   = orParms;
                parm.ParameterName     = "CategoryId";
                parm.ParameterValue    = 0;                                     //必须设置
                parms.Add(parm);
                dt = articleBLL.GetArticleDataTable(parms, "NoOfJournal", top); //文章类别信息中包含文章静态URL模板
            }
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                ArticleEntity article = new ArticleEntity();
                article.Id           = int.Parse(dt.Rows[i]["Id"].ToString());
                article.ArticleTitle = dt.Rows[i]["ArticleTitle"].ToString();
                article.CategoryId   = int.Parse(dt.Rows[i]["CategoryId"].ToString());
                article.NoOfCategory = short.Parse(dt.Rows[i]["NoOfCategory"].ToString());
                article.HrefTpl      = dt.Rows[i]["HrefTpl"].ToString();
                ArticleCategoryEntity categoryEntity = categoryList.First(t => t.Id == article.CategoryId);//拼接文章分类信息
                article.CategoryName = categoryEntity == null ? "未分类" : categoryEntity.CategoryName;
                //article.Href = string.Format(dt.Rows[i]["HrefTpl"].ToString(), dt.Rows[i]["NoOfCategory"].ToString().PadLeft(2, '0'));
                resultList.Add(article);
            }

            //静态持久化
            string viewPath = @"~/Views/Home/ListIndex.cshtml"; //其它频道文章列表页

            if (type == "yw" || type == "jiaojuguoqi")
            {
                viewPath = "~/Views/Home/ListIndexYW.cshtml";
            }
            if (Request.QueryString["static"] == "1")
            {
                string html      = CommentHelper.RenderViewToString(this.ControllerContext, viewPath, new ChannlModel(categoryList, resultList));
                string outputDir = HttpContext.Server.MapPath(ConfigurationManager.AppSettings["HtmlOutput"]) + "\\" + currentJournalEntity.JournalName + "\\";
                if (!Directory.Exists(outputDir))
                {
                    Directory.CreateDirectory(outputDir);
                }
                System.IO.File.WriteAllText(outputDir + base.currentURL, html);
            }
            if (type == "yw" || type == "jiaojuguoqi")
            {
                return(View(viewPath, new ChannlModel(categoryList, resultList)));
            }
            return(View(new ChannlModel(categoryList, resultList)));

            return(View(resultList));
        }
        public void DeleteArticleCategoryEntityById(ArticleCategoryEntity entity)
        {
            ArticleCategoryDAL dal = new ArticleCategoryDAL();

            dal.Delete(entity);
        }
        public void UpdateArticleCategoryEntity(ArticleCategoryEntity entity)
        {
            ArticleCategoryDAL dal = new ArticleCategoryDAL();

            dal.Update(entity);
        }
        public void AddArticleCategoryEntity(ArticleCategoryEntity entity)
        {
            ArticleCategoryDAL dal = new ArticleCategoryDAL();

            dal.Insert(entity);
        }