Ejemplo n.º 1
0
        private async Task AddToWatchList(DetailedMovie detailedMovie)
        {
            try
            {
                var movieGet = await _movieRepo.Get(x => x.MovieId == detailedMovie.Id && x.ToWatch == true);

                if (movieGet == null)
                {
                    await _movieRepo.Insert(new MovieDX.Forms.Models.Movie
                    {
                        MovieName        = detailedMovie.OriginalTitle,
                        ToWatch          = true,
                        PosterURL        = detailedMovie.PosterUrl,
                        MovieRate        = detailedMovie?.Score == null ? "N/A" : detailedMovie?.Score.ToString(),
                        MovieDescription = detailedMovie.Overview,
                        MovieId          = detailedMovie.Id,
                        DateAdded        = DateTime.Now
                    });

                    await DisplayDialog("Info", "Added to WatchList", "Ok");
                }
                else
                {
                    await DisplayDialog("Info", "This Movie already exist in your watchlist", "Ok");
                }
            }
            catch (Exception ex)
            {
                ErrorLog.LogError("Adding to Watchlist", ex);
            }
        }
Ejemplo n.º 2
0
        public string Execute()
        {
            CollectData();

            string movieTitle = collectedData[0];
            ICollection <string> movieGenres = collectedData[1].Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries);
            string movieDescription          = collectedData[2];
            string movieDirector             = collectedData[3];
            ICollection <string> movieActors = collectedData[4].Split(new[] { ", " }, StringSplitOptions.RemoveEmptyEntries);
            int movieYear = int.Parse(collectedData[5]);

            //creating Movie object from the user's input parameters.
            DetailedMovie newMovie = new DetailedMovie()
            {
                Title       = movieTitle,
                Genre       = movieGenres,
                Description = movieDescription,
                Director    = movieDirector,
                Actors      = movieActors,
                Year        = movieYear,
                IsNew       = true
            };

            //adding movie to in-memory collection.
            dataService.Add(newMovie);

            //saving movie to external data file.
            outputController.Add(newMovie);
            return(@"

======================================================================================================================================
New Movie Is Registered!
======================================================================================================================================");
        }
Ejemplo n.º 3
0
        public Movie ConvertDetailedMovieToMovie(DetailedMovie detailedMovie)
        {
            Movie movie = new Movie()
            {
                id    = detailedMovie.id,
                title = detailedMovie.title,
                rated = detailedMovie.imdbRating
            };

            return(movie);
        }
Ejemplo n.º 4
0
 private async Task AddToList(DetailedMovie detailedMovie)
 {
     try
     {
         await DisplayDialog("Info", "Added to List", "Ok");
     }
     catch (Exception ex)
     {
         ErrorLog.LogError("Adding to list", ex);
     }
 }
 private DetailedMovie GetMovieFromDetailedList(string id, IEnumerable <DetailedMovie> movieList)
 {
     try
     {
         DetailedMovie movie = movieList.Single(movie => movie.id == id);
         return(movie);
     }
     catch (Exception)
     {
         return(null);
     }
 }
Ejemplo n.º 6
0
        private async Task AddToList(DetailedMovie detailedMovie)
        {
            try
            {
                var param = new NavigationParameters();
                param.Add("movie", detailedMovie);

                await NavigateToUri(Constants.AddToListPage, param);
            }
            catch (Exception ex)
            {
                ErrorLog.LogError("Adding to list", ex);
            }
        }
        public void TestDetailedMovieConversion()
        {
            var detailedMovie = new DetailedMovie {
                id = "3", title = "c", imdbRating = 7.0
            };

            var expected = new Movie {
                id = "3", title = "c", rated = "7,0"
            };
            var actual = detailedMovie.ToSimpleMovie();

            Assert.AreEqual(expected.title, actual.title);
            Assert.AreEqual(expected.rated, actual.rated);
        }
