Beispiel #1
0
        public async Task <List <Episode> > GetTvShowSeasonEpisode(int TMDbID, int NSeason)
        {
            Episode        EP;
            List <Episode> Episodes  = new List <Episode>();
            List <Episode> EpisodeDB = new List <Episode>();
            TMDbClient     client    = new TMDbClient(ApiKey.tmdbkeyV3, true);
            var            result    = await client.GetTvSeasonAsync(TMDbID, NSeason, language : CultureInfo.CurrentCulture.TwoLetterISOLanguageName);

            if (result.Episodes.Count > 0)
            {
                EpisodeDB = await DB.GetEpisodeAsync(TMDbID, NSeason);

                //Episodes= result.Episodes.Select(s => new Episode { ID = s.Id, SeasonN = s.SeasonNumber,N = s.EpisodeNumber, Title = s.Name, Synopsis = s.Overview }).ToList();

                foreach (TvSeasonEpisode TVEpisode in result.Episodes)
                {
                    EP          = new Episode();
                    EP.ID       = TVEpisode.Id;
                    EP.TmdbID   = TMDbID;
                    EP.SeasonN  = TVEpisode.SeasonNumber;
                    EP.N        = TVEpisode.EpisodeNumber;
                    EP.Title    = TVEpisode.Name;
                    EP.Synopsis = TVEpisode.Overview;
                    EP.Poster   = TVEpisode.StillPath;

                    if (EpisodeDB.Count > 0 && EpisodeDB.Exists(x => x.N == EP.N))
                    {
                        EP.Rating   = EpisodeDB.Find(x => x.N == EP.N).Rating;
                        EP.DateView = EpisodeDB.Find(x => x.N == EP.N).DateView ?? null;
                    }

                    Episodes.Add(EP);
                }
            }
            return(Episodes);
        }