/// <summary> /// Adds a saved search to your twitter account /// </summary> /// <param name="id">ID of saved search</param> /// <param name="callback">Async Callback used in Silverlight queries</param> /// <returns>SavedSearch object</returns> public static SavedSearch DestroySavedSearch(this TwitterContext ctx, int id, Action <TwitterAsyncResponse <SavedSearch> > callback) { if (id < 1) { throw new ArgumentException("Invalid Saved Search ID: " + id, "id"); } var savedSearchUrl = ctx.BaseUrl + "saved_searches/destroy/" + id + ".json"; var reqProc = new SavedSearchRequestProcessor <SavedSearch>(); ITwitterExecute exec = ctx.TwitterExecutor; exec.AsyncCallback = callback; var resultsJson = exec.PostToTwitter( savedSearchUrl, new Dictionary <string, string>(), response => reqProc.ProcessActionResult(response, SavedSearchAction.Destroy)); SavedSearch result = reqProc.ProcessActionResult(resultsJson, SavedSearchAction.Destroy); result.ID = id.ToString(); return(result); }
/// <summary> /// Adds a saved search to your twitter account /// </summary> /// <param name="query">Search query to add</param> /// <param name="callback">Async Callback used in Silverlight queries</param> /// <returns>SavedSearch object</returns> public static SavedSearch CreateSavedSearch(this TwitterContext ctx, string query, Action <TwitterAsyncResponse <SavedSearch> > callback) { if (string.IsNullOrEmpty(query)) { throw new ArgumentException("query is required.", "query"); } var savedSearchUrl = ctx.BaseUrl + "saved_searches/create.json"; var reqProc = new SavedSearchRequestProcessor <SavedSearch>(); ITwitterExecute exec = ctx.TwitterExecutor; exec.AsyncCallback = callback; var resultsJson = exec.PostToTwitter( savedSearchUrl, new Dictionary <string, string> { { "query", query } }, response => reqProc.ProcessActionResult(response, SavedSearchAction.Create)); SavedSearch result = reqProc.ProcessActionResult(resultsJson, SavedSearchAction.Create); return(result); }
/// <summary> /// Adds a saved search to your twitter account /// </summary> /// <param name="id">ID of saved search</param> /// <param name="callback">Async Callback used in Silverlight queries</param> /// <returns>SavedSearch object</returns> public async Task <SavedSearch?> DestroySavedSearchAsync(ulong id, CancellationToken cancelToken = default(CancellationToken)) { if (id == 0) { throw new ArgumentException("Invalid Saved Search ID: " + id, "id"); } var savedSearchUrl = BaseUrl + "saved_searches/destroy/" + id + ".json"; var reqProc = new SavedSearchRequestProcessor <SavedSearch>(); RawResult = await TwitterExecutor.PostFormUrlEncodedToTwitterAsync <SavedSearch>( HttpMethod.Post.ToString(), savedSearchUrl, new Dictionary <string, string?>(), cancelToken) .ConfigureAwait(false); SavedSearch?result = reqProc.ProcessActionResult(RawResult, SavedSearchAction.Destroy); if (result != null) { result.ID = id; } return(result); }
/// <summary> /// Adds a saved search to your twitter account /// </summary> /// <param name="query">Search query to add</param> /// <returns>SavedSearch object</returns> public async Task <SavedSearch> CreateSavedSearchAsync(string query, CancellationToken cancelToken = default(CancellationToken)) { if (string.IsNullOrWhiteSpace(query)) { throw new ArgumentException("query is required.", "query"); } var savedSearchUrl = BaseUrl + "saved_searches/create.json"; var reqProc = new SavedSearchRequestProcessor <SavedSearch>(); RawResult = await TwitterExecutor.PostToTwitterAsync <SavedSearch>( savedSearchUrl, new Dictionary <string, string> { { "query", query } }, cancelToken) .ConfigureAwait(false); return(reqProc.ProcessActionResult(RawResult, SavedSearchAction.Create)); }