public ResultDto Post([FromBody] CreateUpdateArticleDto createArticle) { bool exist = _articleRepository.Select.Any(r => r.Title == createArticle.Title && r.CreateUserId == _currentUser.Id); if (exist) { throw new LinCmsException("您有一个同样标题的随笔"); } Article article = _mapper.Map <Article>(createArticle); article.Archive = DateTime.Now.ToString("yyy年MM月"); article.Author = _currentUser.UserName; article.Tags = new List <Tag>(); foreach (var articleTagId in createArticle.TagIds) { article.Tags.Add(new Tag() { Id = articleTagId, }); } _articleRepository.Insert(article); return(ResultDto.Success("新建随笔成功")); }
public async Task <Article> UpdateAsync(Guid id, CreateUpdateArticleDto updateArticleDto) { Article article = _articleRepository.Select.Where(r => r.Id == id).ToOne(); if (article.CreateUserId != _currentUser.Id) { throw new LinCmsException("您无权修改他人的随笔"); } if (article == null) { throw new LinCmsException("没有找到相关随笔"); } _mapper.Map(updateArticleDto, article); article.WordNumber = article.Content.Length; article.ReadingTime = article.Content.Length / 400; await _articleRepository.UpdateAsync(article); ArticleDraft articleDraft = _mapper.Map <ArticleDraft>(article); bool exist = await _articleDraftRepository.Select.AnyAsync(r => r.Id == article.Id); if (exist) { await _articleDraftRepository.UpdateAsync(articleDraft); } else { await _articleDraftRepository.InsertAsync(articleDraft); } return(article); }
public async Task <Guid> CreateAsync(CreateUpdateArticleDto createArticle) { Article article = _mapper.Map <Article>(createArticle); article.Archive = DateTime.Now.ToString("yyy年MM月"); article.WordNumber = createArticle.Content.Length; article.ReadingTime = createArticle.Content.Length / 800; article.Tags = new List <Tag>(); foreach (var articleTagId in createArticle.TagIds) { article.Tags.Add(new Tag() { Id = articleTagId, }); _tagService.UpdateArticleCount(articleTagId, 1); } ArticleDraft articleDraft = new ArticleDraft() { Content = createArticle.Content, Editor = createArticle.Editor, Title = createArticle.Title }; await _articleRepository.InsertAsync(article); articleDraft.Id = article.Id; await _articleDraftRepository.InsertAsync(articleDraft); await _classifyService.UpdateArticleCountAsync(createArticle.ClassifyId, 1); return(article.Id); }
public async Task <UnifyResponseDto> CreateAsync([FromBody] CreateUpdateArticleDto createArticle) { await _articleService.CreateAsync(createArticle); _capBus.Publish("NotificationController.Post", new CreateNotificationDto() { }); return(UnifyResponseDto.Success("新建随笔成功")); }
public async Task <Guid> CreateAsync([FromBody] CreateUpdateArticleDto createArticle) { Guid id = await _articleService.CreateAsync(createArticle); _capBus.Publish("NotificationController.Post", new CreateNotificationDto() { }); return(id); }
public ResultDto Post([FromBody] CreateUpdateArticleDto createArticle) { _articleService.CreateArticle(createArticle); _capBus.Publish("NotificationController.Post", new CreateNotificationDto() { }); return(ResultDto.Success("新建随笔成功")); }
public async Task <UnifyResponseDto> UpdateAsync(Guid id, [FromBody] CreateUpdateArticleDto updateArticleDto) { Article article = await _articleService.UpdateAsync(id, updateArticleDto); await _articleService.UpdateTagAsync(id, updateArticleDto); if (article.ClassifyId != updateArticleDto.ClassifyId) { await _classifyService.UpdateArticleCountAsync(article.ClassifyId, -1); await _classifyService.UpdateArticleCountAsync(updateArticleDto.ClassifyId, 1); } return(UnifyResponseDto.Success("更新随笔成功")); }
public async Task <UnifyResponseDto> UpdateAsync(Guid id, [FromBody] CreateUpdateArticleDto updateArticle) { Article article = _articleRepository.Select.Where(r => r.Id == id).ToOne(); if (article.CreateUserId != _currentUser.Id) { throw new LinCmsException("您无权修改他人的随笔"); } if (article == null) { throw new LinCmsException("没有找到相关随笔"); } _mapper.Map(updateArticle, article); await _articleService.UpdateAsync(updateArticle, article); return(UnifyResponseDto.Success("更新随笔成功")); }
public ResultDto Post([FromBody] CreateUpdateArticleDto createArticle) { bool exist = _articleRepository.Select.Any(r => r.Title == createArticle.Title && r.CreateUserId == _currentUser.Id); if (exist) { throw new LinCmsException("随笔标题不能重复"); } Article article = _mapper.Map <Article>(createArticle); article.Archive = DateTime.Now.ToString("yyy年MM月"); if (article.Author.IsNullOrEmpty()) { article.Author = _currentUser.UserName; } _articleRepository.Insert(article); return(ResultDto.Success("新建随笔成功")); }
public void CreateArticle(CreateUpdateArticleDto createArticle) { Article article = _mapper.Map <Article>(createArticle); article.Archive = DateTime.Now.ToString("yyy年MM月"); article.WordNumber = createArticle.Content.Length; article.ReadingTime = createArticle.Content.Length / 800; article.Tags = new List <Tag>(); foreach (var articleTagId in createArticle.TagIds) { article.Tags.Add(new Tag() { Id = articleTagId, }); tagService.UpdateArticleCount(articleTagId, 1); } _articleRepository.Insert(article); _classifyService.UpdateArticleCount(createArticle.ClassifyId, 1); }
public ResultDto Put(Guid id, [FromBody] CreateUpdateArticleDto updateArticle) { Article article = _articleRepository.Select.Where(r => r.Id == id).ToOne(); if (article.CreateUserId != _currentUser.Id) { throw new LinCmsException("您无权修改他人的随笔"); } if (article == null) { throw new LinCmsException("没有找到相关随笔"); } bool exist = _articleRepository.Select.Any(r => r.Title == updateArticle.Title && r.Id != id && r.CreateUserId == _currentUser.Id); if (exist) { throw new LinCmsException("您有一个同样标题的随笔"); } //使用AutoMapper方法简化类与类之间的转换过程 _mapper.Map(updateArticle, article); _articleRepository.Update(article); _tagArticleRepository.Delete(r => r.ArticleId == id); List <TagArticle> tagArticles = new List <TagArticle>(); updateArticle.TagIds.ForEach(r => tagArticles.Add(new TagArticle() { ArticleId = id, TagId = r })); _tagArticleRepository.Insert(tagArticles); return(ResultDto.Success("更新随笔成功")); }
public async Task UpdateTagAsync(Guid id, CreateUpdateArticleDto updateArticleDto) { List <Guid> tagIds = await _tagArticleRepository.Select.Where(r => r.ArticleId == id).ToListAsync(r => r.TagId); tagIds.ForEach(tagId => { _tagService.UpdateArticleCount(tagId, -1); }); _tagArticleRepository.Delete(r => r.ArticleId == id); List <TagArticle> tagArticles = new List <TagArticle>(); updateArticleDto.TagIds.ForEach(tagId => { tagArticles.Add(new TagArticle() { ArticleId = id, TagId = tagId }); _tagService.UpdateArticleCount(tagId, 1); }); await _tagArticleRepository.InsertAsync(tagArticles); }
public void UpdateArticle(CreateUpdateArticleDto updateArticleDto, Article article) { //使用AutoMapper方法简化类与类之间的转换过程 article.WordNumber = article.Content.Length; article.ReadingTime = article.Content.Length / 800; _articleRepository.Update(article); Article oldArticle = _articleRepository.Select.Where(r => r.Id == article.Id) .IncludeMany(r => r.Tags).ToOne(); oldArticle.Tags.ToList() .ForEach(u => { tagService.UpdateArticleCount(u.Id, -1); }); _tagArticleRepository.Delete(r => r.ArticleId == article.Id); List <TagArticle> tagArticles = new List <TagArticle>(); updateArticleDto.TagIds.ForEach(tagId => { tagArticles.Add(new TagArticle() { ArticleId = article.Id, TagId = tagId }); tagService.UpdateArticleCount(tagId, 1); }); _tagArticleRepository.Insert(tagArticles); if (article.ClassifyId != updateArticleDto.ClassifyId) { _classifyService.UpdateArticleCount(article.ClassifyId, -1); _classifyService.UpdateArticleCount(updateArticleDto.ClassifyId, 1); } }
public ResultDto Put(int id, [FromBody] CreateUpdateArticleDto updateArticle) { Article article = _articleRepository.Select.Where(r => r.Id == id).ToOne(); if (article == null) { throw new LinCmsException("没有找到相关随笔"); } bool exist = _articleRepository.Select.Any(r => r.Title == updateArticle.Title && r.Id != id && r.CreateUserId == _currentUser.Id); if (exist) { throw new LinCmsException("随笔已存在"); } //使用AutoMapper方法简化类与类之间的转换过程 _mapper.Map(updateArticle, article); _articleRepository.Update(article); return(ResultDto.Success("更新随笔成功")); }
public async Task UpdateAsync(CreateUpdateArticleDto updateArticleDto, Article article) { article.WordNumber = article.Content.Length; article.ReadingTime = article.Content.Length / 800; await _articleRepository.UpdateAsync(article); List <Guid> tagIds = await _tagArticleRepository.Select .Where(r => r.ArticleId == article.Id) .ToListAsync(r => r.TagId); tagIds.ForEach(tagId => { _tagService.UpdateArticleCount(tagId, -1); }); _tagArticleRepository.Delete(r => r.ArticleId == article.Id); List <TagArticle> tagArticles = new List <TagArticle>(); updateArticleDto.TagIds.ForEach(tagId => { tagArticles.Add(new TagArticle() { ArticleId = article.Id, TagId = tagId }); _tagService.UpdateArticleCount(tagId, 1); }); await _tagArticleRepository.InsertAsync(tagArticles); if (article.ClassifyId != updateArticleDto.ClassifyId) { _classifyService.UpdateArticleCount(article.ClassifyId, -1); _classifyService.UpdateArticleCount(updateArticleDto.ClassifyId, 1); } }
public async Task CreateAsync() { CreateUpdateArticleDto createArticle = new CreateUpdateArticleDto(); await _articleController.CreateAsync(createArticle); }
public async Task OnGetAsync() { var dto = await _service.GetAsync(Id); Article = ObjectMapper.Map <ArticleDto, CreateUpdateArticleDto>(dto); }
public void Post() { CreateUpdateArticleDto createArticle = new CreateUpdateArticleDto(); _articleController.Post(createArticle); }
public async Task <UnifyResponseDto> UpdateAsync([FromServices] IClassifyService _classifyService, Guid id, [FromBody] CreateUpdateArticleDto updateArticleDto) { await _articleService.UpdateAsync(id, updateArticleDto); await _articleService.UpdateTagAsync(id, updateArticleDto); return(UnifyResponseDto.Success("更新随笔成功")); }
public async Task <Guid> CreateAsync([FromBody] CreateUpdateArticleDto createArticle) { Guid id = await _articleService.CreateAsync(createArticle); return(id); }
public ResultDto Post([FromBody] CreateUpdateArticleDto createArticle) { _articleService.CreateArticle(createArticle); return(ResultDto.Success("新建随笔成功")); }