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); }
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); } } }