public HttpResponseMessage Post([FromBody] CreateProductionBatchDto value) { if (!ModelState.IsValid) { throw new HttpResponseException(HttpStatusCode.BadRequest); } var dto = value.Map().To <CreateProductionBatchParameters>(); _userIdentityProvider.SetUserIdentity(dto); var createBatchResult = _productionService.CreateProductionBatch(dto); if (!createBatchResult.Success) { return(createBatchResult.ToHttpResponseMessage(HttpVerbs.Post)); } return(new HttpResponseMessage(HttpStatusCode.Created) { Content = new ObjectContent <ICreateProductionBatchReturn>(createBatchResult.ResultingObject, new JsonMediaTypeFormatter()) }); }