public async Task <IActionResult> Update(int id, [FromBody] MovieCreateUpdateRequest request) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var updatedMovie = await _moviesService.Update(id, request); return(new ObjectResult(updatedMovie)); } catch (InvalidOperationException) { return(NotFound(new { message = "Movie with specified id is not found" })); } }
public async Task <MovieResponse> Update(int id, MovieCreateUpdateRequest request) { return(await _moviesRepository.Update(id, request)); }
public async Task <MovieResponse> Create(MovieCreateUpdateRequest request) { return(await _moviesRepository.Create(request)); }
public async Task <MovieResponse> Create(MovieCreateUpdateRequest request) { var movie = new Movie { Title = request.Title, ReleaseDate = request.ReleaseDate, GenreId = request.GenreId }; await _dbContext .Movies .AddAsync(movie); await _dbContext .SaveChangesAsync(); if (request.Actors != null) { foreach (var actor in request.Actors) { var actorToCreate = new Actor { FirstName = actor.FirstName, LastName = actor.LastName }; await _dbContext .Actors .AddAsync(actorToCreate); await _dbContext .ActorMovies .AddAsync(new ActorMovie { ActorId = actorToCreate.Id, MovieId = movie.Id }); } await _dbContext .SaveChangesAsync(); } var genre = await _dbContext .Genres .SingleOrDefaultAsync(x => x.Id == request.GenreId); return(new MovieResponse { Id = movie.Id, Title = request.Title, ReleaseDate = request.ReleaseDate, GenreId = genre.Id, GenreName = genre.Name, Actors = (from ma in _dbContext.ActorMovies from a in _dbContext.Actors where ma.ActorId == a.Id && ma.MovieId == movie.Id select new ActorResponse { Id = a.Id, FirstName = a.FirstName, LastName = a.LastName }).ToList() }); }