public static Search getSearchFromTwitterSavedSearch(AccountTwitter account, TwitterSavedSearch twitterSearch)
        {
            Search search = new Search(account);

            search.CreatedAt = twitterSearch.CreatedDate.ToLocalTime();
            search.Id        = twitterSearch.Id;
            search.name      = twitterSearch.Name;
            search.query     = twitterSearch.Query;
            search.Positon   = twitterSearch.Position;

            return(search);
        }
Пример #2
0
        public static void addSearchToAccount(AccountTwitter account, string query)
        {
            CreateSavedSearchOptions options = new TweetSharp.CreateSavedSearchOptions();

            options.Query = query;

            IAsyncResult       result      = account.twitterService.BeginCreateSavedSearch(options);
            TwitterSavedSearch savedSearch = account.twitterService.EndCreateSavedSearch(result);


            if (savedSearch != null)
            {
                account.addSearch(TweetSharpConverter.getSearchFromTwitterSavedSearch(account, savedSearch));
            }
        }
Пример #3
0
        public Search(AccountTwitter ParentAccount)
        {
            Items       = new ThreadSaveObservableCollection <TwitterItem>();
            name        = "";
            query       = "";
            CreatedAt   = DateTime.Now;
            Account     = ParentAccount;
            savedSearch = new TwitterSavedSearch();

            backgroundWorkerSearch = new BackgroundWorker();
            backgroundWorkerSearch.WorkerReportsProgress      = true;
            backgroundWorkerSearch.WorkerSupportsCancellation = true;
            backgroundWorkerSearch.DoWork             += new DoWorkEventHandler(backgroundWorkerSearch_DoWork);
            backgroundWorkerSearch.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorkerSearch_RunWorkerCompleted);
            backgroundWorkerSearch.ProgressChanged    += new ProgressChangedEventHandler(backgroundWorkerSearch_ProgressChanged);
        }
 private async void DeleteSavedSearch(TwitterSavedSearch searchToDelete)
 {
     Action callback = null;
     Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>(Visibility.Visible), ViewModelMessages.OverlayVisible);
     if (MessageBoxView.Show("Remove this saved search? It cannot be undone.", "delete saved search", MessageBoxButton.YesNo, MessageBoxResult.No) == MessageBoxResult.Yes)
     {
         this.ShowListOfSavedSearches = false;
         this.ShowDeletingSavedSearchThrobber = true;
         this.ShowDeleteSavedSearchErrorPanel = false;
         TwitterResponse<TwitterSavedSearch> searchdel = await Twitterizer.SavedSearches.DeleteAsync(App.AppState.Accounts[this.TwitterAccountID].Tokens, searchToDelete.Id, MetroTwitTwitterizer.Options);
         if (searchdel.Result == RequestResult.Success)
         {
             if (callback == null)
             {
                 callback = delegate
                 {
                     App.AppState.Accounts[this.TwitterAccountID].SavedSearches.Remove(searchToDelete);
                     Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>(null), this.MultiAccountifyToken(ViewModelMessages.SavedSearchesUpdated));
                 };
             }
             System.Windows.Application.Current.Dispatcher.Invoke(callback);
             this.ShowDeleteSavedSearchErrorPanel = false;
             this.ShowDeletingSavedSearchThrobber = false;
             if (App.AppState.Accounts[this.TwitterAccountID].SavedSearches.Count == 0)
             {
                 this.ShowListOfSavedSearches = false;
                 this.ShowNoSavedSearchesMessage = true;
                 this.ExpandSavedSearches = false;
             }
             else
             {
                 this.ShowListOfSavedSearches = true;
             }
         }
         else
         {
             this.ShowDeletingSavedSearchThrobber = false;
             this.ShowDeleteSavedSearchErrorPanel = true;
             if ((this.deleteRetryAttempts + 1) < this.deleteRetryErrorMessages.Length)
             {
                 this.DeleteSavedSearchErrorMessage = this.deleteRetryErrorMessages[this.deleteRetryAttempts++];
             }
             else
             {
                 this.DeleteSavedSearchErrorMessage = this.deleteRetryErrorMessages[this.deleteRetryErrorMessages.Length - 1];
             }
         }
     }
     Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>(Visibility.Collapsed), ViewModelMessages.OverlayVisible);
 }
 private void OpenSavedSearch(TwitterSavedSearch savedSearch)
 {
   InlinePopup.CurrentInline.Close();
   Messenger.Default.Send<GenericMessage<object>>(new GenericMessage<object>((object) new Tuple<string, string, Decimal?, ViewType>(savedSearch.Name, savedSearch.Query, new Decimal?(savedSearch.Id), this.viewType)), (object) this.MultiAccountifyToken((Enum) ViewModelMessages.Search));
 }
Пример #6
0
        public static List <TwitterItem> executeSearch(TwitterService service, string keyword, TwitterSavedSearch search, AccountTwitter account)
        {
            AppController.Current.Logger.writeToLogfile("Search for " + keyword + " background process started");
            TwitterSearchResult searchResult;

            List <TwitterItem> searchResults = new List <TwitterItem>();

            if (account == null)
            {
                if (AppController.Current.AllTwitterAccounts.Count > 0)
                {
                    account = AppController.Current.AllTwitterAccounts[0] as AccountTwitter;
                }
                else
                {
                    return(searchResults);
                }
            }

            SearchOptions options = new SearchOptions();

            if (search != null)
            {
                options.Q = search.Query;
            }
            else
            {
                search = new TwitterSavedSearch();
            }
            if (string.IsNullOrEmpty(options.Q))
            {
                options.Q = keyword;
            }
            searchResult = service.Search(options);


            if (searchResult != null)
            {
                AppController.Current.Logger.writeToLogfile("Search for " + keyword + " found " + searchResult.Statuses.Count() + " items");
                foreach (TwitterStatus found in searchResult.Statuses)
                {
                    AppController.Current.Logger.writeToLogfile("Converting search result for " + keyword + " with id " + found.Id.ToString() + " to Nymphicus item");
                    TwitterItem item = API.TweetSharpConverter.getItemFromTwitterSearchResult(found, account);
                    AppController.Current.Logger.writeToLogfile("Converted successfully search result " + found.Id.ToString() + " to Nymphicus item");
                    if (search != null)
                    {
                        item.SourceSearchId = search.Id;
                        item.isSearchResult = true;
                        item.searchName     = keyword;
                    }
                    searchResults.Add(item);
                }
            }
            else
            {
                AppController.Current.Logger.writeToLogfile("Search for " + keyword + " failed");
            }



            return(searchResults);
        }