Example #1
0
 public List <SVR_AniDB_File> GetByInternalVersion(int version)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? InternalVersions.GetMultiple(version) : Table.Where(a => a.InternalVersion == version).ToList());
     }
 }
Example #2
0
        internal override void RegenerateDb(IProgress <RegenerateProgress> progress)
        {
            List <AniDB_Episode> episodes;

            using (CacheLock.ReaderLock())
            {
                episodes = IsCached ? Cache.Values.Where(episode => episode.EnglishName.Contains('`') || episode.RomajiName.Contains('`')).ToList() : Table.Where((episode => episode.EnglishName.Contains('`') || episode.RomajiName.Contains('`'))).ToList();
            }
            using (IAtomic <List <AniDB_Episode>, object> update = BeginAtomicBatchUpdate(episodes))
            {
                RegenerateProgress regen = new RegenerateProgress();
                regen.Title = "Fixing Episode Titles";
                regen.Step  = 0;
                regen.Total = update.Updatable.Count;
                foreach (AniDB_Episode episode in update.Updatable)
                {
                    episode.EnglishName = episode.EnglishName.Replace('`', '\'');
                    episode.RomajiName  = episode.RomajiName.Replace('`', '\'');
                    regen.Step++;
                    progress.Report(regen);
                }
                update.Commit();
                regen.Step = regen.Total;
                progress.Report(regen);
            }
        }
Example #3
0
 public List <AniDB_Vote> GetByEntity(int entID)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? EntityIDs.GetMultiple(entID)?.ToList() : Table.Where(a => a.EntityID == entID).ToList());
     }
 }
Example #4
0
 public List <SVR_AniDB_File> GetByResolution(string res)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? Resolutions.GetMultiple(res) : Table.Where(a => a.File_VideoResolution == res).ToList());
     }
 }
Example #5
0
 public SVR_AniDB_File GetByMD5(string hash)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? MD5s.GetOne(hash) : Table.FirstOrDefault(a => a.MD5 == hash));
     }
 }
Example #6
0
 public List <SVR_AniDB_File> GetByAnimeID(int animeID)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? Animes.GetMultiple(animeID) : Table.Where(a => a.AnimeID == animeID).ToList());
     }
 }
Example #7
0
 public SVR_AniDB_File GetByFileID(int fileID)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? FileIds.GetOne(fileID) : Table.FirstOrDefault(a => a.FileID == fileID));
     }
 }
Example #8
0
 public SVR_AniDB_File GetByHashAndFileSize(string hash, long fsize)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? Hashes.GetMultiple(hash).FirstOrDefault(a => a.FileSize == fsize) : Table.FirstOrDefault(a => a.Hash == hash && a.FileSize == fsize));
     }
 }
 public AniDB_Tag GetByTagID(int id)
 {
     using (CacheLock.ReaderLock())
     {
         return(IsCached ? Tags.GetOne(id) : Table.FirstOrDefault(a => a.TagID == id));
     }
 }
        /*
        public override void SaveOLD(SVR_AniDB_Anime obj)
        {
            lock (globalDBLock)
            {
                lock (obj)
                {
                    if (obj.AniDB_AnimeID == 0)
                    {
                        obj.Contract = null;
                        base.Save(obj);
                    }
                    using (var session = DatabaseFactory.SessionFactory.OpenSession())
                    {
                        obj.UpdateContractDetailed(session.Wrap());
                    }
                    // populate the database
                    base.Save(obj);
                }
            }
        }
        */

        public  SVR_AniDB_Anime GetByAnimeID(int id)
        {
            using (CacheLock.ReaderLock())
            {
                if (IsCached)
                    return Animes.GetOne(id);
                return Table.FirstOrDefault(a => a.AnimeID == id);
            }
        }
Example #11
0
 public List <AniDB_Episode> GetByAnimeIDAndEpisodeTypeNumber(int animeid, EpisodeType epType, int epnumber)
 {
     using (CacheLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Animes.GetMultiple(animeid).Where(a => a.EpisodeNumber == epnumber && a.GetEpisodeTypeEnum() == epType).ToList());
         }
         return(Table.Where(a => a.AnimeID == animeid && a.EpisodeNumber == epnumber && a.EpisodeType == (int)epType).ToList());
     }
 }
Example #12
0
 public List <AniDB_Episode> GetByAnimeID(int id)
 {
     using (CacheLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Animes.GetMultiple(id));
         }
         return(Table.Where(a => a.AnimeID == id).ToList());
     }
 }
Example #13
0
 public AniDB_Episode GetByEpisodeID(int id)
 {
     using (CacheLock.ReaderLock())
     {
         if (IsCached)
         {
             return(EpisodesIds.GetOne(id));
         }
         return(Table.FirstOrDefault(a => a.EpisodeID == id));
     }
 }
Example #14
0
 public AniDB_Anime_Tag GetByAnimeIDAndTagID(int animeid, int tagid)
 {
     using (CacheLock.ReaderLock())
     {
         if (IsCached)
         {
             return(Animes.GetMultiple(animeid).FirstOrDefault(a => a.TagID == tagid));
         }
         return(Table.FirstOrDefault(a => a.AnimeID == animeid && a.TagID == tagid));
     }
 }
Example #15
0
        public List <AniDB_Anime_Title> GetByAnimeIDLanguageTypeValue(int animeID, string language, string titleType,
                                                                      string title)
        {
            using (CacheLock.ReaderLock())
            {
                if (IsCached)
                {
                    return(Animes.GetMultiple(animeID).Where(a =>
                                                             a.Language.Equals(language, StringComparison.InvariantCultureIgnoreCase) &&
                                                             a.Title.Equals(title, StringComparison.InvariantCultureIgnoreCase) &&
                                                             a.TitleType.Equals(titleType, StringComparison.InvariantCultureIgnoreCase)).ToList());
                }

                return(Table.Where(a => a.AnimeID == animeID &&
                                   a.Language.Equals(language, StringComparison.InvariantCultureIgnoreCase) &&
                                   a.Title.Equals(title, StringComparison.InvariantCultureIgnoreCase) &&
                                   a.TitleType.Equals(titleType, StringComparison.InvariantCultureIgnoreCase)).ToList());
            }
        }
Example #16
0
 public ILookup <int, AniDB_Anime_Title> GetByAnimeIDs(ICollection <int> ids)
 {
     if (ids == null)
     {
         throw new ArgumentNullException(nameof(ids));
     }
     if (ids.Count == 0)
     {
         return(EmptyLookup <int, AniDB_Anime_Title> .Instance);
     }
     using (CacheLock.ReaderLock())
     {
         if (IsCached)
         {
             return(ids.SelectMany(Animes.GetMultiple).ToLookup(t => t.AnimeID));
         }
         return(Table.Where(a => ids.Contains(a.AnimeID)).ToLookup(t => t.AnimeID));
     }
 }