private void LoadFavoriteTweet(object obj) { PacketFavoritesList parameter = new PacketFavoritesList(); parameter.count = 200.ToString(); int loadFavCount = 0; DeleChangeText dele = new DeleChangeText(StateTextChange); for (int j = 0; j < 15; j++) { string json = WebInstence.SyncRequest(parameter); if (json.Length == 0) { MessageBox.Show("불러오기 제한! 몇 분 뒤 다시 시도해주세요(최대 15분)", "오류", MessageBoxButton.OK, MessageBoxImage.Warning); break; } List <ClientTweet> listTemp = JsonConvert.DeserializeObject <List <ClientTweet> >(json); loadFavCount += listTemp.Count; Application.Current.Dispatcher.BeginInvoke(dele, new object[] { $"불러오는중: {loadFavCount}/{countFav}" }); for (int i = 0; i < listTemp.Count; i++) { listTemp[i].Init(); if (listTemp[i].isMedia) { if (listTemp[i].dicPhoto.Count == 1) //media가 있는데 photo일 경우에만 저장 { foreach (ClientMedia item in listTemp[i].dicPhoto.Values) { if (item.type == "photo") { listTweet.Add(listTemp[i]); } break; } } else { listTweet.Add(listTemp[i]); } } } if (loadFavCount >= countFav) { break; } parameter.max_id = listTemp[listTemp.Count - 1].id; } Application.Current.Dispatcher.BeginInvoke(dele, new object[] { "불러오기 완료" }); NextState(); }
private void LoadMyInfo(object obj) { DeleChangeText dele = new DeleChangeText(StateTextChange); Application.Current.Dispatcher.BeginInvoke(dele, new object[] { "정보 불러오는 중" }); PacketVerifyCredentials parameter = new PacketVerifyCredentials(); string json = WebInstence.SyncRequest(parameter); User user = JsonConvert.DeserializeObject <User>(json); if (user == null) { Application.Current.Dispatcher.BeginInvoke(dele, new object[] { "정보 불러오기 실패" }); return; } countFav = user.favourites_count; Application.Current.Dispatcher.BeginInvoke(dele, new object[] { "정보 불러오기 완료!" }); NextState(); }