public override async Task OnNavigatedToAsync(object parameter, NavigationMode mode, IDictionary <string, object> state)
        {
            var service = new MovieBrowserService();

            //Load the movies if empty
            if (PopularMovies.Count == 0)
            {
                var popularMovies = await service.GetPopularMovies();

                for (int i = 0; i < 20; i++)
                {
                    PopularMovies.Add(popularMovies.results[i]);
                }
            }
            //Load the tv shows if empty
            if (PopularTvShows.Count == 0)
            {
                var popularTvShows = await service.GetPopularTvShows();

                for (int i = 0; i < 20; i++)
                {
                    PopularTvShows.Add(popularTvShows.results[i]);
                }
            }

            await base.OnNavigatedToAsync(parameter, mode, state);
        }
Пример #2
0
        public async Task <IActionResult> PutPopularMovies([FromRoute] int id, [FromBody] PopularMovies popularMovies)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != popularMovies.Id)
            {
                return(BadRequest());
            }

            _context.Entry(popularMovies).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!PopularMoviesExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Пример #3
0
        public async Task <IActionResult> PostPopularMovies([FromBody] PopularMovies popularMovies)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.PopularMovies.Add(popularMovies);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetPopularMovies", new { id = popularMovies.Id }, popularMovies));
        }
        async void LoadData()
        {
            var Resp = await ApiServices.Instance.GetPopularMovies(Page, SelectedSortLbl == "Most Popular");

            if (Resp.results != null)
            {
                Page++;

                PopularMovies.AddRange(Resp.results);
            }
            else if (!string.IsNullOrEmpty(Resp.status_message))
            {
            }
        }
        public PopularMoviesPageViewModel(INavigationService navigationService) : base(navigationService)
        {
            Page = 1;

            AlertBoxCommand = new DelegateCommand(async() =>
            {
                if (SelectedSortLbl == "Most Popular")
                {
                    PopularLbl  = "✔ Most Popular";
                    HighestRate = "  Highest Rated";
                }
                else
                {
                    PopularLbl  = "   Most Popular";
                    HighestRate = "✔ Highest Rated";
                }
                var ans = await UserDialogs.Instance.ActionSheetAsync("Filter", "Cancel", null, null, PopularLbl, HighestRate);
                if (ans != "Cancel")
                {
                    SelectedSortLbl = ans.Replace(SelectLbl, "").Trim();
                    Page            = 1;
                    PopularMovies.Clear();
                    LoadData();
                }
            });

            MessagingCenter.Subscribe <string>("", "OnAppearing", val =>
            {
                OnAppearing();
            });
            MovieDetailCommand = new DelegateCommand <MovieModel>((val) =>
            {
                var param = new NavigationParameters();
                param.Add("Id", val.id);
                NavigationService.NavigateAsync("MovieDetailsPage", param, useModalNavigation: true);
            });
            LoadMoreDataCommand = new DelegateCommand(LoadData);
        }
Пример #6
0
        async Task ExecuteLoadItemsCommand()
        {
            IsBusy = true;

            try
            {
                PopularMovies.Clear();
                var popularMovies = await MoviesService.GetPopularMovies();

                foreach (var movie in popularMovies)
                {
                    PopularMovies.Add(movie);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }