Esempio n. 1
0
        /// <summary>
        /// e.g.: https://api.themoviedb.org/3/search/movie?api_key=bf3af3188d1b9a4a4e7bcf1a02ef3f58&query=war%20games
        /// </summary>
        public MovieSearchItem[] Search(string title, int page)
        {
            string      firstBody   = client.DownloadString("https://api.themoviedb.org/3/search/movie?api_key=bf3af3188d1b9a4a4e7bcf1a02ef3f58&query=" + title);
            MovieSearch movieSearch = (MovieSearch)JsonConvert.DeserializeObject(firstBody, typeof(MovieSearch));

            return(movieSearch.results);
        }
        private void GetSearchResults(MovieIndexViewModel indexViewModel)
        {
            indexViewModel.searchMovieModel = new List <MovieSearch>();

            TMDbClient client = new TMDbClient(ConfigurationManager.AppSettings["TMDbKey"]);
            SearchContainer <SearchMovie> movieApiResults = client.SearchMovieAsync(indexViewModel.searchModel.Title).Result;

            if (movieApiResults.TotalResults >= 1)
            {
                foreach (var movie in movieApiResults.Results)
                {
                    MovieSearch localMovie = new MovieSearch
                    {
                        Id          = movie.Id,
                        Title       = movie.Title,
                        ReleaseDate = movie.ReleaseDate,
                        ImageUrl    = "http://image.tmdb.org/t/p/w185/" + movie.PosterPath
                    };

                    indexViewModel.searchMovieModel.Add(localMovie);
                }
            }
            else
            {
                MovieSearch noResultsMovie = new MovieSearch
                {
                    Id          = 0,
                    Title       = "No Title",
                    ReleaseDate = DateTime.Now,
                    ImageUrl    = "http://image.tmdb.org/t/p/w185/"
                };

                indexViewModel.searchMovieModel.Add(noResultsMovie);
            }
        }
        public IActionResult Result(string Title)
        {
            TempData["Title"] = Title;
            MovieSearch MyMovies = MoviesDAL.SearchMoviesAPI(Title);

            return(View(MyMovies.Title));
        }
Esempio n. 4
0
        public async Task <ActionResult <MovieSearch> > Get(string s, string plot, int?year)
        {
            MovieSearch movies = null;

            try
            {
                logger.LogTrace("query requested: s = {s}  plot = {plot} year = {year} ");

                movies = await movieService.GetMoviesListAsync(search : s, plot : plot, year : year);
            }
            catch (Exception ex)
            {
                logger.LogError("A Error has ocurred: " + ex.ToString());

                movies       = new MovieSearch();
                movies.Error = "Internal Server Error";
                return(StatusCode(StatusCodes.Status404NotFound, movies));
            }

            if (movies != null)
            {
                logger.LogWarning($"Invalid query search: s = {s}  plot = {plot} year = {year} ");
                return(movies);
            }

            return(StatusCode(StatusCodes.Status404NotFound, "Not Found"));
        }
Esempio n. 5
0
        /// <summary>
        /// e.g.: https://api.themoviedb.org/3/search/movie?api_key=d109c79ba0d619a3a74f33532eb3aa06&query=war%20games
        /// </summary>
        public MovieSearchItem[] Search(string title, int page)
        {
            String      request  = "https://api.themoviedb.org/3/search/movie?query=" + title.Replace(" ", "+") + "&include_adult=false&page=" + page + "&api_key=" + API_KEY;
            String      response = client.DownloadString(request);
            MovieSearch results  = JsonConvert.DeserializeObject <MovieSearch>(response);

            return(results.Results);
        }
        public void MovieSearch_PreviousPageFromFirstPage()
        {
            MovieRequest  request  = new MovieRequest(apiKey, validQuery);
            MovieSearch   search   = new MovieSearch(request);
            MovieResponse response = search.PreviousPage();

            Assert.AreEqual(1, response.page);
        }
        public void MovieSearch_NextPage()
        {
            MovieRequest  request  = new MovieRequest(apiKey, validQuery);
            MovieSearch   search   = new MovieSearch(request);
            MovieResponse response = search.NextPage();

            Assert.AreEqual(2, response.page);
        }
Esempio n. 8
0
        public App()
        {
            var movieSearch = new MovieSearch();

            var app = new AppView();

            app.DataContext = new AppViewModel(movieSearch);
            app.ShowDialog();
        }
        public void MovieSearch_NextPageFromLastPage()
        {
            MovieRequest request        = new MovieRequest(apiKey, validQuery);
            MovieSearch  lastPageSearch = GetLastPageSearch(request);

            MovieResponse nextOnLastResponse = lastPageSearch.NextPage();

            Assert.AreEqual(nextOnLastResponse.total_pages, nextOnLastResponse.page);
        }
        private MovieSearch GetLastPageSearch(MovieRequest request)
        {
            MovieSearch   currentSearch   = new MovieSearch(request);
            MovieResponse currentResponse = currentSearch.CurrentPage();

            request.Page = currentResponse.total_pages;

            return(new MovieSearch(request));
        }
