Exemple #1
0
        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));
        }