public async Task LoadFromDoubanAsync()
        {
            var doubanId = this.DoubanId;

            if (string.IsNullOrWhiteSpace(doubanId))
            {
                return;
            }
            var info = await DoubanHelper.TryGetArtistInfoAsync(doubanId);

            if (info == null)
            {
                return;
            }
            var names = DoubanHelper.ParseName(info).ToArray();

            if (names.Length > 0)
            {
                for (var i = 0; i < names.Length; i++)
                {
                    var n = names[i];
                    names[i] = n
                               .Replace(", ", ",")
                               .Replace(" ,", ",")
                               .Replace(",", " , ")
                               .Replace("(蠻各)", "")
                               .Replace("(云兆)", "");
                }
                this.Names.AddRange(names);
            }
        }
Beispiel #2
0
            /// <summary>
            /// return true if success.
            /// </summary>
            /// <param name="dataCenter"></param>
            /// <param name="source"></param>
            /// <returns></returns>
            public async Task <bool> GenerateAsync(DataCenter dataCenter, ICoverParent source)
            {
                var item     = (Artist)source;
                var doubanId = item.DoubanId;

                if (string.IsNullOrWhiteSpace(doubanId))
                {
                    return(false);
                }
                var info = await DoubanHelper.TryGetArtistInfoAsync(doubanId);

                if (info == null)
                {
                    return(false);
                }
                var url          = info.GetLargeImageUrl();
                var coverBuilder = CoverBuilder.CreateArtist(item);

                coverBuilder.Uri.Add(url);
                return(await dataCenter.CoverManager.BuildCoverAsync(coverBuilder));
            }
Beispiel #3
0
        private async Task <string> TryGetCoverUrlFromDoubanIdAsync(JryCoverType type, string doubanId)
        {
            DoubanEntity json = null;

            switch (type)
            {
            case JryCoverType.Video:
                json = await DoubanHelper.TryGetMovieInfoAsync(doubanId);

                break;

            case JryCoverType.Artist:
                json = await DoubanHelper.TryGetArtistInfoAsync(doubanId);

                break;

            default:
                throw new ArgumentOutOfRangeException("type", type, null);
            }


            return(json != null?json.GetLargeImageUrl() : null);
        }