/// <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; }