public IActionResult Post([FromBody] TimelineEventViewModel timelineEvent) { if (ModelState.IsValid) { try { var newEvent = Mapper.Map <TimelineEvent>(timelineEvent); //Save to the database _logger.LogInformation("Attempting to save a new event"); _repo.AddOrUpdateTimelineEvent(newEvent); Response.StatusCode = (int)HttpStatusCode.Created; return(Json(Mapper.Map <TimelineEventViewModel>(newEvent))); } catch (Exception ex) { _logger.LogError("Failed to Save new event", 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 event", ModelState = ModelState })); }