Esempio n. 11
0
        public PageResponse <MovieDto> Execute(MovieSearch search)
        {
            var query = _context.Movies.AsQueryable();

            //admin panel
            if (!string.IsNullOrWhiteSpace(search.Time) || !string.IsNullOrWhiteSpace(search.Date))
            {
                var splitDate = search.Date.Split('-');

                var searchDate = new DateTime(int.Parse(splitDate[0]), int.Parse(splitDate[1]), int.Parse(splitDate[2]), int.Parse(search.Time), 0, 0);

                query = query.Where(m => m.Screenings.Where(s => s.ScreeningTime == searchDate).Any());
            }


            if (!string.IsNullOrEmpty(search.Title) || !string.IsNullOrWhiteSpace(search.Title))
            {
                query = query.Where(x => x.Title.ToLower().Contains(search.Title.ToLower()));
            }

            if (!string.IsNullOrEmpty(search.Description) || !string.IsNullOrWhiteSpace(search.Description))
            {
                query = query.Where(x => x.Description.ToLower().Contains(search.Description.ToLower()));
            }

            var skipCount = search.ItemsPerPage * (search.CurrentPage - 1);

            var response = new PageResponse <MovieDto>
            {
                TotalCount   = query.Count(),
                ItemsPerPage = search.ItemsPerPage,
                CurrentPage  = search.CurrentPage,
                Items        = query.Skip(skipCount).Take(search.ItemsPerPage).Select(x => new MovieDto
                {
                    Id          = x.Id,
                    Title       = x.Title,
                    Description = x.Description,
                    Duration    = x.Duration,
                    Image       = x.Image,
                    Screening   = x.Screenings.Select(s => new ScreeningDto
                    {
                        Id             = s.Id,
                        ScreeningTime  = s.ScreeningTime,
                        MovieName      = x.Title,
                        Description    = x.Description,
                        Duration       = x.Duration,
                        Image          = x.Image,
                        MovieId        = s.MovieId,
                        AuditoriumName = s.Auditorium.Name,
                        AuditoriumId   = s.Auditorium.Id
                    }).ToList()
                }).ToList()
            };

            return(response);
        }
Esempio n. 12
0
        /// <summary>
        /// e.g.: https://api.themoviedb.org/3/search/movie?api_key=*****&query=war%20games
        /// </summary>
        public MovieSearchItem[] Search(string title, int page)
        {
            WebClient client = new WebClient();

            title.Replace(" ", "%20");
            string      body   = client.DownloadString(uri + "/search/movie" + key + "&query=" + title + "&page=" + page);
            MovieSearch result = (MovieSearch)JsonConvert.DeserializeObject(body, typeof(MovieSearch));

            return(result.Results);
        }
        /// <summary>
        /// e.g.: https://api.themoviedb.org/3/search/movie?api_key=8d3a500e709b7e1ff4c80b09bda127c4&query=war%20games
        /// </summary>
        public MovieSearchItem[] Search(string title, int page)
        {
            title = title.Trim().Replace(" ", "+");
            string      uri       = String.Format("https://api.themoviedb.org/3/search/movie?api_key={0}&query={1}", key, title);
            string      body      = client.DownloadString(uri);
            MovieSearch movielist = (MovieSearch)JsonConvert.DeserializeObject(body, typeof(MovieSearch));

            MovieSearchItem[] movieSearch = movielist.results;
            return(movieSearch);
        }
Esempio n. 14
0
 public IActionResult Get(
     [FromQuery] MovieSearch search,
     [FromServices] IGetMovieQuery query)
 {
     return(Ok(new
     {
         Actor = _actor,
         Executor = _executor.ExecuteQuery(query, search)
     }));
 }
