Exemple #1
0
        public async Task <IActionResult> Post([FromBody] PostViewModel postModel)
        {
            if (ModelState.IsValid)
            {
                var currentUser = await _userManager.FindByIdAsync(_currentUserId);

                try
                {
                    var post = Mapper.Map <Post>(postModel);

                    //Save to the database
                    _logger.LogInformation("Attempting to save a new post");
                    _repo.AddOrUpdateBlogPost(post, currentUser);

                    Response.StatusCode = (int)HttpStatusCode.Created;
                    return(Json(Mapper.Map <PostViewModel>(post)));
                }
                catch (Exception ex)
                {
                    _logger.LogError("Failed to Save new post", ex);
                    Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    return(Json(new { Message = ex.Message }));
                }
            }

            Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Json(new { Message = "Failed to Save new post", ModelState = ModelState }));
        }