示例#1
0
        public ITwitterIterator <ITweet, long?> GetTweetsFromListIterator(IGetTweetsFromListParameters parameters)
        {
            var pageIterator = _twitterListsRequester.GetTweetsFromListIterator(parameters);

            return(new TwitterIteratorProxy <ITwitterResult <ITweetDTO[]>, ITweet, long?>(pageIterator,
                                                                                          twitterResult => _client.Factories.CreateTweets(twitterResult?.Model)));
        }
示例#2
0
        public IGetTweetsFromListQueryParameters CreateTweetsFromListQueryParameters(
            ITwitterListIdentifier listIdentifier,
            IGetTweetsFromListParameters getTweetsFromListParameters)
        {
            var identifierParameter = TweetinviFactory.CreateConstructorParameter("listIdentifier", listIdentifier);
            var queryParameter      = TweetinviFactory.CreateConstructorParameter("parameters", getTweetsFromListParameters);

            return(_tweetsFromListQueryParametersFactory.Create(identifierParameter, queryParameter));
        }
        public IGetTweetsFromListQueryParameters CreateTweetsFromListQueryParameters(
            ITwitterListIdentifier listIdentifier,
            IGetTweetsFromListParameters getTweetsFromListParameters)
        {
            var identifierParameter = TweetinviFactory.CreateConstructorParameter("listIdentifier", listIdentifier);
            var queryParameter = TweetinviFactory.CreateConstructorParameter("queryParameters", getTweetsFromListParameters);

            return _tweetsFromListQueryParametersFactory.Create(identifierParameter, queryParameter);
        }
        public void Validate(IGetTweetsFromListParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            ThrowIfListIdentifierIsNotValid(parameters.List);
        }
