Esempio n. 1
0
        public async Task <List <Database.Local.RankingGenreTag> > GetRankingGenreTagsAsync(RankingGenre genre, bool isForceUpdate = false)
        {
            if (isForceUpdate)
            {
                Database.Local.RankingGenreTagsDb.Delete(genre);
            }
            else
            {
                var cachedTags = Database.Local.RankingGenreTagsDb.Get(genre);
                if (cachedTags != null && (DateTime.Now - cachedTags.UpdateAt) < TimeSpan.FromHours(6))
                {
                    return(cachedTags.Tags);
                }
            }

            var tagsRaw = await NiconicoRanking.GetGenrePickedTagAsync(genre);

            var tags = tagsRaw.Select(x => new Database.Local.RankingGenreTag()
            {
                DisplayName = x.DisplayName, Tag = x.Tag
            }).ToList();

            Database.Local.RankingGenreTagsDb.Upsert(genre, tags);
            return(tags);
        }
Esempio n. 2
0
        public async Task RankingHotTopicTagsGettingsAsync()
        {
            var tags = await NiconicoRanking.GetGenrePickedTagAsync(RankingGenre.HotTopic);

            foreach (var tag in tags)
            {
                Assert.IsNotNull(tag);

                if (tag.IsDefaultTag)
                {
                    System.Diagnostics.Debug.WriteLine("Default tag: " + tag.DisplayName);
                    Assert.IsNotNull(tag.DisplayName);
                }
                else
                {
                    System.Diagnostics.Debug.WriteLine($"{tag.DisplayName}");
                    System.Diagnostics.Debug.WriteLine($"{tag.Tag}");
                    Assert.IsNotNull(tag.DisplayName);
                    Assert.IsNotNull(tag.Tag);
                }
            }
        }