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