예제 #1
0
        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));
        }
예제 #2
0
        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));
        }