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

            _userQueryValidator.ThrowIfUserCannotBeIdentified(parameters.SourceUser, $"{nameof(parameters.SourceUser)}");
            _userQueryValidator.ThrowIfUserCannotBeIdentified(parameters.TargetUser, $"{nameof(parameters.TargetUser)}");
        }
예제 #2
0
        public string GetRelationshipBetweenQuery(IGetRelationshipBetweenParameters parameters)
        {
            var sourceParameter = _userQueryParameterGenerator.GenerateIdOrScreenNameParameter(parameters.SourceUser, "source_id", "source_screen_name");
            var targetParameter = _userQueryParameterGenerator.GenerateIdOrScreenNameParameter(parameters.TargetUser, "target_id", "target_screen_name");

            var query = new StringBuilder(Resources.Friendship_GetRelationship);

            query.AddFormattedParameterToQuery(sourceParameter);
            query.AddFormattedParameterToQuery(targetParameter);
            query.AddFormattedParameterToQuery(parameters.FormattedCustomQueryParameters);

            return(query.ToString());
        }
예제 #3
0
 public void Validate(IGetRelationshipBetweenParameters parameters)
 {
     _usersClientParametersValidator.Validate(parameters);
 }
예제 #4
0
        public Task <ITwitterResult <IRelationshipDetailsDTO> > GetRelationshipBetween(IGetRelationshipBetweenParameters parameters, ITwitterRequest request)
        {
            var query = _userQueryGenerator.GetRelationshipBetweenQuery(parameters);

            request.Query.Url        = query;
            request.Query.HttpMethod = HttpMethod.GET;

            return(_twitterAccessor.ExecuteRequest <IRelationshipDetailsDTO>(request));
        }
예제 #5
0
        public async Task <IRelationshipDetails> GetRelationshipBetween(IGetRelationshipBetweenParameters parameters)
        {
            var relationshipTwitterResult = await _usersRequester.GetRelationshipBetween(parameters).ConfigureAwait(false);

            return(_client.Factories.CreateRelationshipDetails(relationshipTwitterResult?.DataTransferObject));
        }
예제 #6
0
 public Task <ITwitterResult <IRelationshipDetailsDTO> > GetRelationshipBetween(IGetRelationshipBetweenParameters parameters)
 {
     _validator.Validate(parameters);
     return(ExecuteRequest(request => _userController.GetRelationshipBetween(parameters, request)));
 }
 public GetRelationshipBetweenParameters(IGetRelationshipBetweenParameters source) : base(source)
 {
     SourceUser = source?.SourceUser;
     TargetUser = source?.TargetUser;
 }
예제 #8
0
 public Task <ITwitterResult <IRelationshipDetailsDTO> > GetRelationshipBetween(IGetRelationshipBetweenParameters parameters, ITwitterRequest request)
 {
     return(_userQueryExecutor.GetRelationshipBetween(parameters, request));
 }