Exemple #1
0
            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();
            }
Exemple #2
0
 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);
 }
Exemple #3
0
        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}");
        }