public async Task <ActionResult> DeleteMovieItem(int movieListId, DeleteMovieItemRequest request)
        {
            var response = new DeleteMovieItemResponse();

            var movieList = await _movieListService.GetMovieListAsync(movieListId);

            if (movieList is null)
            {
                return(NotFound(new { Message = "The list you are requesting does not exist." }));
            }

            try
            {
                response = await _movieListService.DeleteMovieItemAsync(movieListId, request);

                return(Ok(response));
            }
            catch (Exception e)
            {
                response.Success = false;
                response.Message = e.Message;

                return(BadRequest(response));
            }
        }
Exemplo n.º 2
0
        public async Task <DeleteMovieItemResponse> DeleteMovieItemAsync(int movieListId, DeleteMovieItemRequest request)
        {
            var movieList = await _context.MovieLists.FirstOrDefaultAsync(list => list.Id == movieListId);

            var movieToRemove = movieList.Movies.FirstOrDefault(item => item.TmdbId == request.TmdbId);

            if (movieToRemove is null)
            {
                throw new MovieExistsException($"The movie with ID: {request.TmdbId} does not exist in this list.");
            }

            movieList.Movies.Remove(movieToRemove);

            _context.MovieLists.Update(movieList);
            _context.SaveChanges();

            var response = new DeleteMovieItemResponse();

            response.Success = true;
            response.Message = $"Successfully removed {movieToRemove.Title} from the list.";

            return(response);
        }
Exemplo n.º 3
0
        public async Task <DeleteMovieItemResponse> DeleteMovieFromListAsync(int movieListId, DeleteMovieItemRequest request)
        {
            var httpResponse = await _httpClient.PostAsJsonAsync($"lists/{movieListId}/remove", request);

            var response = await httpResponse.Content.ReadFromJsonAsync <DeleteMovieItemResponse>();

            return(response);
        }