Exemplo n.º 1
0
        public Series GetSeriesByIdFromApi(int id)
        {
            IRestResponse seriesResponse = itemApiRepo.GetSeriesById(id);

            //Convert the response to a movie object
            SeriesApiResult apiSeries = JsonConvert.DeserializeObject <SeriesApiResult>(seriesResponse.Content);

            //Retrieve the credits (Person objects) from the API
            IRestResponse creditsResponse = itemApiRepo.GetCreditsBySeriesId(id);

            //Convert the response to a MovieCreditsRoot object
            CreditsRoot creditsRoot = JsonConvert.DeserializeObject <CreditsRoot>(creditsResponse.Content);

            Series series = new Series()
            {
                Id          = apiSeries.Id,
                Title       = apiSeries.Name,
                Description = apiSeries.Description,
                ReleaseDate = apiSeries.AirDate,
                PosterPath  = apiSeries.PosterURL,
                BackdropURL = apiSeries.BackdropPath
            };

            series.ItemGenres = new List <ItemGenre>();

            foreach (Genre genre in apiSeries.Genres)
            {
                series.ItemGenres.Add(new ItemGenre {
                    ItemId = series.Id, GenreId = genre.Id, Item = series, Genre = genre
                });
            }

            series.ItemCrewMembers = new List <ItemCrewMember>();

            foreach (CrewMemberResult crewMember in creditsRoot.Crew)
            {
                series.ItemCrewMembers.Add(
                    new ItemCrewMember {
                    ItemId       = series.Id,
                    CrewMemberId = crewMember.Id,
                    Item         = series,
                    CrewMember   = new CrewMember {
                        Id = crewMember.Id, Name = crewMember.Name
                    },
                    Job = crewMember.Job
                }
                    );
            }

            series.ItemCastMembers = new List <ItemCastMember>();

            foreach (CastMemberResult castMember in creditsRoot.Cast)
            {
                series.ItemCastMembers.Add(
                    new ItemCastMember {
                    ItemId       = series.Id,
                    CastMemberId = castMember.Id,
                    Item         = series,
                    CastMember   = new CastMember {
                        Id = castMember.Id, Name = castMember.Name
                    },
                    Character = castMember.Character
                }
                    );
            }

            series.Seasons = new List <Season>();

            for (int seasonNr = 1; seasonNr <= apiSeries.NumberOfSeasons; seasonNr++)
            {
                IRestResponse seasonResponse = itemApiRepo.GetSeriesSeasonById(id, seasonNr);

                //Convert the response to a movie object
                Season season = JsonConvert.DeserializeObject <Season>(seasonResponse.Content);

                series.Seasons.Add(season);
            }

            return(series);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Returns the movie with the given id from the API
        /// </summary>
        /// <param name="id">Id of the movie</param>
        /// <returns>A Movie object</returns>
        private Movie GetMovieByIdFromAPI(int id)
        {
            //Retrieve the movie from the API
            IRestResponse movieResponse = itemApiRepo.GetMovieById(id);

            //Convert the response to a movie object
            MovieApiResult apiMovie = JsonConvert.DeserializeObject <MovieApiResult>(movieResponse.Content);

            //Retrieve the credits (Person objects) from the API
            IRestResponse creditsResponse = itemApiRepo.GetCreditsByMovieId(id);

            //Convert the response to a MovieCreditsRoot object
            CreditsRoot movieCreditsRoot = JsonConvert.DeserializeObject <CreditsRoot>(creditsResponse.Content);

            Movie movie = new Movie {
                Id          = apiMovie.Id,
                Title       = apiMovie.Title,
                Description = apiMovie.Description,
                ReleaseDate = apiMovie.ReleaseDate,
                PosterPath  = apiMovie.PosterURL,
                BackdropURL = apiMovie.BackdropURL
            };

            movie.ItemGenres = new List <ItemGenre>();

            foreach (Genre genre in apiMovie.Genres)
            {
                movie.ItemGenres.Add(new ItemGenre {
                    ItemId = movie.Id, GenreId = genre.Id, Item = movie, Genre = genre
                });
            }

            //Add all people to the movie
            movie.ItemCrewMembers = new List <ItemCrewMember>();

            foreach (CrewMemberResult crewMember in movieCreditsRoot.Crew)
            {
                movie.ItemCrewMembers.Add(
                    new ItemCrewMember {
                    ItemId       = movie.Id,
                    CrewMemberId = crewMember.Id,
                    Item         = movie,
                    CrewMember   = new CrewMember {
                        Id = crewMember.Id, Name = crewMember.Name
                    },
                    Job = crewMember.Job
                }
                    );
            }

            movie.ItemCastMembers = new List <ItemCastMember>();

            foreach (CastMemberResult castMember in movieCreditsRoot.Cast)
            {
                movie.ItemCastMembers.Add(
                    new ItemCastMember {
                    ItemId       = movie.Id,
                    CastMemberId = castMember.Id,
                    Item         = movie,
                    CastMember   = new CastMember {
                        Id = castMember.Id, Name = castMember.Name
                    },
                    Character = castMember.Character
                }
                    );
            }

            return(movie);
        }