public SearchVM() { myMovie = new SearchMovieService(); _SelectedIndex = -1; // Load the database foreach (var myMovie in myMovie.Titles) { var np = new MovieViewModel(myMovie); np.PropertyChanged += Movie_OnNotifyPropertyChanged; _Mov.Add(np); } }
/// <summary> /// Constructor with dependency injection. /// </summary> /// <param name="upcomingMovieService">Service object.</param> internal SearchMovieViewModel(SearchMovieService searchMovieService) { _searchMovieService = searchMovieService ?? throw new ArgumentException("searchMovieService"); Title = "Search Movie"; ListView_ItemsSource = new InfiniteScrollCollection <MovieModel> { OnLoadMore = async() => { try { if (IsBusy) { return(null); } IsBusy = true; var page = (uint)(ListView_ItemsSource.Count / PageSize) + 1; if (totalPages > 0 && page >= totalPages) { IsBusy = false; return(null); } var model = await GetMovieCollectionAsync(page); totalPages = (uint)model.TotalPages; IsBusy = false; return(model.MovieCollection); } catch (Exception ex) { IsBusy = false; Debug.WriteLine(ex); throw; } } }; SearchBar_SearchCommand = new Command(async() => await ExecuteListView_RefreshCommand_HandlerAsync()); ListView_RefreshCommand = new Command(async() => await ExecuteListView_RefreshCommand_HandlerAsync()); }
/// <summary> /// Constructor. /// </summary> static Singleton() { GenreService = new GenreService(); SearchMovieService = new SearchMovieService(); UpcomingMovieService = new UpcomingMovieService(); }
private async Task <Boolean> Search(string searchTitle) { return(await SearchMovieService.GetMovieByTitle(searchTitle)); }