/// <summary>
 /// Add a relationship to other user by their id.
 /// </summary>
 /// <param name="userId">The user id.</param>
 /// <param name="relations">The relations.</param>
 /// <returns>The <see cref="Task"/>.</returns>
 public async Task AddById(long userId, Relation[] relations)
 {
     var query = GetRelationsQueryParams(userId, relations);
     var url = this.GetFinalUrl(string.Format("{0}.json", Endpoints.Relationships), query);
     
     await this.Client.PostAsync(url);
 }
        /// <summary>
        /// Get the relations query params.
        /// </summary>
        /// <param name="userId">The user id.</param>
        /// <param name="relations">The relations.</param>
        /// <returns>The <see cref="string"/>.</returns>
        private static string GetRelationsQueryParams(long? userId, Relation[] relations)
        {
            var queryParams = string.Empty;
            
            var relationsStringArray = relations.Select(x => string.Format("{0}={1}", x.Relationship.ToString().ToLowerInvariant(), x.UserId)).ToArray();
            var relationsQueryParams = string.Join("&", relationsStringArray);

            if (userId != null)
            {
                queryParams = string.Format(
                    "{0}&{1}",
                    new RelationshipQuery(userId, null).SerializeQueryString(),
                    relationsQueryParams);
            }
            else
            {
                queryParams = relationsQueryParams;
            }

            return queryParams;
        }