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)); } }
public Trakt_Show GetByTraktSlug(string slug) { using (RepoLock.ReaderLock()) { if (IsCached) { return(Slugs.GetOne(slug)); } return(Table.FirstOrDefault(a => a.TraktID == slug)); } }
public List <TvDB_ImagePoster> GetBySeriesID(int seriesID) { using (RepoLock.ReaderLock()) { if (IsCached) { return(SeriesIDs.GetMultiple(seriesID)); } return(Table.Where(a => a.SeriesID == seriesID).ToList()); } }
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()); } }
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()); } }
/// <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)); } }
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()); } }
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()); } }
/// <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)); } }
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)); } }
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)); } }
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()); } }
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)); } }
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()); } }
/// <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)); } }
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()); } }
/// <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()); } }
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()); } }
/// <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()); } }
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()); } }
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)); } }
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()); } }
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)); } }
public Language GetByLanguageName(string lanname) { using (RepoLock.ReaderLock()) { if (IsCached) { return(LanguageNames.GetOne(lanname)); } return(Table.FirstOrDefault(a => a.LanguageName == lanname)); } }