public AniDB(AniDB_Episode ep) { if (!decimal.TryParse(ep.Rating, out var rating)) { rating = 0; } if (!int.TryParse(ep.Votes, out var votes)) { votes = 0; } var titles = RepoFactory.AniDB_Episode_Title.GetByEpisodeID(ep.EpisodeID); ID = ep.EpisodeID; Type = MapAniDBEpisodeType(ep.GetEpisodeTypeEnum()); EpisodeNumber = ep.EpisodeNumber; AirDate = ep.GetAirDateAsDate(); Description = ep.Description; Rating = new Rating { MaxValue = 10, Value = rating, Votes = votes, Source = "AniDB", }; Titles = titles.Select(a => new Title { Name = a.Title, Language = a.Language.ToLower(), Default = false, Source = "AniDB", } ).ToList(); }
public EpisodeDetails(AniDB_Episode episode, SVR_AniDB_Anime anime, SVR_AnimeSeries series = null) { ID = episode.EpisodeID; Title = Episode.GetEpisodeTitle(episode.EpisodeID); Number = episode.EpisodeNumber; Type = Episode.MapAniDBEpisodeType(episode.GetEpisodeTypeEnum()); AirDate = (DateTime)episode.GetAirDateAsDate(); InCollection = series != null; SeriesID = anime.AnimeID; SeriesTitle = series?.GetSeriesName() ?? anime.PreferredTitle; SeriesPoster = Series.GetDefaultImage(anime.AnimeID, ImageSizeType.Poster) ?? Series.GetAniDBPoster(anime.AnimeID); }
public static void LinkAniDBTvDBEpisode(int aniDBID, int tvDBID) { AniDB_Episode ep = Repo.Instance.AniDB_Episode.GetByEpisodeID(aniDBID); TvDB_Episode tvep = Repo.Instance.TvDB_Episode.GetByID(tvDBID); using (var upd = Repo.Instance.CrossRef_AniDB_Provider.BeginAddOrUpdate(() => Repo.Instance.CrossRef_AniDB_Provider.GetByAnimeIdAndProvider(CrossRefType.TvDB, ep.AnimeID, tvep.SeriesID.ToString()))) { upd.Entity.EpisodesListOverride.AddOrUpdate(aniDBID, tvDBID.ToString(), tvep.SeasonNumber, ep.EpisodeNumber, ep.GetEpisodeTypeEnum(), MatchRating.UserVerified); if (upd.Entity.EpisodesListOverride.NeedPersitance) { upd.Commit(); } } using (var upd = Repo.Instance.AnimeEpisode.BeginAddOrUpdate(() => Repo.Instance.AnimeEpisode.GetByAniDBEpisodeID(aniDBID))) { SVR_AniDB_Anime.UpdateStatsByAnimeID(ep.AnimeID); upd.Commit(); } logger.Trace($"Changed tvdb episode association: {aniDBID}"); }