Esempio n. 15
0
        public IEnumerable <MovieDto> Execute(MovieSearch request)
        {
            var query = Context.Movies.AsQueryable();

            query = query.Where(p => !p.IsDeleted);
            if (request.Title != null)
            {
                query = query.Where(p => p.Title.ToLower().Contains(request.Title.ToLower()));
            }
            if (request.MaxRunTime.HasValue)
            {
                query = query.Where(p => p.Runtime <= request.MaxRunTime);
            }
            if (request.MinRuntime.HasValue)
            {
                query = query.Where(p => p.Runtime >= request.MinRuntime);
            }
            if (request.MinImdbRating.HasValue)
            {
                query = query.Where(p => p.ImdbRating >= request.MinImdbRating);
            }
            if (request.MaxImdbRating.HasValue)
            {
                query = query.Where(p => p.ImdbRating <= request.MaxImdbRating);
            }
            var TotalRecords = query.Count();

            if (request.page.HasValue && request.PageSize.HasValue)
            {
                query = query.Skip((request.page ?? 0 - 1) * request.PageSize ?? 0).Take(request.PageSize ?? 0);
            }
            return(query.Select(p => new MovieDto
            {
                Id = p.Id,
                Title = p.Title,
                Plot = p.Plot,
                Released = p.Released,
                Runtime = p.Runtime,
                CreatedAt = p.CreatedAt,
                ImdbRating = p.ImdbRating,
                Comments = p.Comments.Select(c => new CommentDto
                {
                    Text = c.Text,
                    User = c.User.Email,
                    CreatedAt = c.CreatedAt
                }).ToList(),
                Genres = p.MovieGenres.Select(g => new GenreDto
                {
                    Name = g.Genre.Name,
                    Id = g.Genre.Id,
                    CreatedAt = g.Genre.CreatedAt
                }).ToList(),
                TotalRecords = TotalRecords
            }));
        }
Esempio n. 16
0
 public IActionResult Get([FromQuery] MovieSearch search)
 {
     try
     {
         var movies = getMovies.Execute(search);
         return(Ok(movies));
     }catch (Exception e)
     {
         return(StatusCode(500, e.Message));
     }
 }
        public void MovieSearch_PreviousPage()
        {
            MovieRequest request = new MovieRequest(apiKey, validQuery);
            MovieSearch  search  = new MovieSearch(request);

            search.NextPage();                              //page 2
            search.NextPage();                              //page 3
            MovieResponse response = search.PreviousPage(); //page 2

            Assert.AreEqual(2, response.page);
        }
Esempio n. 18
0
    /// <summary>
    /// Listener, set the required sprite and sends the obtained data do the presenter
    /// </summary>
    /// <param name="uri"></param>
    /// <param name="poster"></param>
    private void PresentSearchElement(string uri, Sprite poster)
    {
        MovieSearch searchElement = currentSearch.Find(search => search.PosterURI == uri);

        if (searchElement != null)
        {
            MovieSearchOutputData outputData = new MovieSearchOutputData(searchElement.Id,
                                                                         searchElement.Title, poster);
            presenter.PresentMovieSearch(outputData);
        }
    }
        private void AddCinemaClick(object data = null)
        {
            MovieSearchViewModel movieSearchViewModel = new MovieSearchViewModel(isGuestEntered: false);

            MovieSearch movieSearch = new MovieSearch()
            {
                DataContext = movieSearchViewModel
            };


            ViewController.SecondView.Content = movieSearch;
        }
Esempio n. 20
0
 public IActionResult Get([FromQuery] MovieSearch obj)
 {
     try
     {
         var movies = _getMovie.Execute(obj);
         return(Ok(movies));
     }
     catch
     {
         return(StatusCode(500));
     }
 }
        public void MovieSearch_LoopUntilLastPageWithNextPage()
        {
            MovieRequest  request  = new MovieRequest(apiKey, validQuery);
            MovieSearch   search   = new MovieSearch(request);
            MovieResponse response = search.CurrentPage();

            for (int page = 2; page <= response.total_pages; page++)
            {
                MovieResponse pageResponse = search.NextPage();

                Assert.AreEqual(page, pageResponse.page);
            }
        }
        public void MovieSearch_LoopFromLastPageWithPrevious()
        {
            MovieRequest  request  = new MovieRequest(apiKey, validQuery);
            MovieSearch   search   = GetLastPageSearch(request);
            MovieResponse response = search.CurrentPage();

            for (int page = response.total_pages - 1; page > 0; page--)
            {
                MovieResponse previousPage = search.PreviousPage();

                Assert.AreEqual(page, previousPage.page);
            }
        }
