Exemplo n.º 1
0
 public AniDB_GroupStatus GetByAnimeIDAndGroupID(int animeid, int groupid)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(AnimeGroups.GetOne(animeid, groupid));
         }
         return(Table.FirstOrDefault(a => a.AnimeID == animeid && a.GroupID == groupid));
     }
 }
Exemplo n.º 2
0
 public Trakt_Show GetByTraktSlug(string slug)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Slugs.GetOne(slug));
         }
         return(Table.FirstOrDefault(a => a.TraktID == slug));
     }
 }
Exemplo n.º 3
0
 public List <TvDB_ImagePoster> GetBySeriesID(int seriesID)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(SeriesIDs.GetMultiple(seriesID));
         }
         return(Table.Where(a => a.SeriesID == seriesID).ToList());
     }
 }
Exemplo n.º 4
0
 public List <CrossRef_File_Episode> GetByHash(string hash)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Hashes.GetMultiple(hash).OrderBy(a => a.EpisodeOrder).ToList());
         }
         return(Table.Where(a => a.Hash == hash).OrderBy(a => a.EpisodeOrder).ToList());
     }
 }
Exemplo n.º 5
0
 public List <int> GetAnimesIdByHashes(IEnumerable <string> hashes)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(hashes.SelectMany(a => Hashes.GetMultiple(a)).Select(a => a.AnimeID).Distinct().ToList());
         }
         return(Table.Where(a => hashes.Contains(a.Hash)).Select(a => a.AnimeID).Distinct().ToList());
     }
 }
Exemplo n.º 6
0
 /// <summary>
 /// This is the only way to uniquely identify the record other than the IDENTITY
 /// </summary>
 /// <param name="hash"></param>
 /// <param name="episodeID"></param>
 /// <returns></returns>
 public CrossRef_File_Episode GetByHashAndEpisodeID(string hash, int episodeID)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Hashes.GetMultiple(hash).FirstOrDefault(a => a.EpisodeID == episodeID));
         }
         return(Table.FirstOrDefault(a => a.Hash == hash && a.EpisodeID == episodeID));
     }
 }
Exemplo n.º 7
0
 public List <string> GetHashesByEpisodeIds(IEnumerable <int> episodeIDs)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(episodeIDs.SelectMany(a => Episodes.GetMultiple(a)).Select(a => a.Hash).Distinct().ToList());
         }
         return(Table.Where(a => episodeIDs.Contains(a.EpisodeID)).Select(a => a.Hash).Distinct().ToList());
     }
 }
Exemplo n.º 8
0
 public List <int> GetIdsByFilesIDs(IEnumerable <int> ids)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(ids.SelectMany(a => Files.GetMultiple(a)).Select(a => a.FileID).Distinct().ToList());
         }
         return(Table.Where(a => ids.Contains(a.FileID)).Select(a => a.FileID).Distinct().ToList());
     }
 }
Exemplo n.º 9
0
 /// <summary>
 /// Gets a unique episode by series, season, and tvdb episode number
 /// </summary>
 /// <param name="seriesID"></param>
 /// <param name="seasonNumber"></param>
 /// <param name="epNumber"></param>
 /// <returns></returns>
 public TvDB_Episode GetBySeriesIDSeasonNumberAndEpisode(int seriesID, int seasonNumber, int epNumber)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(SeriesIDs.GetMultiple(seriesID).FirstOrDefault(xref => xref.SeasonNumber == seasonNumber && xref.EpisodeNumber == epNumber));
         }
         return(Table.FirstOrDefault(a => a.SeriesID == seriesID && a.SeasonNumber == seasonNumber && a.EpisodeNumber == epNumber));
     }
 }
Exemplo n.º 10
0
 public CrossRef_Languages_AniDB_File GetByFileAndLanguageID(int id, int langid)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Files.GetMultiple(id).FirstOrDefault(a => a.LanguageID == langid));
         }
         return(Table.FirstOrDefault(a => a.FileID == id && a.LanguageID == langid));
     }
 }
