public static void SaveExtendedShowInfoV2(TraktV2ShowExtended tvshow, List<TraktV2Season> seasons) { try { // save this data to the DB for use later Trakt_ImageFanartRepository repFanart = new Trakt_ImageFanartRepository(); Trakt_ShowRepository repShows = new Trakt_ShowRepository(); Trakt_Show show = repShows.GetByTraktSlug(tvshow.ids.slug); if (show == null) show = new Trakt_Show(); show.Populate(tvshow); repShows.Save(show); if (tvshow.images != null && tvshow.images.fanart != null) { if (!string.IsNullOrEmpty(tvshow.images.fanart.full)) { Trakt_ImageFanart fanart = repFanart.GetByShowIDAndSeason(show.Trakt_ShowID, 1); if (fanart == null) { fanart = new Trakt_ImageFanart(); fanart.Enabled = 0; } fanart.ImageURL = tvshow.images.fanart.full; fanart.Season = 1; fanart.Trakt_ShowID = show.Trakt_ShowID; repFanart.Save(fanart); } } // save the seasons Trakt_SeasonRepository repSeasons = new Trakt_SeasonRepository(); Trakt_EpisodeRepository repEpisodes = new Trakt_EpisodeRepository(); Trakt_ImagePosterRepository repPosters = new Trakt_ImagePosterRepository(); // delete episodes if they no longer exist on Trakt if (seasons.Count > 0) { foreach (Trakt_Episode epTemp in repEpisodes.GetByShowID(show.Trakt_ShowID)) { TraktV2Episode ep = null; TraktV2Season sea = seasons.FirstOrDefault(x => x.number == epTemp.Season); if (sea != null) ep = sea.episodes.FirstOrDefault(x => x.number == epTemp.EpisodeNumber); // if the episode is null, it means it doesn't exist on Trakt, so we should delete it if (ep == null) repEpisodes.Delete(epTemp.Trakt_EpisodeID); } } foreach (TraktV2Season sea in seasons) { Trakt_Season season = repSeasons.GetByShowIDAndSeason(show.Trakt_ShowID, sea.number); if (season == null) season = new Trakt_Season(); season.Season = sea.number; season.URL = string.Format(TraktURIs.WebsiteSeason, show.TraktID, sea.number); season.Trakt_ShowID = show.Trakt_ShowID; repSeasons.Save(season); if (sea.images != null && sea.images.poster != null) { if (!string.IsNullOrEmpty(sea.images.poster.full)) { Trakt_ImagePoster poster = repPosters.GetByShowIDAndSeason(show.Trakt_ShowID, season.Season); if (poster == null) { poster = new Trakt_ImagePoster(); poster.Enabled = 0; } poster.ImageURL = sea.images.poster.full; poster.Season = season.Season; poster.Trakt_ShowID = show.Trakt_ShowID; repPosters.Save(poster); } } if (sea.episodes != null) { foreach (TraktV2Episode ep in sea.episodes) { Trakt_Episode episode = repEpisodes.GetByShowIDSeasonAndEpisode(show.Trakt_ShowID, ep.season, ep.number); if (episode == null) episode = new Trakt_Episode(); Console.Write(ep.ids.trakt); if (ep.images.screenshot != null) episode.EpisodeImage = ep.images.screenshot.full; else episode.EpisodeImage = string.Empty; episode.TraktID = ep.ids.TraktID; episode.EpisodeNumber = ep.number; episode.Overview = string.Empty; // this is now part of a separate API call for V2, we get this info from TvDB anyway episode.Season = ep.season; episode.Title = ep.title; episode.URL = string.Format(TraktURIs.WebsiteEpisode, show.TraktID, ep.season, ep.number); episode.Trakt_ShowID = show.Trakt_ShowID; repEpisodes.Save(episode); } } } } catch (Exception ex) { logger.ErrorException("Error in TraktTVHelper.SaveExtendedShowInfo: " + ex.ToString(), ex); } }
public static void SaveShowInfo(TraktTVShow tvshow) { try { // save this data to the DB for use later Trakt_ImageFanartRepository repFanart = new Trakt_ImageFanartRepository(); Trakt_ShowRepository repShows = new Trakt_ShowRepository(); Trakt_Show show = repShows.GetByTraktID(tvshow.TraktID); if (show == null) show = new Trakt_Show(); show.Overview = tvshow.overview; show.Title = tvshow.title; show.TraktID = tvshow.TraktID; if (!string.IsNullOrEmpty(tvshow.tvdb_id)) show.TvDB_ID = int.Parse(tvshow.tvdb_id); show.URL = tvshow.url; show.Year = tvshow.year; repShows.Save(show); if (tvshow.images != null) { if (!string.IsNullOrEmpty(tvshow.images.fanart)) { Trakt_ImageFanart fanart = repFanart.GetByShowIDAndSeason(show.Trakt_ShowID, 1); if (fanart == null) { fanart = new Trakt_ImageFanart(); fanart.Enabled = 1; } fanart.ImageURL = tvshow.images.fanart; fanart.Season = 1; fanart.Trakt_ShowID = show.Trakt_ShowID; repFanart.Save(fanart); } } } catch (Exception ex) { logger.ErrorException("Error in TraktTVHelper.SaveExtendedShowInfo: " + ex.ToString(), ex); } }
public string EnableDisableImage(bool enabled, int imageID, int imageType) { try { JMMImageType imgType = (JMMImageType)imageType; switch (imgType) { case JMMImageType.AniDB_Cover: AniDB_AnimeRepository repAnime = new AniDB_AnimeRepository(); AniDB_Anime anime = repAnime.GetByAnimeID(imageID); if (anime == null) return "Could not find anime"; anime.ImageEnabled = enabled ? 1 : 0; repAnime.Save(anime); break; case JMMImageType.TvDB_Banner: TvDB_ImageWideBannerRepository repBanners = new TvDB_ImageWideBannerRepository(); TvDB_ImageWideBanner banner = repBanners.GetByID(imageID); if (banner == null) return "Could not find image"; banner.Enabled = enabled ? 1 : 0; repBanners.Save(banner); break; case JMMImageType.TvDB_Cover: TvDB_ImagePosterRepository repPosters = new TvDB_ImagePosterRepository(); TvDB_ImagePoster poster = repPosters.GetByID(imageID); if (poster == null) return "Could not find image"; poster.Enabled = enabled ? 1 : 0; repPosters.Save(poster); break; case JMMImageType.TvDB_FanArt: TvDB_ImageFanartRepository repFanart = new TvDB_ImageFanartRepository(); TvDB_ImageFanart fanart = repFanart.GetByID(imageID); if (fanart == null) return "Could not find image"; fanart.Enabled = enabled ? 1 : 0; repFanart.Save(fanart); break; case JMMImageType.MovieDB_Poster: MovieDB_PosterRepository repMoviePosters = new MovieDB_PosterRepository(); MovieDB_Poster moviePoster = repMoviePosters.GetByID(imageID); if (moviePoster == null) return "Could not find image"; moviePoster.Enabled = enabled ? 1 : 0; repMoviePosters.Save(moviePoster); break; case JMMImageType.MovieDB_FanArt: MovieDB_FanartRepository repMovieFanart = new MovieDB_FanartRepository(); MovieDB_Fanart movieFanart = repMovieFanart.GetByID(imageID); if (movieFanart == null) return "Could not find image"; movieFanart.Enabled = enabled ? 1 : 0; repMovieFanart.Save(movieFanart); break; case JMMImageType.Trakt_Poster: Trakt_ImagePosterRepository repTraktPosters = new Trakt_ImagePosterRepository(); Trakt_ImagePoster traktPoster = repTraktPosters.GetByID(imageID); if (traktPoster == null) return "Could not find image"; traktPoster.Enabled = enabled ? 1 : 0; repTraktPosters.Save(traktPoster); break; case JMMImageType.Trakt_Fanart: Trakt_ImageFanartRepository repTraktFanart = new Trakt_ImageFanartRepository(); Trakt_ImageFanart traktFanart = repTraktFanart.GetByID(imageID); if (traktFanart == null) return "Could not find image"; traktFanart.Enabled = enabled ? 1 : 0; repTraktFanart.Save(traktFanart); break; } return ""; } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); return ex.Message; } }
public static void SaveExtendedShowInfo(TraktTVShow tvshow) { try { // save this data to the DB for use later Trakt_ImageFanartRepository repFanart = new Trakt_ImageFanartRepository(); Trakt_ShowRepository repShows = new Trakt_ShowRepository(); Trakt_Show show = repShows.GetByTraktID(tvshow.TraktID); if (show == null) show = new Trakt_Show(); show.Populate(tvshow); repShows.Save(show); if (tvshow.images != null) { if (!string.IsNullOrEmpty(tvshow.images.fanart)) { Trakt_ImageFanart fanart = repFanart.GetByShowIDAndSeason(show.Trakt_ShowID, 1); if (fanart == null) { fanart = new Trakt_ImageFanart(); fanart.Enabled = 0; } fanart.ImageURL = tvshow.images.fanart; fanart.Season = 1; fanart.Trakt_ShowID = show.Trakt_ShowID; repFanart.Save(fanart); } } // save the seasons Trakt_SeasonRepository repSeasons = new Trakt_SeasonRepository(); Trakt_EpisodeRepository repEpisodes = new Trakt_EpisodeRepository(); Trakt_ImagePosterRepository repPosters = new Trakt_ImagePosterRepository(); foreach (TraktTVSeason sea in tvshow.seasons) { Trakt_Season season = repSeasons.GetByShowIDAndSeason(show.Trakt_ShowID, int.Parse(sea.season)); if (season == null) season = new Trakt_Season(); season.Season = int.Parse(sea.season); season.URL = sea.url; season.Trakt_ShowID = show.Trakt_ShowID; repSeasons.Save(season); if (sea.images != null) { if (!string.IsNullOrEmpty(sea.images.poster)) { Trakt_ImagePoster poster = repPosters.GetByShowIDAndSeason(show.Trakt_ShowID, season.Season); if (poster == null) { poster = new Trakt_ImagePoster(); poster.Enabled = 0; } poster.ImageURL = sea.images.poster; poster.Season = season.Season; poster.Trakt_ShowID = show.Trakt_ShowID; repPosters.Save(poster); } } foreach (TraktTVEpisode ep in sea.episodes) { Trakt_Episode episode = repEpisodes.GetByShowIDSeasonAndEpisode(show.Trakt_ShowID, int.Parse(ep.season), int.Parse(ep.episode)); if (episode == null) episode = new Trakt_Episode(); episode.EpisodeImage = ep.screen; episode.EpisodeNumber = int.Parse(ep.episode); episode.Overview = ep.overview; episode.Season = int.Parse(ep.season); episode.Title = ep.title; episode.URL = ep.url; episode.Trakt_ShowID = show.Trakt_ShowID; repEpisodes.Save(episode); } } } catch (Exception ex) { logger.ErrorException("Error in TraktTVHelper.SaveExtendedShowInfo: " + ex.ToString(), ex); } }