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