public IHttpActionResult Post([FromBody] ReservationViewModel viewModel) { if (viewModel == null) { throw new ArgumentNullException("viewModel"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } //creates a new request for a reservation var request = viewModel.ToReservationRequest(User.Identity.GetUserId()); //saves this reservation to the database var result = _reservationAppService.AddNewReservation(request); if (result.Status != ActionResultCode.Success) { var errorResult = GetErrorResult(result); return(errorResult ?? BadRequest(ModelState)); } return(Ok(result)); }