Exemplo n.º 1
0
        private void getIdolListAppBarMenuItem_Click(object sender, EventArgs e)
        {
            FriendsAPI friendsAPI = new FriendsAPI(App.Account);
            int        reqNum     = 30;
            int        count      = App.Account.Person.IdolNum % reqNum == 0 ?
                                    App.Account.Person.IdolNum / reqNum :
                                    App.Account.Person.IdolNum / reqNum + 1;

            for (int page = 1; page <= count; page++)
            {
                AddMsg(String.Format("正在更新收听账号的详细信息(第{0}页/共{1}页)...", page, count));
                int index = reqNum * (page - 1);

                friendsAPI.IdolList(reqNum, index, FriendsAPI.Mode.All, (returnResult) =>
                {
                    Result result            = returnResult.Item1;
                    List <Person> personList = returnResult.Item2;
                    if (result.ErrCode == Result.SUCCESS)
                    {
                        foreach (Person person in personList)
                        {
                            WeiBoAnalyser.Common.DbHelper.Insert <Person>(person);
                        }
                    }

                    AddMsg(String.Format("更新收听账号的信息完成(第{0}页/共{1}页)", result.Page, count));
                    if (result.AutoResetEvent != null)
                    {
                        result.AutoResetEvent.Set();
                    }
                }, page);
            }
        }
Exemplo n.º 2
0
        protected override async Task RefreshList()
        {
            try
            {
                RaiseStartRefreshList();

                Items.Clear();
                var list = await FriendsAPI.GetExtendedAsync(
                    new[] { FriendsAPI.FieldsEnum.photo_50, FriendsAPI.FieldsEnum.online });

                if (list == null)
                {
                    return;
                }

                foreach (var item in list.Items)
                {
                    Items.Add(new VCAListItem <VKFriend>(item));
                }
            }
            catch (NullReferenceException)
            {
            }
            finally
            {
                RaiseFinishRefreshList();
            }
        }
        protected override async Task <IEnumerable <VKFriend> > RefreshCore()
        {
            var list = await VKApi.Audio.GetBroadcastListAsync(VKBroadcastFilterEnum.All);

            var friendList = await FriendsAPI.GetExtendedAsync(new[] { FriendsAPI.FieldsEnum.photo_50 });

            Debug.Assert(list != null);
            Debug.Assert(friendList != null);

            list.Items.ForEach(b =>
            {
                var friend = friendList.Items.FirstOrDefault(v => v.Id == b.Id);
                if (friend != null)
                {
                    b.Photo50 = friend.Photo50;
                }
            });

            return(list.Items);
        }