public IHttpActionResult Put([FromBody] EventToolDto eventReservation, int eventId) { if (ModelState.IsValid) { return(Authorized(token => { try { if (eventId == 0) { throw new ApplicationException("Invalid Event Id"); } _eventService.UpdateEventReservation(eventReservation, eventId, token); return Ok(); } catch (Exception e) { var msg = "EventToolController: PUT " + eventReservation.Title; logger.Error(msg, e); var apiError = new ApiErrorDto(msg, e); throw new HttpResponseException(apiError.HttpResponseMessage); } })); } var errors = ModelState.Values.SelectMany(val => val.Errors).Aggregate("", (current, err) => current + err.Exception.Message); var dataError = new ApiErrorDto("Event Data Invalid", new InvalidOperationException("Invalid Event Data" + errors)); throw new HttpResponseException(dataError.HttpResponseMessage); }