private void TweetCountChanged(object sender, SelectionChangedEventArgs e) { ComboBoxItem count = (ComboBoxItem)((ComboBox)sender).SelectedValue; if (count != null) { setting.AddOrUpdateValue("TweetCount", int.Parse((string)count.Content)); } }
private async void DeleteAccount(object sender, RoutedEventArgs e) { var button = (Button)sender; var user = (UserAccessToken)button.DataContext; var screenName = user.accessToken.screenName; var storage = new StoreSettings(); try { var item = from token in tokens where token.screenName == screenName select token; tokens.Remove(item.First()); storage.AddOrUpdateValue("AccessTokens", tokens); MessageDialog success = new MessageDialog("アカウント: @" + screenName + "が削除されました。"); await success.ShowAsync(); Frame.Navigate(typeof(AccountPage)); } catch (Exception ex) { MessageDialog message = new MessageDialog("アカウントを削除できませんでした。:" + ex.Message, "おや?何かがおかしいようです。"); await message.ShowAsync(); } }
private async void AuthButtonTapped(object sender, TappedRoutedEventArgs e) { string pin = PINBox.Text; if (!String.IsNullOrEmpty(pin)) { var accessToken = await authorizer.GetAccessToken(pin); var exist = from token in tokens where token.screenName == accessToken.screenName select token; if (exist.Count() != 0) { var message = new MessageDialog(loader.GetString("Settings_AuthorizePage_AccountDuplicated"), loader.GetString("ErrorTitle1")); await message.ShowAsync(); } else { if (accessToken.token != null && accessToken.tokenSecret != null && accessToken.screenName != null) { tokens.Add(accessToken); storage.AddOrUpdateValue("AccessTokens", tokens); var message = new MessageDialog(loader.GetString("Settings_AuthorizePage_AccountAdded")); await message.ShowAsync(); Frame.Navigate(typeof(MainPage)); } else { } } } else { var message = new MessageDialog(loader.GetString("Settings_AuthorizePage_EnterThePin"), loader.GetString("ErrorTitle1")); await message.ShowAsync(); } }
private void UsingBrowserToggle_Toggled(object sender, RoutedEventArgs e) { var value = UsingBrowserToggle.IsOn; setting.AddOrUpdateValue("UseInAppBrowser", value); }
public async Task GetStream(int retryCount) { TwitterClient client = new TwitterClient(accessToken); IsStreamRunning = true; IsStreamRunningString = "Streaming..."; try { await client.GetStream(async (tweet) => { if (tweet != null) { switch (tweet.tweetRole)//ここでいろいろ振り分けるぞ~^^ { case AdvancedTweet.TweetRoles.Tweet: tweetColumns[0].tweetList.Insert(0, tweet); var user = tweet.tweet.entities.user_mentions.Where(x => x.screen_name == accessToken.screenName).FirstOrDefault(); if (user != null) { tweetColumns[1].tweetList.Insert(0, tweet); } break; case AdvancedTweet.TweetRoles.Event: break; case AdvancedTweet.TweetRoles.Delete: break; case AdvancedTweet.TweetRoles.Friends: var storage = new StoreSettings(); var cache = new StoreCache(); List <User> friends; if (TmpUserData.Friends == null) { TmpUserData.Friends = new ObservableCollection <User>(); } var prev = storage.TryGetValueWithDefault("FriendCount" + accessToken.screenName, 0); if (prev == tweet.friends.friends.Count) { friends = await cache.TryLoadCache <List <User> >("FriendObject" + accessToken.screenName); if (friends == null) { var friendsClient = new TwitterClient(accessToken); friends = await friendsClient.GetUsersDetailsByIds(tweet.friends.friends); storage.AddOrUpdateValue("FriendCount" + accessToken.screenName, tweet.friends.friends.Count); await cache.SaveCache("FriendObject" + accessToken.screenName, friends); } } else { var friendsClient = new TwitterClient(accessToken); friends = await friendsClient.GetUsersDetailsByIds(tweet.friends.friends); storage.AddOrUpdateValue("FriendCount" + accessToken.screenName, tweet.friends.friends.Count); await cache.SaveCache("FriendObject" + accessToken.screenName, friends); } if (friends != null) { foreach (var friend in friends) { TmpUserData.Friends.Add(friend); } } break; default: break; } foreach (var column in tweetColumns) { var count = column.tweetList.Count; if (count > tweetCountUpper) { column.tweetList.RemoveAt(count - 2); column.tweetList.RemoveAt(count - 3); } } } }); } catch (Exception ex) { if (retryCount < 3) { var message = new MessageDialog("ユーザーストリームへの接続に失敗しました。リトライします。" + ex.Message, "おや?なにかがおかしいようです。"); await message.ShowAsync(); await GetStream(++retryCount); } else { IsStreamRunning = false; IsStreamRunningString = "Disconnected."; var message = new MessageDialog("ユーザーストリームへの接続に3回連続で失敗しました。ネットワークへの接続を確認してください。:" + ex.Message, "おや?なにかがおかしいようです。"); await message.ShowAsync(); } } }