Ejemplo n.º 8
0
        public async Task <DetailedMovie> DetailedMovieFromId(int id)
        {
            try
            {
                var res = await BaseClient.GetAsync(string.Format(AppConstants.TmdbMovieUrl, AppConstants.TmdbApiKey,
                                                                  id));

                res.EnsureSuccessStatusCode();

                var json = await res.Content.ReadAsStringAsync();

                if (string.IsNullOrEmpty(json))
                {
                    return(null);
                }

                var movie = JsonConvert.DeserializeObject <TmdbMovie>(json);
                await GetConfigurationIfNeeded();

                var detailed = new DetailedMovie
                {
                    OriginalTitle = movie.original_title,
                    ComposedTitle = string.Format("{0}{1}({2})", movie.original_title.Substring(0, Math.Min(movie.original_title.Length, AppConstants.MovieTitleMaxLength)),
                                                  movie.original_title.Length > AppConstants.MovieTitleMaxLength
                                                                      ? "..." : " ", movie.release_date.Substring(0, 4)),
                    Overview  = movie.overview,
                    Score     = movie.vote_average,
                    VoteCount = movie.vote_count,
                    ImdbId    = movie.imdb_id,
                    PosterUrl = _tmdbConfiguration.images.base_url +
                                _tmdbConfiguration.images.poster_sizes[3] +
                                movie.poster_path,
                    GenresCommaSeparated = GetGenresString(String.Join(", ", movie.genre_ids)),
                    ReleaseDate          = movie.release_date,
                    Runtime = movie.runtime,
                    Tagline = movie.tagline
                };

                return(detailed);
            }
            catch (Exception ex)
            {
                Debug.WriteLine(typeof(TMDBMovieService).Name,
                                "Ooops! Something went wrong fetching information id: {0}. Exception: {1}", id, ex);
                return(null);
            }
        }
        public void Convert(DetailedMovieResponseObject objctToConvert)
        {
            DetailedMovie newMovie = new DetailedMovie()
            {
                Id          = objctToConvert.Id,
                Title       = objctToConvert.Title,
                ReleaseDate = objctToConvert.ReleaseDate,
                Overview    = objctToConvert.Overview,
                Rating      = objctToConvert.Rating,
                Budget      = objctToConvert.Budget,
                Runtime     = objctToConvert.Runtime
            };

            ConvertGenres(objctToConvert.Genres, newMovie.Genres);

            this.ConvertedObjects = newMovie;
        }
Ejemplo n.º 10
0
        public async Task <DetailedMovie> DetailedMovieFromId(int id)
        {
            try
            {
                var res = await BaseClient.GetAsync(string.Format(Constants.TmdbMovieUrl, Constants.TmdbApiKey,
                                                                  id));

                res.EnsureSuccessStatusCode();

                var json = await res.Content.ReadAsStringAsync();

                if (string.IsNullOrEmpty(json))
                {
                    return(null);
                }

                var movie = JsonConvert.DeserializeObject <TmdbMovie>(json);
                await GetConfigurationIfNeeded();

                var detailed = new DetailedMovie
                {
                    Genres        = movie.genres,
                    OriginalTitle = movie.original_title,
                    Overview      = movie.overview,
                    Score         = movie.vote_average,
                    VoteCount     = movie.vote_count,
                    ImdbId        = movie.imdb_id,
                    PosterUrl     = _tmdbConfiguration.images.base_url +
                                    _tmdbConfiguration.images.poster_sizes[3] +
                                    movie.poster_path,
                    ReleaseDate = movie.release_date,
                    Runtime     = movie.runtime,
                    Tagline     = movie.tagline
                };

                return(detailed);
            }
            catch (Exception ex)
            {
                Mvx.TaggedTrace(typeof(TmdbMovieService).Name,
                                "Ooops! Something went wrong fetching information id: {0}. Exception: {1}", id, ex);
                return(null);
            }
        }
        public TopListMovie GetMovieById(string id)
        {
            IEnumerable <TopListMovie>  topMovieList      = GetMovieListFromUrl <TopListMovie>(topMovieListUrl);
            IEnumerable <DetailedMovie> detailedMovieList = GetMovieListFromUrl <DetailedMovie>(detailedMovieListUrl);

            TopListMovie  movieFromTopList      = GetMovieFromTopList(id, topMovieList);
            DetailedMovie movieFromDetailedList = GetMovieFromDetailedList(id, detailedMovieList);


            if (movieFromTopList == null && movieFromDetailedList == null)
            {
                return(null);
            }
            if (movieFromTopList.title == movieFromDetailedList.title)
            {
            }


            return(movieFromTopList);
        }
Ejemplo n.º 12
0
        public override async void Start()
        {
            base.Start();

            if (_model != null)
            {
                return;
            }

            _model = await _service.DetailedMovieFromId(_movieId);

            Title       = _model.OriginalTitle;
            Score       = _model.Score;
            PosterUrl   = _model.PosterUrl;
            ReleaseDate = _model.ReleaseDate;
            VoteCount   = _model.VoteCount;
            ImdbUrl     = _model.ImdbId;
            Synopsis    = _model.Overview;
            TagLine     = _model.Tagline;
            Runtime     = _model.Runtime;
        }
Ejemplo n.º 13
0
        private async Task AddToSeenList(DetailedMovie detailedMovie)
        {
            try
            {
                await _movieRepo.Insert(new MovieDX.Forms.Models.Movie
                {
                    MovieName        = detailedMovie.OriginalTitle,
                    AlreadySeen      = true,
                    PosterURL        = detailedMovie.PosterUrl,
                    MovieRate        = detailedMovie?.Score == null ? "N/A" : detailedMovie?.Score.ToString(),
                    MovieDescription = detailedMovie.Overview,
                    MovieId          = detailedMovie.Id,
                    DateAdded        = DateTime.Now
                });

                await DisplayDialog("Info", "Added to Seen Movies", "Ok");
            }
            catch (Exception ex)
            {
                ErrorLog.LogError("Adding to Seen list", ex);
            }
        }
Ejemplo n.º 14
0
 public override void OnNavigatedFrom(NavigationParameters parameters)
 {
     _selectedMovie = (DetailedMovie)parameters["movie"];
 }