public static void LinkAniDBTvDB(int animeID, int tvDBID, bool additiveLink = false) { if (!additiveLink) { // remove all current links logger.Info($"Removing All TvDB Links for: {animeID}"); RemoveAllAniDBTvDBLinks(animeID, false); } // check if we have this information locally // if not download it now TvDB_Series tvSeries = RepoFactory.TvDB_Series.GetByTvDBID(tvDBID); if (tvSeries != null) { // download and update series info, episode info and episode images // will also download fanart, posters and wide banners CommandRequest_TvDBUpdateSeries cmdSeriesEps = new CommandRequest_TvDBUpdateSeries(tvDBID, false); cmdSeriesEps.Save(); } else { var unused = GetSeriesInfoOnlineAsync(tvDBID, true).Result; } CrossRef_AniDB_TvDB xref = RepoFactory.CrossRef_AniDB_TvDB.GetByAniDBAndTvDBID(animeID, tvDBID) ?? new CrossRef_AniDB_TvDB(); xref.AniDBID = animeID; xref.TvDBID = tvDBID; xref.CrossRefSource = CrossRefSource.User; RepoFactory.CrossRef_AniDB_TvDB.Save(xref); logger.Info( $"Adding TvDB Link: AniDB(ID:{animeID}) -> TvDB(ID:{tvDBID})"); if (ServerSettings.Instance.TraktTv.Enabled && !string.IsNullOrEmpty(ServerSettings.Instance.TraktTv.AuthToken)) { // check for Trakt associations List <CrossRef_AniDB_TraktV2> trakt = RepoFactory.CrossRef_AniDB_TraktV2.GetByAnimeID(animeID); if (trakt.Count != 0) { foreach (CrossRef_AniDB_TraktV2 a in trakt) { RepoFactory.CrossRef_AniDB_TraktV2.Delete(a); } } var cmd2 = new CommandRequest_TraktSearchAnime(animeID, false); cmd2.Save(); } }
public static void UpdateAllInfo(bool force) { IReadOnlyList <CrossRef_AniDB_TvDB> allCrossRefs = RepoFactory.CrossRef_AniDB_TvDB.GetAll(); foreach (CrossRef_AniDB_TvDB xref in allCrossRefs) { CommandRequest_TvDBUpdateSeries cmd = new CommandRequest_TvDBUpdateSeries(xref.TvDBID, force); cmd.Save(); } }
public string UpdateTvDBData(int seriesID) { try { CommandRequest_TvDBUpdateSeries updateseries = new CommandRequest_TvDBUpdateSeries(seriesID, true); updateseries.Save(); } catch (Exception ex) { logger.Error(ex, ex.ToString()); } return(string.Empty); }
public static void LinkAniDBTvDB(int animeID, EpisodeType aniEpType, int aniEpNumber, int tvDBID, int tvSeasonNumber, int tvEpNumber, bool excludeFromWebCache, bool additiveLink = false) { if (!additiveLink) { // remove all current links logger.Info($"Removing All TvDB Links for: {animeID}"); RemoveAllAniDBTvDBLinks(animeID, -1, false); } // check if we have this information locally // if not download it now TvDB_Series tvSeries = RepoFactory.TvDB_Series.GetByTvDBID(tvDBID); if (tvSeries != null) { // download and update series info, episode info and episode images // will also download fanart, posters and wide banners CommandRequest_TvDBUpdateSeries cmdSeriesEps = new CommandRequest_TvDBUpdateSeries(tvDBID, false); cmdSeriesEps.Save(); } else { tvSeries = GetSeriesInfoOnline(tvDBID, true); } CrossRef_AniDB_TvDBV2 xref = RepoFactory.CrossRef_AniDB_TvDBV2.GetByTvDBID(tvDBID, tvSeasonNumber, tvEpNumber, animeID, (int)aniEpType, aniEpNumber) ?? new CrossRef_AniDB_TvDBV2(); xref.AnimeID = animeID; xref.AniDBStartEpisodeType = (int)aniEpType; xref.AniDBStartEpisodeNumber = aniEpNumber; xref.TvDBID = tvDBID; xref.TvDBSeasonNumber = tvSeasonNumber; xref.TvDBStartEpisodeNumber = tvEpNumber; if (tvSeries != null) { xref.TvDBTitle = tvSeries.SeriesName; } if (excludeFromWebCache) { xref.CrossRefSource = (int)CrossRefSource.WebCache; } else { xref.CrossRefSource = (int)CrossRefSource.User; } RepoFactory.CrossRef_AniDB_TvDBV2.Save(xref); logger.Info( $"Adding TvDB Link: AniDB(ID:{animeID}|Type:{aniEpType}|Number:{aniEpNumber}) -> TvDB(ID:{tvDBID}|Season:{tvSeasonNumber}|Number:{tvEpNumber})"); if (!excludeFromWebCache) { var req = new CommandRequest_WebCacheSendXRefAniDBTvDB(xref.CrossRef_AniDB_TvDBV2ID); req.Save(); } if (ServerSettings.Trakt_IsEnabled && !string.IsNullOrEmpty(ServerSettings.Trakt_AuthToken)) { // check for Trakt associations List <CrossRef_AniDB_TraktV2> trakt = RepoFactory.CrossRef_AniDB_TraktV2.GetByAnimeID(animeID); if (trakt.Count != 0) { foreach (CrossRef_AniDB_TraktV2 a in trakt) { RepoFactory.CrossRef_AniDB_TraktV2.Delete(a); } } var cmd2 = new CommandRequest_TraktSearchAnime(animeID, false); cmd2.Save(); } }