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()); }
public async Task UpdateArticleAsync(ArticleInfoModel article, ArticleContentModel articleContent) { if (article == null || article.Id == null) { throw new NullReferenceException(); } await _articleDao.UpdateArticleAsync(article, articleContent); }
public async Task <IActionResult> AddArticle(ArticleModel article) { ArticleInfoModel articleInfo = article.ToArticleInfoModel(); ArticleContentModel articleContent = article.ToArticleContentModel(); await _articleService.AddArticleAsync(articleInfo, articleContent); return(Ok()); }
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(); }
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); }
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 }); }
/// <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); }
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); }); }
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(); } } }
public async Task <IActionResult> GetArticle(string id) { ArticleInfoModel articleInfo = await _articleService.GetArticleByIdAsync(id); return(Ok(articleInfo)); }