Beispiel #1
0
 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());
        }
Beispiel #3
0
 /// <summary>
 /// Constructor.
 /// </summary>
 static Singleton()
 {
     GenreService         = new GenreService();
     SearchMovieService   = new SearchMovieService();
     UpcomingMovieService = new UpcomingMovieService();
 }
Beispiel #4
0
 private async Task <Boolean> Search(string searchTitle)
 {
     return(await SearchMovieService.GetMovieByTitle(searchTitle));
 }