Exemple #1
0
        public async Task <IEnumerable <MovieListItemDto> > Action(GetMoviesFromSuggestedTitleRequest request)
        {
            var wasSearched = await config.WasAlreadySearched(request.SuggestedTitle);

            IEnumerable <MovieListItemDto> moviesFromSuggestedTitle;

            if (!wasSearched)
            {
                moviesFromSuggestedTitle = await apiAccess.GetMoviesFromSuggestedTitle(request.SuggestedTitle);

                await dbAccess.UpdateSuggestedTitleMovies(moviesFromSuggestedTitle);

                await config.AddSearchedTitleAsync(request.SuggestedTitle);
            }
            else
            {
                moviesFromSuggestedTitle = await dbAccess.GetMoviesFromSuggestedTitle(request.SuggestedTitle);
            }

            if (moviesFromSuggestedTitle == null || moviesFromSuggestedTitle.Count() == 0)
            {
                AddError($"No movies found.");
            }

            return(HasErrors ? null : moviesFromSuggestedTitle);
        }