Пример #1
0
        // Publish Retweet
        public Task <ITwitterResult <ITweetDTO[]> > GetRetweetsAsync(IGetRetweetsParameters parameters, ITwitterRequest request)
        {
            var query = _tweetQueryGenerator.GetRetweetsQuery(parameters, request.ExecutionContext.TweetMode);

            request.Query.Url        = query;
            request.Query.HttpMethod = HttpMethod.GET;
            return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO[]>(request));
        }
Пример #2
0
        public void Validate(IGetRetweetsParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            ThrowIfTweetCannotBeUsed(parameters.Tweet, $"{nameof(parameters)}.{nameof(parameters.Tweet)}");
        }
Пример #3
0
        public void Validate(IGetRetweetsParameters parameters)
        {
            _tweetsClientRequiredParametersValidator.Validate(parameters);

            var maxPageSize = Limits.TWEETS_GET_RETWEETS_MAX_SIZE;

            if (parameters.PageSize > maxPageSize)
            {
                throw new TwitterArgumentLimitException($"{nameof(parameters)}.{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.TWEETS_GET_RETWEETS_MAX_SIZE), "page size");
            }
        }
Пример #4
0
        public string GetRetweetsQuery(IGetRetweetsParameters parameters, ComputedTweetMode tweetMode)
        {
            var tweetId = GetTweetId(parameters.Tweet);
            var query   = new StringBuilder(string.Format(Resources.Tweet_Retweet_GetRetweets, tweetId));

            query.AddParameterToQuery("count", parameters.PageSize);
            query.AddParameterToQuery("trim_user", parameters.TrimUser);

            query.AddParameterToQuery("tweet_mode", tweetMode);
            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
Пример #5
0
        public string GetRetweetsQuery(IGetRetweetsParameters parameters, TweetMode?requestTweetMode)
        {
            var tweetId = GetTweetId(parameters.Tweet);
            var query   = new StringBuilder(string.Format(Resources.Tweet_Retweet_GetRetweets, tweetId));

            query.AddParameterToQuery("count", parameters.PageSize);
            query.AddParameterToQuery("trim_user", parameters.TrimUser);

            _queryParameterGenerator.AppendTweetModeParameter(query, parameters.TweetMode ?? requestTweetMode);
            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
Пример #6
0
 public void Validate(IGetRetweetsParameters parameters)
 {
     _tweetsClientParametersValidator.Validate(parameters);
 }
Пример #7
0
 public Task <ITwitterResult <ITweetDTO[]> > GetRetweets(IGetRetweetsParameters parameters, ITwitterRequest request)
 {
     return(_tweetQueryExecutor.GetRetweets(parameters, request));
 }
Пример #8
0
 // Retweets
 public Task <ITwitterResult <ITweetDTO[]> > GetRetweetsAsync(IGetRetweetsParameters parameters)
 {
     _tweetsClientRequiredParametersValidator.Validate(parameters);
     return(ExecuteRequestAsync(request => _tweetController.GetRetweetsAsync(parameters, request)));
 }
Пример #9
0
        public async Task <ITweet[]> GetRetweetsAsync(IGetRetweetsParameters parameters)
        {
            var requestResult = await _tweetsRequester.GetRetweetsAsync(parameters).ConfigureAwait(false);

            return(_client.Factories.CreateTweets(requestResult?.Model));
        }