Esempio n. 23
0
        public bool FilterMovieListBySearchOptions(MovieSearch movieSearchOptions, out string error, bool raiseEvent = true)
        {
            m_Model.SetApplicationState(ApplicationStateEnum.FileOperation);
            var movieList = ApiManager.FilterMovieListBySearchOptions(m_Model.GetMovieList(), movieSearchOptions, out error);

            if (movieList == null)
            {
                m_Model.SetApplicationState(ApplicationStateEnum.Ready);
                logger.Debug(error);
                return(false);
            }
            m_Model.SetMovieList(movieList, raiseEvent);
            m_Model.SetApplicationState(ApplicationStateEnum.Ready);
            return(true);
        }
        private void HomeClick(object data = null)
        {
            HomeButtonColor    = Brushes.Green;
            TheaterButtonColor = Brushes.White;

            MovieSearchViewModel movieSearchViewModel = new MovieSearchViewModel(isGuestEntered: true);

            (movieSearchViewModel.ViewModel as MovieTemplateViewModel).LikedMoviesImdbIdsForOneGuest = this.LikedMoviesImdbIdsForOneGuest;

            MovieSearch movieSearch = new MovieSearch
            {
                DataContext = movieSearchViewModel
            };

            ViewController.SecondView.Content = movieSearch;
        }
        public void MovieSearch_LoopFromLastPage()
        {
            MovieRequest  request  = new MovieRequest(apiKey, validQuery);
            MovieSearch   search   = new MovieSearch(request);
            MovieResponse response = search.CurrentPage();

            for (int page = response.total_pages; page > 0; page--)
            {
                request.Page = page;

                MovieSearch   pageSearch   = new MovieSearch(request);
                MovieResponse pageResponse = pageSearch.CurrentPage();

                Assert.AreEqual(page, pageResponse.page);
            }
        }
Esempio n. 26
0
        public PagedResponse <MovieDtoShow> Execute(MovieSearch search)
        {
            var query = context.Movies

                        .Include(m => m.GenresLinks)
                        .AsQueryable();

            if (!string.IsNullOrEmpty(search.Title) || !string.IsNullOrWhiteSpace(search.Title))
            {
                query = query.Where(x => x.Title.ToLower().Contains(search.Title.ToLower()));
            }

            var skipCount = search.PerPage * (search.Page - 1);

            var skiped = query.Skip(skipCount).Take(search.PerPage);

            //Page == 1
            var reponse = new PagedResponse <MovieDtoShow>
            {
                CurrentPage  = search.Page,
                ItemsPerPage = search.PerPage,
                TotalCount   = query.Count(),
                //Items = mapper.Map<IEnumerable<MovieDtoShow>>(skiped)

                Items = query.Skip(skipCount).Take(search.PerPage).Select(x => new MovieDtoShow
                {
                    Title          = x.Title,
                    OnStock        = x.OnStock,
                    Description    = x.Description,
                    ReleaseDate    = x.ReleaseDate,
                    RuntimeMinutes = x.RuntimeMinutes,
                    Actors         = x.ActorsLinks.Select(x => new ActorDto
                    {
                        Id = x.Actor.Id, FirstName = x.Actor.FirstName, LastName = x.Actor.LastName
                    }).ToList(),
                    Director = new UpdateDirectorDto {
                        Id = x.Director.Id, FirstName = x.Director.FirstName, LastName = x.Director.LastName
                    },
                    Genres = x.GenresLinks.Select(x => new GenreDto {
                        Id = x.Genre.Id, Name = x.Genre.Name
                    }).ToList()
                }).ToList()
            };

            return(reponse);
        }
Esempio n. 27
0
        public async Task Add(TheMovieDb theMovieDb, MovieSearch movieSearch)
        {
            Movie movie = new Movie
            {
                Name       = theMovieDb.Original_title,
                Synopsis   = theMovieDb.Overview,
                Duration   = movieSearch.Duration,
                TrailerUrl = movieSearch.Trailer,
                PosterUrl  = movieSearch.Poster,
                Director   = "director"
            };

            _dbContext.Movies.Add(movie);
            await _dbContext.SaveChangesAsync();

            await AddCast(theMovieDb);
        }
Esempio n. 28
0
        public async Task <ActionResult> EditAsync([Bind("query")] MovieSearch item)
        {
            if (ModelState.IsValid)
            {
                MovieSearchQuery query = new MovieSearchQuery()
                {
                    query = item.query
                };
                var movieResults = await _movieAdapterService.GetMovieListsByQueryAsync(query);

                return(View(new MovieSearch()
                {
                    query = item.query, Results = movieResults
                }));
            }

            return(View(item));
        }
Esempio n. 29
0
        static void Main(string[] args)
        {
            //create a search library instance
            MovieSearch searchLibrary = new MovieSearch();

            MovieQuery query = new MovieQuery();

            query = QueryReader.ReadQuery();

            while (query.Query != Environment.NewLine)
            {
                QueryResponse response = searchLibrary.DoSearch(query);

                PrettyPrintResults.PrintOut(response);

                query = QueryReader.ReadQuery();
            }
        }
Esempio n. 30
0
        public ActionResult SearchMovies(string query)
        {
            List <Movie> movies = null;

            if (!string.IsNullOrWhiteSpace(query))
            {
                try
                {
                    movies = new MovieSearch().SearchPopular(query);
                }
                catch
                {
                    // For purposes of this sample app just assume there is no results :D
                }
            }

            // Return PartialView instead of View to ignore default view layout.
            return(PartialView(new SearchMovieResultsViewModel(query, movies)));
        }