public async Task <Result <_Blog> > AddBlogAsync(_Blog blog) { var result = new Result <_Blog>(); try { var newBlog = autoMapper.Map <Blog>(blog); blogRepo.Insert(newBlog); blog = autoMapper.Map <_Blog>(newBlog); result.IsExecutionSucceed = true; result.Entity = blog; result.StatusCode = System.Net.HttpStatusCode.Created; } catch (Exception ex) { result.IsExecutionSucceed = false; result.Expection = ex; result.StatusCode = System.Net.HttpStatusCode.InternalServerError; result.Message = "There is an error while adding new blog, please try again later."; } return(await Task.FromResult <Result <_Blog> >(result)); }
public async Task <IActionResult> Post([FromBody] _Blog blog) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await blogService.AddBlogAsync(blog); if (!result.IsExecutionSucceed) { return(StatusCode((int)result.StatusCode.Value, result.Message)); } return(Created($"/api/blogs/{result.Entity.BlogId}", result.Entity)); }