Exemplo n.º 1
0
        public async Task BeginSearch()
        {
            try
            {
                if (!string.IsNullOrEmpty(SearchQuery.SearchText) ||
                    !string.IsNullOrEmpty(SearchQuery.ActorName) ||
                    SearchQuery.Batch != null ||
                    !string.IsNullOrEmpty(SearchQuery.Mood))
                {
                    EventAgg.PublishOnUIThread(new StartLoadingMessage("Searching for movies..."));

                    MovieList = await OnlineDB.Search(SearchQuery);

                    if (MovieList != null || MovieList.Count != 0)
                    {
                        EventAgg.PublishOnUIThread(new MovieListMessage(MovieList, true, SearchQuery.SearchText));
                    }
                }
            }
            catch
            {
                StatusMessage.Enqueue("Unknow error occured while searchig for movies!");
            }
            finally
            {
                EventAgg.PublishOnUIThread(new StopLoadingMessage());
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Adds movies to the list that have been downloaded either from offline or online db
        /// </summary>
        public async void Handle(MovieListMessage message)
        {
            Movies.Clear();
            await Task.Run(() =>
            {
                foreach (Movie movie in message.Movielist)
                {
                    if (!string.IsNullOrEmpty(movie.Poster_path))
                    {
                        Movies movieEntity = ParseFromTmdb(movie);

                        base.ImageCacher.ScanPoster(movieEntity);

                        Movies.AddOnUIThread(new MovieCardViewModel(movieEntity, EventAgg));
                    }
                }
            });

            EventAgg.PublishOnUIThread(new ResultsReadyMessage());
        }
Exemplo n.º 3
0
 public void NavigateToNextPage()
 {
     EventAgg.PublishOnUIThread(new BrowseSearchResultsMessage(++_onlineDB.SearchQuery.PageNumber));
 }