Exemplo n.º 11
0
 public List <int> GetIdsByFileID(int id)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Files.GetMultiple(id).Select(a => a.CrossRef_Languages_AniDB_FileID).ToList());
         }
         return(Table.Where(a => a.FileID == id).Select(a => a.CrossRef_Languages_AniDB_FileID).ToList());
     }
 }
 public List <int> GetIdsByAnimeID(int id)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Animes.GetMultiple(id).Select(a => a.AniDB_Anime_ReviewID).ToList());
         }
         return(Table.Where(a => a.AnimeID == id).Select(a => a.AniDB_Anime_ReviewID).ToList());
     }
 }
 public AniDB_Anime_Review GetByAnimeIDAndReviewID(int animeid, int reviewid)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(AnimeReviews.GetOne(animeid, reviewid));
         }
         return(Table.FirstOrDefault(a => a.AnimeID == animeid && a.ReviewID == reviewid));
     }
 }
Exemplo n.º 14
0
 public List <AniDB_GroupStatus> GetByAnimeID(int id)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Animes.GetMultiple(id));
         }
         return(Table.Where(a => a.AnimeID == id).ToList());
     }
 }
 public List <CrossRef_AniDB_TraktV2> GetByTraktID(string traktID)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Trakts.GetMultiple(traktID));
         }
         return(Table.Where(a => a.TraktID == traktID).ToList());
     }
 }
Exemplo n.º 16
0
 public TvDB_Episode GetBySeriesIDAndDate(int seriesID, DateTime date)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(SeriesIDs.GetMultiple(seriesID).FirstOrDefault(a => a.SeasonNumber > 0 && a.AirDate != null && Math.Abs((a.AirDate.Value - date).TotalDays) <= 2D));
         }
         return(Table.FirstOrDefault(a => a.SeriesID == seriesID && a.SeasonNumber > 0 && a.AirDate != null && Math.Abs((a.AirDate.Value - date).TotalDays) <= 2D));
     }
 }
Exemplo n.º 17
0
 public List <CrossRef_File_Episode> GetByFileNameAndSize(string filename, long filesize)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Filenames.GetMultiple(filename).Where(a => a.FileSize == filesize).ToList());
         }
         return(Table.Where(a => a.FileName == filename && a.FileSize == filesize).ToList());
     }
 }
Exemplo n.º 18
0
 /// <summary>
 /// Returns the Number of Episodes in a Season
 /// </summary>
 /// <param name="seriesID"></param>
 /// <param name="seasonNumber"></param>
 /// <returns>int</returns>
 public int GetNumberOfEpisodesForSeason(int seriesID, int seasonNumber)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(SeriesIDs.GetMultiple(seriesID).Count(xref => xref.SeasonNumber == seasonNumber));
         }
         return(Table.Count(a => a.SeriesID == seriesID && a.SeasonNumber == seasonNumber));
     }
 }
Exemplo n.º 19
0
 public List <CrossRef_File_Episode> GetByEpisodeID(int episodeID)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Episodes.GetMultiple(episodeID));
         }
         return(Table.Where(a => a.EpisodeID == episodeID).ToList());
     }
 }
Exemplo n.º 20
0
 /// <summary>
 /// Returns a sorted list of all episodes in a season
 /// </summary>
 /// <param name="seriesID"></param>
 /// <param name="seasonNumber"></param>
 /// <returns></returns>
 public List <TvDB_Episode> GetBySeriesIDAndSeasonNumberSorted(int seriesID, int seasonNumber)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(SeriesIDs.GetMultiple(seriesID).Where(xref => xref.SeasonNumber == seasonNumber).OrderBy(xref => xref.EpisodeNumber).ToList());
         }
         return(Table.Where(a => a.SeriesID == seriesID && a.SeasonNumber == seasonNumber).OrderBy(xref => xref.EpisodeNumber).ToList());
     }
 }
Exemplo n.º 21
0
 public List <string> GetHashesByEpisodeId(int episodeID)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             Episodes.GetMultiple(episodeID).Select(a => a.Hash).Distinct().ToList();
         }
         return(Table.Where(a => a.EpisodeID == episodeID).Select(a => a.Hash).Distinct().ToList());
     }
 }
