/// <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)); }
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")); }
/// <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); }
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)); }
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); }
/// <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); }
public IActionResult Get( [FromQuery] MovieSearch search, [FromServices] IGetMovieQuery query) { return(Ok(new { Actor = _actor, Executor = _executor.ExecuteQuery(query, search) })); }
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 })); }
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); }
/// <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; }
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); } }
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); } }
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); }
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); }
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)); }
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(); } }
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))); }