public JsonResult Post([FromBody] BerthViewModel vm) { try { if (ModelState.IsValid) { var newBerth = vm.ToEntity(); _logger.LogInformation("Attempting to save a new Berth"); _repository.Add(newBerth); _unitOfWork.Commit(); Response.StatusCode = (int)HttpStatusCode.Created; return(Json(BerthViewModel.FromEntity(newBerth))); } } catch (Exception ex) { _logger.LogError($"Failed to save Berth", ex); Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json("Failed to save Berth")); } Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { Message = "Failed", ModelState = ModelState })); }