public HttpResponseMessage Post(TreatmentViewModel model) { if (ModelState.IsValid) { TreatmentViewModel treatment; try { treatment = _repository.Add(model); } catch (NullReferenceException) { throw new HttpResponseException(new HttpResponseMessage { StatusCode = HttpStatusCode.NotFound, Content = new StringContent("Can't add undefined object.") }); } var response = Request.CreateResponse <TreatmentViewModel>(HttpStatusCode.Created, treatment); string uri = Url.Link("DefaultApi", new { id = model.Id }); response.Headers.Location = new Uri(uri); return(response); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest)); } }