private async Task <MusicDetail> GetMusicDetail(Dictionary <string, MusicDetail> cachedMusicDetails, string name)
        {
            if (cachedMusicDetails.ContainsKey(name))
            {
                return(cachedMusicDetails[name]);
            }

            DebugLogger.WriteLine($"{name}の詳細情報取得");
            var   id = Utility.GetId(name);
            var   musicDetailAsync = chunithmNetConnector.GetMusicDetailAsync(id);
            await musicDetailAsync;

            var response = musicDetailAsync.Result;

            if (!response.Success)
            {
                throw new Exception($"MusicDetail:[{id}]の取得に失敗しました");
            }

            cachedMusicDetails.Add(name, response.MusicDetail);
            return(response.MusicDetail);
        }
Exemple #2
0
 private async void musicDetailGet409ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     await chunithmNetConnector.GetMusicDetailAsync(409);
 }