示例#5
0
        public void Validate(IGetTweetsFromListParameters parameters)
        {
            _twitterListsClientRequiredParametersValidator.Validate(parameters);
            var maxPageSize = Limits.LISTS_GET_TWEETS_MAX_PAGE_SIZE;

            if (parameters.PageSize > maxPageSize)
            {
                throw new TwitterArgumentLimitException($"{nameof(parameters)}.{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.LISTS_GET_TWEETS_MAX_PAGE_SIZE), "page size");
            }
        }
示例#6
0
        public GetTweetsFromListParameters(IGetTweetsFromListParameters source) : base(source)
        {
            if (source == null)
            {
                PageSize = TwitterLimits.DEFAULTS.LISTS_GET_TWEETS_MAX_PAGE_SIZE;
                return;
            }

            List            = source.List;
            IncludeRetweets = source.IncludeRetweets;
        }
示例#7
0
        // TWEETS
        public string GetTweetsFromListQuery(IGetTweetsFromListParameters parameters, ComputedTweetMode tweetMode)
        {
            var query = new StringBuilder(Resources.List_GetTweetsFromList);

            _twitterListQueryParameterGenerator.AppendListIdentifierParameter(query, parameters.List);
            _queryParameterGenerator.AddTimelineParameters(query, parameters, tweetMode);

            query.AddParameterToQuery("include_rts", parameters.IncludeRetweets);
            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
 public GetTweetsFromListQueryParameters(ITwitterListIdentifier listIdentifier, IGetTweetsFromListParameters parameters)
 {
     TwitterListIdentifier = listIdentifier;
     Parameters = parameters;
 }
示例#9
0
 public async Task <IEnumerable <ITweet> > GetTweetsAsync(IGetTweetsFromListParameters getTweetsFromListParameters = null)
 {
     return(await _taskFactory.ExecuteTaskAsync(() => GetTweets(getTweetsFromListParameters)));
 }
示例#10
0
 public IEnumerable <ITweet> GetTweets(IGetTweetsFromListParameters getTweetsFromListParameters = null)
 {
     return(_twitterListController.GetTweetsFromList(this, getTweetsFromListParameters));
 }
示例#11
0
 /// <summary>
 /// Get tweets displayed in a specific list
 /// </summary>
 public static IEnumerable <ITweet> GetTweetsFromList(ITwitterListIdentifier list, IGetTweetsFromListParameters parameters = null)
 {
     return(TwitterListController.GetTweetsFromList(list, parameters));
 }
示例#12
0
        public IEnumerable <ITweet> GetTweetsFromList(ITwitterListIdentifier list, IGetTweetsFromListParameters parameters = null)
        {
            var queryParameters = _twitterListQueryParameterGenerator.CreateTweetsFromListQueryParameters(list, parameters);

            return(GetTweetsFromList(queryParameters));
        }
示例#13
0
 public async Task<IEnumerable<ITweet>> GetTweetsAsync(IGetTweetsFromListParameters getTweetsFromListParameters = null)
 {
     return await _taskFactory.ExecuteTaskAsync(() => GetTweets(getTweetsFromListParameters));
 }
示例#14
0
 /// <summary>
 /// Get tweets displayed in a specific list
 /// </summary>
 public static IEnumerable<ITweet> GetTweetsFromList(ITwitterListIdentifier list, IGetTweetsFromListParameters parameters = null)
 {
     return TwitterListController.GetTweetsFromList(list, parameters);
 }
示例#15
0
        public async Task <ITweet[]> GetTweetsFromListAsync(IGetTweetsFromListParameters parameters)
        {
            var iterator = GetTweetsFromListIterator(parameters);

            return((await iterator.NextPageAsync().ConfigureAwait(false)).ToArray());
        }
示例#16
0
 public IEnumerable<ITweet> GetTweetsFromList(ITwitterListIdentifier list, IGetTweetsFromListParameters parameters = null)
 {
     var queryParameters = _twitterListQueryParameterGenerator.CreateTweetsFromListQueryParameters(list, parameters);
     return GetTweetsFromList(queryParameters);
 }
示例#17
0
 public static async Task<IEnumerable<ITweet>> GetTweetsFromList(ITwitterListIdentifier twitterListIdentifier, IGetTweetsFromListParameters parameters = null)
 {
     return await Sync.ExecuteTaskAsync(() => TwitterList.GetTweetsFromList(twitterListIdentifier, parameters));
 }
示例#18
0
        public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetTweetsFromListIterator(IGetTweetsFromListParameters parameters)
        {
            _validator.Validate(parameters);

            var request = TwitterClient.CreateRequest();

            return(_twitterListController.GetTweetsFromListIterator(parameters, request));
        }
示例#19
0
 public IEnumerable<ITweet> GetTweets(IGetTweetsFromListParameters getTweetsFromListParameters = null)
 {
     return _twitterListController.GetTweetsFromList(this, getTweetsFromListParameters);
 }
示例#20
0
 public Task <ITwitterResult <ITweetDTO[]> > GetTweetsFromListAsync(IGetTweetsFromListParameters parameters, ITwitterRequest request)
 {
     request.Query.Url        = _listsQueryGenerator.GetTweetsFromListQuery(parameters, new ComputedTweetMode(parameters, request));
     request.Query.HttpMethod = HttpMethod.GET;
     return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO[]>(request));
 }
 public GetTweetsFromListQueryParameters(ITwitterListIdentifier listIdentifier, IGetTweetsFromListParameters queryParameters)
 {
     TwitterListIdentifier = listIdentifier;
     QueryParameters       = queryParameters;
 }
示例#22
0
 public static async Task <IEnumerable <ITweet> > GetTweetsFromList(ITwitterListIdentifier twitterListIdentifier, IGetTweetsFromListParameters parameters = null)
 {
     return(await Sync.ExecuteTaskAsync(() => TwitterList.GetTweetsFromList(twitterListIdentifier, parameters)));
 }
示例#23
0
 public void Validate(IGetTweetsFromListParameters parameters)
 {
     _twitterListsClientParametersValidator.Validate(parameters);
 }
        public ITwitterPageIterator <ITwitterResult <ITweetDTO[]>, long?> GetTweetsFromListIterator(IGetTweetsFromListParameters parameters, ITwitterRequest request)
        {
            return(_pageCursorIteratorFactories.Create(parameters, cursor =>
            {
                var cursoredParameters = new GetTweetsFromListParameters(parameters)
                {
                    MaxId = cursor
                };

                return _twitterListQueryExecutor.GetTweetsFromListAsync(cursoredParameters, new TwitterRequest(request));
            }));
        }