public async Task <ActionResult <BlogResource> > UpdateBlog(int id, [FromBody] SaveBlogResource saveBlogResource) { var validator = new SaveBlogResourceValidator(); var validationResult = await validator.ValidateAsync(saveBlogResource); var requestIsInvalid = id == 0 || !validationResult.IsValid; if (requestIsInvalid) { return(BadRequest(validationResult.Errors)); } var blogToBeUpdate = await _blogService.GetBlogById(id); if (blogToBeUpdate == null) { return(NotFound()); } var blog = _mapper.Map <SaveBlogResource, Blog>(saveBlogResource); await _blogService.UpdateBlog(blogToBeUpdate, blog); var updatedblog = await _blogService.GetBlogById(id); var updatedBlogResource = _mapper.Map <Blog, BlogResource>(updatedblog); return(Ok(updatedBlogResource)); }
public async Task <ActionResult <BlogResource> > CreateBlog([FromBody] SaveBlogResource saveBlogResource) { var validator = new SaveBlogResourceValidator(); var validationResult = await validator.ValidateAsync(saveBlogResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var blogToCreate = _mapper.Map <SaveBlogResource, Blog>(saveBlogResource); var newBlog = await _blogService.CreateBlog(blogToCreate); var blog = await _blogService.GetBlogById(newBlog.Id); var blogResource = _mapper.Map <Blog, BlogResource>(blog); return(Ok(blogResource)); }