Пример #1
0
        private void LoadList(TwitterListType listType, bool refresh, string searchTerm)
        {
            string fileName = null;
            ObservableCollection<ItemViewModel> parentList = null;

            switch (listType)
            {
                case TwitterListType.Statuses:
                    fileName = Constants.StatusesFileName;
                    parentList = Items;
                    break;
                case TwitterListType.Mentions:
                    fileName = Constants.MentionsFileName;
                    parentList = MentionItems;
                    break;
                case TwitterListType.DirectMessages:
                    fileName = Constants.DirectMessagesFileName;
                    parentList = DirectMessageItems;
                    break;
                case TwitterListType.Favorites:
                    fileName = Constants.FavoritesFileName;
                    parentList = FavoriteItems;
                    break;
            }

            if (String.IsNullOrEmpty(fileName))
                return;

            // If a cached file exists, bind it first then go update unless we are refreshing
            if (!refresh)
            {
                var itemList = Helper.LoadSetting<List<ItemViewModel>>(fileName);
                if (itemList != null)
                {
                    BindList(parentList, itemList);
                }
            }

            var twitterHelper = new TwitterHelper();
            twitterHelper.LoadList(listType, (parentList != null && parentList.Count > 0) ? parentList[0].Id : 0, searchTerm);
            twitterHelper.LoadedCompleteEvent += (sender, e) =>
            {
                var list = Helper.LoadSetting<List<ItemViewModel>>(fileName);
                if (list == null)
                {
                    Helper.ShowMessage("Error Loading Data from Twitter.");
                    return;
                }
                CheckCount();
                Deployment.Current.Dispatcher.BeginInvoke(() => BindList(parentList, list));
            };
        }
Пример #2
0
        private void FavoriteClick(object sender, EventArgs e)
        {
            ProgressBar.IsIndeterminate = true;
            ProgressBar.Visibility = Visibility.Visible;

            var twitter = new TwitterHelper();
            twitter.FavoriteCompletedEvent += (sender2, e2) =>
            {
                ProgressBar.IsIndeterminate = false;
                ProgressBar.Visibility = Visibility.Collapsed;
                MessageBox.Show("Item added to favorites");
            };
            twitter.ErrorEvent += (sender2, e2) =>
            {
                ProgressBar.IsIndeterminate = false;
                ProgressBar.Visibility = Visibility.Collapsed;
            };
            twitter.FavoriteItem(_detailItem.Id);
        }
Пример #3
0
        private void PostTweet()
        {
            if (String.IsNullOrEmpty(TweetTextBox.Content))
                return;

            ProgressBar.Visibility = Visibility.Visible;
            ProgressBar.IsIndeterminate = true;

            var twitter = new TwitterHelper(_twitterSettings);

            // Successful event handler, navigate back if successful
            twitter.TweetCompletedEvent += (sender, e) =>
            {
                ProgressBar.Visibility = Visibility.Collapsed;
                ProgressBar.IsIndeterminate = false;
                if (NavigationService.CanGoBack)
                    NavigationService.GoBack();
            };

            // Failed event handler, show error
            twitter.ErrorEvent += (sender, e) =>
            {
                ProgressBar.Visibility = Visibility.Collapsed;
                ProgressBar.IsIndeterminate = false;
                MessageBox.Show("Connection to Twitter was unsuccessful.");
            };

            twitter.NewTweet(TweetTextBox.Content);
        }