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

            _userQueryValidator.ThrowIfUserCannotBeIdentified(parameters.User);
        }
示例#2
0
        public ITwitterIterator <ITwitterList> GetListsOwnedByUserIterator(IGetListsOwnedByUserParameters parameters)
        {
            var iterator = _twitterListsRequester.GetListsOwnedByUserIterator(parameters);

            return(new TwitterIteratorProxy <ITwitterResult <ITwitterListCursorQueryResultDTO>, ITwitterList>(iterator, pageResult =>
            {
                var listDtos = pageResult?.Model?.TwitterLists;
                return listDtos?.Select(dto => _client.Factories.CreateTwitterList(dto)).ToArray();
            }));
        }
示例#3
0
        public void Validate(IGetListsOwnedByUserParameters parameters)
        {
            _twitterListsClientRequiredParametersValidator.Validate(parameters);

            var maxPageSize = Limits.LISTS_GET_USER_OWNED_LISTS_MAX_SIZE;

            if (parameters.PageSize > maxPageSize)
            {
                throw new TwitterArgumentLimitException($"{nameof(parameters)}.{nameof(parameters.PageSize)}", maxPageSize, nameof(Limits.LISTS_GET_USER_OWNED_LISTS_MAX_SIZE), "page size");
            }
        }
示例#4
0
        public string GetListsOwnedByUserQuery(IGetListsOwnedByUserParameters parameters)
        {
            var query = new StringBuilder(Resources.List_OwnedByUser);

            query.AddFormattedParameterToQuery(_userQueryParameterGenerator.GenerateIdOrScreenNameParameter(parameters.User));

            _queryParameterGenerator.AppendCursorParameters(query, parameters);

            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
示例#5
0
 public void Validate(IGetListsOwnedByUserParameters parameters)
 {
     _twitterListsClientParametersValidator.Validate(parameters);
 }
示例#6
0
 public Task <ITwitterResult <ITwitterListCursorQueryResultDTO> > GetListsOwnedByUserAsync(IGetListsOwnedByUserParameters parameters, ITwitterRequest request)
 {
     request.Query.Url        = _listsQueryGenerator.GetListsOwnedByUserQuery(parameters);
     request.Query.HttpMethod = HttpMethod.GET;
     return(_twitterAccessor.ExecuteRequestAsync <ITwitterListCursorQueryResultDTO>(request));
 }
示例#7
0
        public async Task <ITwitterList[]> GetListsOwnedByUserAsync(IGetListsOwnedByUserParameters parameters)
        {
            var iterator = GetListsOwnedByUserIterator(parameters);

            return((await iterator.NextPageAsync().ConfigureAwait(false)).ToArray());
        }
示例#8
0
 public GetListsOwnedByAccountByUserParameters(IGetListsOwnedByUserParameters parameters) : base(parameters)
 {
     User = parameters?.User;
 }
示例#9
0
        public ITwitterPageIterator <ITwitterResult <ITwitterListCursorQueryResultDTO> > GetListsOwnedByUserIterator(IGetListsOwnedByUserParameters parameters)
        {
            _validator.Validate(parameters);

            var request = TwitterClient.CreateRequest();

            request.ExecutionContext.Converters = JsonQueryConverterRepository.Converters;
            return(_twitterListController.GetListsOwnedByUserIterator(parameters, request));
        }
        public ITwitterPageIterator <ITwitterResult <ITwitterListCursorQueryResultDTO> > GetListsOwnedByUserIterator(IGetListsOwnedByUserParameters parameters, ITwitterRequest request)
        {
            return(_pageCursorIteratorFactories.Create(parameters, cursor =>
            {
                var cursoredParameters = new GetListsOwnedByAccountByUserParameters(parameters)
                {
                    Cursor = cursor
                };

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