コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        /// <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));
        }