Ejemplo n.º 1
0
        public async Task <ArticleInfoModel> GetAcById(int id)
        {
            if (id != 0)
            {
                var arc = await _db.Articles.SingleOrDefaultAsync(s => s.id == id && s.isShow == 1);

                if (arc == null)
                {
                    return(new ArticleInfoModel());
                }
                var result = new ArticleInfoModel()
                {
                    id         = arc.id,
                    author     = arc.author,
                    createTime = arc.createTime,
                    imgurl     = arc.imgurl,
                    isShow     = arc.isShow,
                    source     = arc.source,
                    title      = arc.title
                };
                result.ArticleConTents = await _db.ArticleConTents.Where(s => s.ArticleId == id && s.Subheadingid == null).ToListAsync();

                return(result);
            }

            return(new ArticleInfoModel());
        }
Ejemplo n.º 2
0
 public async Task UpdateArticleAsync(ArticleInfoModel article, ArticleContentModel articleContent)
 {
     if (article == null || article.Id == null)
     {
         throw new NullReferenceException();
     }
     await _articleDao.UpdateArticleAsync(article, articleContent);
 }
Ejemplo n.º 3
0
        public async Task <IActionResult> AddArticle(ArticleModel article)
        {
            ArticleInfoModel    articleInfo    = article.ToArticleInfoModel();
            ArticleContentModel articleContent = article.ToArticleContentModel();
            await _articleService.AddArticleAsync(articleInfo, articleContent);

            return(Ok());
        }
Ejemplo n.º 4
0
        public async Task UpdateArticleAsync(ArticleInfoModel article, ArticleContentModel articleContentModel)
        {
            if (article == null || articleContentModel == null)
            {
                throw new ArgumentNullException();
            }
            var ae = ModelEntityHelper.ArticleM2E(article);

            _dBContext.Articles.Update(ae);
            await _dBContext.SaveChangesAsync();
        }
Ejemplo n.º 5
0
 public async Task AddArticleAsync(ArticleInfoModel article, ArticleContentModel articleContent)
 {
     if (article == null || articleContent == null || article.Id == null || articleContent.Id == null)
     {
         throw new NullReferenceException();
     }
     if (article.Id != articleContent.Id)
     {
         throw new ApplicationException();
     }
     await _articleDao.AddArticleAsync(article, articleContent);
 }
Ejemplo n.º 6
0
 public static ArticleEntity ArticleM2E(ArticleInfoModel articleInfoModel)
 {
     if (articleInfoModel == null)
     {
         throw new NullReferenceException();
     }
     return(new ArticleEntity
     {
         Id = (articleInfoModel.Id != null) ? int.Parse(articleInfoModel.Id) : 0,
         Title = articleInfoModel.Title,
         Describe = articleInfoModel.Describe,
         Read = articleInfoModel.Read,
         Like = articleInfoModel.Like,
         Comment = articleInfoModel.Comment,
         Date = articleInfoModel.Date
     });
 }
Ejemplo n.º 7
0
        /// <summary>
        /// 根据文章id获取文章的段落
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <ArticleInfoModel> GetAcByAcid(int id)
        {
            //判断传入的数据是否有错
            if (id == 0)
            {
                return(new ArticleInfoModel());
            }

            var ac = await _db.Articles.Include(s => s.WZZModel).SingleOrDefaultAsync(s => s.id == id && s.isShow == 1);

            if (ac == null)
            {
                return(new ArticleInfoModel());
            }
            //得到小节标题内容
            var achead = _db.Subheadings
                         .Include(w => w.ArticleConTents)
                         .ThenInclude(img => img.ArticleImage)
                         .Where(s => s.Articleid == id);

            //找到没有小节标题的所有内容
            var nullheadAc = _db.ArticleConTents
                             .Include(img => img.ArticleImage)
                             .Where(a => a.ArticleId == id && a.Subheadingid == null);

            ArticleInfoModel result = new ArticleInfoModel()
            {
                id         = ac.id,
                author     = ac.author,
                createTime = ac.createTime,
                imgurl     = ac.imgurl,
                source     = ac.source,
                title      = ac.title,
                updateTime = ac.updateTime,
                WZZModel   = ac.WZZModel
            };

            result.ArticleConTents = await nullheadAc.ToListAsync();

            result.Subheadings = await achead.ToListAsync();

            return(result);
        }
Ejemplo n.º 8
0
        public async void GetArticleByIdTest()
        {
            _mock.Setup(a => a.GetArticleInfoAsync(It.IsIn("232"))).Returns(Task.FromResult(_infoList[0]));
            _mock.Setup(a => a.GetArticleInfoAsync(It.IsIn("333"))).Returns(Task.FromResult(_infoList[1]));
            _mock.Setup(a => a.GetArticleInfoAsync(It.IsIn("133"))).Returns(Task.FromResult(_infoList[2]));
            ArticleService   articleService = new ArticleService(_mock.Object);
            ArticleInfoModel result         = await articleService.GetArticleByIdAsync("232");

            Assert.Equal(_infoList[0], result);

            result = await articleService.GetArticleByIdAsync("333");

            Assert.Equal(_infoList[1], result);

            result = await articleService.GetArticleByIdAsync("133");

            Assert.Equal(_infoList[2], result);

            await Assert.ThrowsAsync <NullReferenceException>(async() => { await articleService.GetArticleByIdAsync(null); });
        }
Ejemplo n.º 9
0
        public async Task AddArticleAsync(ArticleInfoModel article, ArticleContentModel articleContentModel)
        {
            if (article == null || articleContentModel == null)
            {
                throw new ArgumentNullException();
            }
            using (var trans = _dBContext.Database.BeginTransaction())
            {
                try
                {
                    string category       = article.Category;
                    var    categoryEntity = await _dBContext.Categories.Where(c => c.CategoryName == category).SingleOrDefaultAsync();

                    if (categoryEntity == null)
                    {
                        categoryEntity = new CategoryEntity
                        {
                            CategoryName = category
                        };
                    }
                    var entity  = ModelEntityHelper.ArticleM2E(article);
                    var content = ModelEntityHelper.ContentM2E(articleContentModel);
                    entity.ArticleContent = content;
                    entity.Category       = categoryEntity;

                    await _dBContext.Articles.AddAsync(entity);

                    await _dBContext.SaveChangesAsync();

                    trans.Commit();
                }
                catch
                {
                    trans.Rollback();
                }
            }
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> GetArticle(string id)
        {
            ArticleInfoModel articleInfo = await _articleService.GetArticleByIdAsync(id);

            return(Ok(articleInfo));
        }