Exemple #1
0
        /// <summary>
        /// Loads this instance.
        /// </summary>
        /// <returns></returns>
        private async Task <InfiniteScrollCollection <MessageViewModel> > Load()
        {
            var list = new InfiniteScrollCollection <MessageViewModel>();
            List <ImapMessageInfo> msgs = await loader.LoadMessages();

            foreach (var i in msgs)
            {
                list.Add(new MessageViewModel(i));
            }
            IsBusy = false;
            return(list);
        }
        public MoviesViewModel()
        {
            Title                  = "Movies List";
            ItemsMovie             = new InfiniteScrollCollection <MoviesModel>();
            ShowMovieDetailCommand = new Command <MoviesModel>(async(x) => await ExecuteMovieDetail(x));
            ItemsMovie             = new InfiniteScrollCollection <MoviesModel>
            {
                OnLoadMore = async() =>
                {
                    if (await StatusConnections.VerifyConnect())
                    {
                        IsBusy = true;
                        if (!string.IsNullOrEmpty(SearchText))
                        {
                            return(null);
                        }
                        CountPages++;
                        var moviesList = await HubService.GetMoviesAsync(CountPages);

                        if (moviesList == null)
                        {
                            return(new InfiniteScrollCollection <MoviesModel>());
                        }
                        foreach (var itemMovie in moviesList)
                        {
                            itemMovie.poster_path = PathMoviesImage.PathConverter(itemMovie.id.ToString(), itemMovie.poster_path);

                            ItemsMovie.Add(itemMovie);
                        }
                        IsBusy = false;
                        return(moviesList);
                    }
                    else
                    {
                        IsBusy = false; return(null);
                    };
                }
            }; IsBusy = false;
        }