public async Task <ActionResult> AddMovieRoom([Bind("Movie,Room,Date")] [FromBody] MovieRoomDTO movieRoomDTO, [FromForm] IFormCollection formCollection) { if (movieRoomDTO == null) { return(BadRequest("Unsufficient data provided")); } MovieRoom movieRoom = mapper.Map <MovieRoom>(movieRoomDTO); Debug.Write("de room id " + movieRoom.Room.RoomID + " de film id" + movieRoom.Movie.MovieID + "de date " + movieRoom.Date); if (!ModelState.IsValid) { return(BadRequest(ModelState)); //400 } if (movieRoomRepo.MovieRoomExist(movieRoom)) { return(NotFound()); } try { logger.LogInformation($"Adding the movieroom {movieRoom.Movie} in room {movieRoom.Room}"); await movieRoomRepo.AddMovieroomWithMovieAndRoom(movieRoom); await movieRoomRepo.SaveAsync(); } catch (Exception exc) { logger.LogError($"Threw exception when adding the movieroom {movieRoom.Movie} in room {movieRoom.Room}: {exc}"); throw new Exception($"Creating the movieroom {movieRoom.Movie} in room {movieRoom.Room} did not succeed."); } movieRoomDTO = mapper.Map <MovieRoomDTO>(movieRoom); return(Created($"api/{movieRoomDTO.MovieRoomID}", movieRoomDTO)); }