Пример #1
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);
            }
        }
Пример #2
0
        internal override void RegenerateDb(IProgress <RegenerateProgress> progress)
        {
            List <AniDB_Tag> tags = Where(tag => (tag.TagDescription?.Contains('`') ?? false) || tag.TagName.Contains('`')).ToList();

            using (IAtomic <List <AniDB_Tag>, object> update = BeginAtomicBatchUpdate(tags))
            {
                RegenerateProgress regen = new RegenerateProgress();
                regen.Title = "Fixing Tag Names";
                regen.Step  = 0;
                regen.Total = update.Updatable.Count;
                foreach (AniDB_Tag tag in update.Updatable)
                {
                    tag.TagDescription = tag.TagDescription?.Replace('`', '\'');
                    tag.TagName        = tag.TagName.Replace('`', '\'');
                    regen.Step++;
                    progress.Report(regen);
                }
                update.Commit();
                regen.Step = regen.Total;
                progress.Report(regen);
            }
        }