public async Task <IActionResult> PostAsync([FromBody] SaveArticleResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var authorResult = await userService.GetAsync(resource.AuthorName); if (!authorResult.Success) { return(BadRequest(authorResult.Message)); } var author = mapper.Map <User, AuthorResource>(authorResult.User); var article = mapper.Map <AuthorResource, Article>(author); mapper.Map(resource, article); var result = await articleService.SaveAsync(article); if (!result.Success) { return(BadRequest(result.Message)); } var articleContentResource = mapper.Map <Article, ArticleContentResource>(result.Article); return(Ok(articleContentResource)); }
// [Authorize] public async Task <IActionResult> UpdateArticle(int id, [FromBody] SaveArticleResource articleResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var article = await repository.GetArticle(id); if (article == null) { return(NotFound()); } mapper.Map <SaveArticleResource, Article>(articleResource, article); article.LastUpdate = DateTime.Now; // context.Articles.Add(article); await unitOfWork.CompleteAsync(); var result = mapper.Map <Article, ArticleResource>(article); return(Ok(result)); }
// [Authorize] public async Task <IActionResult> CreateArticle([FromBody] SaveArticleResource articleResource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var article = mapper.Map <SaveArticleResource, Article>(articleResource); article.LastUpdate = DateTime.Now; repository.Add(article); await unitOfWork.CompleteAsync(); article = await repository.GetArticle(article.Id); var result = mapper.Map <Article, ArticleResource>(article); return(Ok(result)); }