Esempio n. 1
0
        public async Task <AddMovieItemResponse> AddMovieItemAsync(int movieListId, AddMovieItemRequest request)
        {
            var movieList = await _context.MovieLists.FirstOrDefaultAsync(list => list.Id == movieListId);

            if (movieList.Movies.Any(item => item.TmdbId == request.TmdbId))
            {
                throw new MovieExistsException($"{request.Title} has already been added to this list.");
            }

            var movie = _mapper.Map <MovieItem>(request);

            movie.MovieListId = movieListId;

            movieList.Movies.Add(movie);

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

            var response = _mapper.Map <AddMovieItemResponse>(movie);

            response.Success = true;
            response.Message = $"Successfully added {response.Title} to the list.";

            return(response);
        }
        protected async Task HandleAddButtonClick()
        {
            if (SelectedListId > 0)
            {
                DisplayLoadingSpinner = true;

                var request = new AddMovieItemRequest
                {
                    TmdbId = Movie.Id,
                    Title  = Movie.Title
                };

                var response = await ListService.AddMovieToListAsync(SelectedListId, request);

                if (response.Success)
                {
                    DisplayLoadingSpinner = false;
                    ToastService.ShowSuccess(response.Message);
                }
                else
                {
                    DisplayLoadingSpinner = false;
                    ToastService.ShowError(response.Message);
                }
            }
        }
        public async Task <ActionResult <AddMovieItemResponse> > AddMovieItem(int movieListId, AddMovieItemRequest request)
        {
            var response = new AddMovieItemResponse();

            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.AddMovieItemAsync(movieListId, request);

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

                return(BadRequest(response));
            }
        }
Esempio n. 4
0
        public async Task <AddMovieItemResponse> AddMovieToListAsync(int movieListId, AddMovieItemRequest request)
        {
            var httpResponse = await _httpClient.PostAsJsonAsync($"lists/{movieListId}/add", request);

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

            return(response);
        }