public void Validate(IGetUserListSubscriptionsParameters parameters)
        {
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            _userQueryValidator.ThrowIfUserCannotBeIdentified(parameters.User);
        }
Example #2
0
        public ITwitterIterator <ITwitterList> GetUserListSubscriptionsIterator(IGetUserListSubscriptionsParameters parameters)
        {
            var pageIterator = _twitterListsRequester.GetUserListSubscriptionsIterator(parameters);

            return(new TwitterIteratorProxy <ITwitterResult <ITwitterListCursorQueryResultDTO>, ITwitterList>(pageIterator, pageResult =>
            {
                var twitterListDtos = pageResult.Model.TwitterLists;
                return _client.Factories.CreateTwitterLists(twitterListDtos);
            }));
        }
Example #3
0
        public void Validate(IGetUserListSubscriptionsParameters parameters)
        {
            _twitterListsClientRequiredParametersValidator.Validate(parameters);

            var maxPageSize = Limits.LISTS_GET_USER_SUBSCRIPTIONS_MAX_PAGE_SIZE;

            if (parameters.PageSize > maxPageSize)
            {
                throw new TwitterArgumentLimitException($"{nameof(parameters)}.{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.LISTS_GET_USER_SUBSCRIPTIONS_MAX_PAGE_SIZE), "page size");
            }
        }
Example #4
0
        public string GetUserListSubscriptionsQuery(IGetUserListSubscriptionsParameters parameters)
        {
            var query = new StringBuilder(Resources.List_UserSubscriptions);

            _userQueryParameterGenerator.AppendUser(query, parameters.User);
            _queryParameterGenerator.AppendCursorParameters(query, parameters);

            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
Example #5
0
 public void Validate(IGetUserListSubscriptionsParameters parameters)
 {
     _twitterListsClientParametersValidator.Validate(parameters);
 }
Example #6
0
 public Task <ITwitterResult <ITwitterListCursorQueryResultDTO> > GetUserListSubscriptionsAsync(IGetUserListSubscriptionsParameters parameters, ITwitterRequest request)
 {
     request.Query.Url        = _listsQueryGenerator.GetUserListSubscriptionsQuery(parameters);
     request.Query.HttpMethod = HttpMethod.GET;
     return(_twitterAccessor.ExecuteRequestAsync <ITwitterListCursorQueryResultDTO>(request));
 }
Example #7
0
        public async Task <ITwitterList[]> GetUserListSubscriptionsAsync(IGetUserListSubscriptionsParameters parameters)
        {
            var iterator = GetUserListSubscriptionsIterator(parameters);

            return((await iterator.NextPageAsync().ConfigureAwait(false)).ToArray());
        }
Example #8
0
        public ITwitterPageIterator <ITwitterResult <ITwitterListCursorQueryResultDTO> > GetUserListSubscriptionsIterator(IGetUserListSubscriptionsParameters parameters)
        {
            _validator.Validate(parameters);

            var request = TwitterClient.CreateRequest();

            request.ExecutionContext.Converters = JsonQueryConverterRepository.Converters;
            return(_twitterListController.GetUserListSubscriptionsIterator(parameters, request));
        }
Example #9
0
 public GetUserListSubscriptionsParameters(IGetUserListSubscriptionsParameters parameters) : base(parameters)
 {
     User = parameters?.User;
 }
        public ITwitterPageIterator <ITwitterResult <ITwitterListCursorQueryResultDTO> > GetUserListSubscriptionsIterator(IGetUserListSubscriptionsParameters parameters, ITwitterRequest request)
        {
            return(_pageCursorIteratorFactories.Create(parameters, cursor =>
            {
                var cursoredParameters = new GetUserListSubscriptionsParameters(parameters)
                {
                    Cursor = cursor
                };

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