Exemplo n.º 22
0
 /// <summary>
 /// Returns a set of all tvdb seasons in a series
 /// </summary>
 /// <param name="seriesID"></param>
 /// <returns>distinct list of integers</returns>
 public List <int> GetSeasonNumbersForSeries(int seriesID)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(SeriesIDs.GetMultiple(seriesID).Select(xref => xref.SeasonNumber).Distinct().ToList());
         }
         return(Table.Where(a => a.SeriesID == seriesID).Select(xref => xref.SeasonNumber).Distinct().ToList());
     }
 }
Exemplo n.º 23
0
 public List <int> GetIdsByHash(string hash)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Hashes.GetMultiple(hash).Select(a => a.CrossRef_File_EpisodeID).ToList());
         }
         return(Table.Where(a => a.Hash == hash).Select(a => a.CrossRef_File_EpisodeID).ToList());
     }
 }
 public List <CrossRef_AniDB_TraktV2> GetByAnimeID(int id)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Animes.GetMultiple(id).OrderBy(a => a.AniDBStartEpisodeType).ThenBy(a => a.AniDBStartEpisodeNumber).ToList());
         }
         return(Table.Where(a => a.AnimeID == id).OrderBy(a => a.AniDBStartEpisodeType).ThenBy(a => a.AniDBStartEpisodeNumber).ToList());
     }
 }
Exemplo n.º 25
0
 public List <int> GetMultiEpIdByHashes(IEnumerable <string> hashes)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(hashes.Select(a => Hashes.GetMultiple(a)).SelectMany(a => a).GroupBy(a => a.EpisodeID).Where(a => a.Count() > 1).Select(a => a.Key).Distinct().ToList());
         }
         return(Table.Where(a => hashes.Contains(a.Hash)).GroupBy(a => a.EpisodeID).Where(a => a.Count() > 1).Select(a => a.Key).Distinct().ToList());
     }
 }
 public CrossRef_AniDB_TraktV2 GetByTraktID(string id, int season, int episodeNumber, int animeID, int aniEpType, int aniEpisodeNumber)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Trakts.GetMultiple(id).FirstOrDefault(a => a.AniDBStartEpisodeType == aniEpType && a.AniDBStartEpisodeNumber == aniEpisodeNumber && a.AnimeID == animeID && a.TraktSeasonNumber == season && a.TraktStartEpisodeNumber == episodeNumber));
         }
         return(Table.FirstOrDefault(a => a.TraktID == id && a.AniDBStartEpisodeType == aniEpType && a.AniDBStartEpisodeNumber == aniEpisodeNumber && a.AnimeID == animeID && a.TraktSeasonNumber == season && a.TraktStartEpisodeNumber == episodeNumber));
     }
 }
Exemplo n.º 27
0
 public TvDB_ImagePoster GetByTvDBID(int id)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(TvDBIDs.GetOne(id));
         }
         return(Table.FirstOrDefault(a => a.Id == id));
     }
 }
 public List <CrossRef_AniDB_TraktV2> GetByTraktIDAndSeason(string traktID, int season)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Trakts.GetMultiple(traktID).Where(a => a.TraktSeasonNumber == season).ToList());
         }
         return(Table.Where(a => a.TraktID == traktID && a.TraktSeasonNumber == season).ToList());
     }
 }
Exemplo n.º 29
0
 public AniDB_Anime_Similar GetByAnimeIDAndSimilarID(int animeid, int similaranimeid)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(AnimeSimilars.GetOne(animeid, similaranimeid));
         }
         return(Table.FirstOrDefault(a => a.AnimeID == animeid && a.SimilarAnimeID == similaranimeid));
     }
 }
Exemplo n.º 30
0
 public Language GetByLanguageName(string lanname)
 {
     using (RepoLock.ReaderLock())
     {
         if (IsCached)
         {
             return(LanguageNames.GetOne(lanname));
         }
         return(Table.FirstOrDefault(a => a.LanguageName == lanname));
     }
 }