public JsonResult AddRequest([FromBody] BadgeRequestViewModel vm) { try { if (ModelState.IsValid) { // translate ViewModel to entity type var req = Mapper.Map <tb_request>(vm); _repository.SaveRequest(req); // valid request creation Response.StatusCode = (int)HttpStatusCode.Created; return(Json(Mapper.Map <BadgeRequestViewModel>(req))); } } catch (Exception ex) { Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(ResultError.CreateFromException("Error adding new request", HttpStatusCode.BadRequest, ex))); } Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(ResultError.CreateFromModelState(HttpStatusCode.BadRequest, ModelState))); }