public IEnumerable <Movie> Search(MovieSearchModel searchModel) { return(GetAll() .Where(item => StartsWith(item.Name, searchModel.Name) && Equal(item.Company.Name, searchModel.CompanyName) && Equal(item.Genre.Name, searchModel.GenreName) && Equal(item.Quality.Name, searchModel.QualityName) && Equal(item.Format.Name, searchModel.FormatName) && IsComparisonCorrect(item.Runtime, searchModel.RuntimeComparison) && IsComparisonCorrect(item.ReleaseDate, searchModel.ReleaseDateComparison) )); }
public IActionResult SearchMovies([FromBody] MovieSearchModel searchRequest) { try { var searchResults = _service.SearchMovies(searchRequest); return(Ok(searchResults)); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, "A problem happened while handling your request.")); } }
public async Task <ActionResult> MovieList([FromQuery] MovieSearchModel movieSearchModel) { if (!ModelState.IsValid) { return(null); } var movies = await _movieService.GetMovies( title : movieSearchModel.Title, lastItemIndex : movieSearchModel.ItemIndex ); //convert to viewModel var movieViewModels = _mapper.Map <List <MovieModel>, List <MovieViewModel> >(movies); return(PartialView("_MovieList", movieViewModels)); }
public void Verify_Search_WithPaging_Should_ReturnAListOfMoviesWithDataMatchingSearchParameters() { // Arrange Mock <IDbSet <Movie> > mockSetMovies; var mockContext = MoviesMockingSetup.DoMockingSetupForContext(true, out mockSetMovies); var repository = new MoviesRepository(mockContext.Object); var searchModel = new MovieSearchModel { Paging = new Paging { Skip = 1, Take = 1 } }; // Act var movies = repository.Search(searchModel /*.Object*/).ToArray(); // Assert Assert.Equal(1, movies.Length); Assert.Equal(2, movies[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", movies[0].ApiDetailUrl); // Stephen King was filtered out because he was Skipped }
public void Verify_Search_WithModifiedSince_Should_ReturnAListOfMoviesWithDataMatchingSearchParameters() { // Arrange Mock <IDbSet <Movie> > mockSetMovies; var mockContext = MoviesMockingSetup.DoMockingSetupForContext(true, out mockSetMovies, true); var repository = new MoviesRepository(mockContext.Object); var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1); //var searchModel = new Mock<IMovieSearchModel>(); //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate); var searchModel = new MovieSearchModel { ModifiedSince = createDate }; // Act var movies = repository.Search(searchModel /*.Object*/).ToArray(); // Assert Assert.Equal(1, movies.Length); Assert.Equal(2, movies[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", movies[0].ApiDetailUrl); // Stephen King was filtered out because he was created before the modified since date }
public IActionResult Search(MovieSearchModel searchModel) { if (!string.IsNullOrWhiteSpace(searchModel.Title)) { searchModel.Title = searchModel.Title.Trim(); } if (SessionValueExists("movie-query")) { searchModel.Title = GetStringFromSession("movie-query"); } if (SessionValueExists("wish")) { searchModel.Title = GetFromSession <string>("wish"); } if (Request.Headers["Referrer"].Contains("/Movie/Search") && string.IsNullOrWhiteSpace(searchModel.Title)) { ShowStatusMessage(MessageTypeEnum.error, "Please enter search terms.", "Search Error"); return(View(searchModel)); } if (!string.IsNullOrWhiteSpace(searchModel.Title)) { searchModel.MovieResults = _tmdbService.SearchMovies(searchModel.Title); searchModel.TVShowResults = _tmdbService.SearchTV(searchModel.Title); foreach (var result in searchModel.MovieResults) { result.poster_path = string.Format("https://image.tmdb.org/t/p/w300{0}", result.poster_path); } foreach (var result in searchModel.TVShowResults) { result.poster_path = string.Format("https://image.tmdb.org/t/p/w300{0}", result.poster_path); } } ViewBag.Title = "Movie/TV Show Search"; return(View(searchModel)); }
public void Verify_Search_WithPaging_Should_ReturnAListOfMoviesWithDataMatchingSearchParameters() { // Arrange Mock<IDbSet<Movie>> mockSetMovies; var mockContext = MoviesMockingSetup.DoMockingSetupForContext(true, out mockSetMovies); var repository = new MoviesRepository(mockContext.Object); var searchModel = new MovieSearchModel { Paging = new Paging { Skip = 1, Take = 1 } }; // Act var movies = repository.Search(searchModel/*.Object*/).ToArray(); // Assert Assert.Equal(1, movies.Length); Assert.Equal(2, movies[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", movies[0].ApiDetailUrl); // Stephen King was filtered out because he was Skipped }
public void Verify_Search_WithModifiedSince_Should_ReturnAListOfMoviesWithDataMatchingSearchParameters() { // Arrange Mock<IDbSet<Movie>> mockSetMovies; var mockContext = MoviesMockingSetup.DoMockingSetupForContext(true, out mockSetMovies, true); var repository = new MoviesRepository(mockContext.Object); var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1); //var searchModel = new Mock<IMovieSearchModel>(); //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate); var searchModel = new MovieSearchModel { ModifiedSince = createDate }; // Act var movies = repository.Search(searchModel/*.Object*/).ToArray(); // Assert Assert.Equal(1, movies.Length); Assert.Equal(2, movies[0].Id); Assert.Equal("/TEST/NIVEN-LARRY", movies[0].ApiDetailUrl); // Stephen King was filtered out because he was created before the modified since date }
public MainViewModel(INovaromaEngine engine, IExceptionHandler exceptionHandler, IDialogService dialogService, ILogger logger) : base(dialogService) { _engine = engine; _exceptionHandler = exceptionHandler; _logger = logger; _pluginServices = engine.Services.OfType <IPluginService>(); var genres = engine.MediaGenres; _movieSearchModel = new MovieSearchModel(genres); _tvShowSearchModel = new TvShowSearchModel(genres); _activitySearchModel = new ActivitySearchModel(); _installUpdateCommand = new RelayCommand(InstallUpdate); _aboutCommand = new RelayCommand(About); _newCommand = new RelayCommand(NewMedia); _watchDirectoryCommand = new RelayCommand(WatchDirectory); _discoverCommand = new RelayCommand(Discover); _manualDownloadCommand = new RelayCommand(DoManualDownload); _executePluginServiceCommand = new RelayCommand(DoExecutePluginService); _settingsCommand = new RelayCommand(EditSettings); _executeDownloadsCommand = new RelayCommand(ExecuteDownloads); _executeTvShowUpdatesCommand = new RelayCommand(ExecuteTvShowUpdates); _backupDatabaseCommand = new RelayCommand(DoBackupDatabase); _manageRuntimeServicesCommand = new RelayCommand(ManageRuntimeServices); _clearLogsAndActivitiesCommand = new RelayCommand(DoClearLogsAndActivities); _saveSearchModelCommand = new RelayCommand(DoSaveSearchModel); _movieSearchCommand = new RelayCommand(DoGetMovies); _tvShowSearchCommand = new RelayCommand(DoGetTvShows); _clearMovieSearchModelCommand = new RelayCommand(DoClearMovieSearchModel); _clearTvShowSearchModelCommand = new RelayCommand(DoClearTvShowSearchModel); _moviePlayCommand = new RelayCommand(PlayMovie, CanPlayMovie); _movieMarkWatchedCommand = new RelayCommand(MarkMovieWatched, CanMarkMovieWatched); _movieUpdateInfoCommand = new RelayCommand(DoUpdateMovieInfo); _movieDeleteCommand = new RelayCommand(DoDeleteMovie); _movieSaveCommand = new RelayCommand(DoSaveMovie); _movieDownloadCommand = new RelayCommand(DoDownloadMovie); _movieSubtitleDownloadCommand = new RelayCommand(DoDownloadMovieSubtitle); _movieDiscoverFilesCommand = new RelayCommand(DiscoverMovieFiles); _movieGoToDirectoryCommand = new RelayCommand(GoToMovieDirectory); _tvShowPlayCommand = new RelayCommand(PlayTvShow, CanPlayTvShow); _tvShowMarkEpisodeWatchedCommand = new RelayCommand(MarkEpisodeWatched, CanMarkEpisodeWatched); _tvShowEpisodePlayCommand = new RelayCommand(PlayTvShowEpisode, CanPlayTvShowEpisode); _tvShowEpisodeDeleteCommand = new RelayCommand(DeleteTvShowEpisode, CanDeleteTvShowEpisode); _tvShowUpdateInfoCommand = new RelayCommand(DoUpdateTvShowInfo); _tvShowDeleteCommand = new RelayCommand(DoDeleteTvShow); _tvShowSaveCommand = new RelayCommand(DoSaveTvShow); _tvShowEpisodeDownloadCommand = new RelayCommand(DoDownloadTvShowEpisode); _tvShowEpisodeSubtitleDownloadCommand = new RelayCommand(DoDownloadTvShowEpisodeSubtitle); _tvShowDiscoverFilesCommand = new RelayCommand(DiscoverTvShowFiles); _tvShowGoToDirectoryCommand = new RelayCommand(GoToTvShowDirectory); _activityPlayCommand = new RelayCommand(PlayActivity); _sendASmileCommand = new RelayCommand(SendASmile); _sendAFrownCommand = new RelayCommand(SendAFrown); _escapeKeyCommand = new RelayCommand(PressEscapeKey); _allTvDownloadCheckCommand = new RelayCommand(o => Helper.AllTvDownloadCheck(o, _engine)); _allSeasonDownloadCheckCommand = new RelayCommand(o => Helper.AllSeasonDownloadCheck(o, _engine)); _episodeDownloadCheckCommand = new RelayCommand(o => Helper.EpisodeDownloadCheck(o, _engine)); _movieDownloadCheckCommand = new RelayCommand(o => Helper.MovieDownloadCheck(o, _engine)); _videoQualityEnumInfo = Constants.VideoQualityEnumInfo; _engine.MoviesChanged += EngineOnMoviesChanged; _engine.TvShowsChanged += EngineOnTvShowsChanged; _engine.ActivitiesChanged += EngineOnActivitiesChanged; _engine.LanguageChanged += EngineOnLanguageChanged; _updateCheckTimer = new Timer(o => DoCheckForUpdate(), null, TimeSpan.FromSeconds(5), TimeSpan.FromHours(1)); }
public List <MovieSearchResultsModel> SearchMovies(MovieSearchModel model) => _movieRepository.SearchMovies(model);
private void ResetSearch() { _searchModel = new MovieSearchModel(); }
private async void ExecuteSearchCommand() { if (!await StatusConnections.VerifyConnect()) { ItemsMovie.Add(new MoviesModel() { title = "Sem conexão ativa com a internet..." }); IsBusy = false; return; } var itemsInfiniteSearch = new InfiniteScrollCollection <MoviesModel> { OnLoadMore = async() => { IsBusy = true; CountPages++; if (CountPages == 1) { ItemsMovie.Clear(); } var moviesList = await HubService.GetSearchMovieAsync(SearchText, CountPages.ToString()); if (moviesList == null) { return(new InfiniteScrollCollection <MoviesModel>()); } foreach (var itemMovie in moviesList.results) { itemMovie.poster_path = PathMoviesImage.PathConverter(itemMovie.id.ToString(), itemMovie.poster_path); ItemsMovie.Add(itemMovie); } IsBusy = false; return(moviesList.results); } }; if (string.IsNullOrEmpty(SearchText)) { await LoadAsync(); return; } IsBusy = true; CountPages = 1; MovieSearchModel movies = await HubService.GetSearchMovieAsync(SearchText, CountPages.ToString()); IsBusy = false; if (movies == null) { return; } if (CountPages == 1) { ItemsMovie.Clear(); } foreach (var item in movies.results) { item.poster_path = PathMoviesImage.PathConverter(item.id.ToString(), item.poster_path); ItemsMovie.Add(item); } OnPropertyChanged(nameof(ItemsMovie)); IsBusy = false; }