public async Task ActivityPartialUpdate(string id = null, ForeignIDTime foreignIDTime = null, GenericData set = null, IEnumerable <string> unset = null) { if (id == null && foreignIDTime == null) { throw new ArgumentException("one the parameters ids or foreignIdTimes must be provided and not null", "ids, foreignIDTimes"); } if (id != null && foreignIDTime != null) { throw new ArgumentException("at most one of the parameters ids or foreignIdTimes must be provided", "ids, foreignIDTimes"); } var request = this.BuildJWTAppRequest("activity/", HttpMethod.POST); var requestJSON = new JObject(); if (id != null) { requestJSON.Add(new JProperty("id", id)); } else { requestJSON.Add(new JProperty("foreign_id", foreignIDTime.ForeignID)); requestJSON.Add(new JProperty("time", foreignIDTime.Time.ToString("s", System.Globalization.CultureInfo.InvariantCulture))); } var setObj = new JObject(); if (set != null) { set.AddToJObject(ref setObj); } requestJSON.Add("set", setObj); requestJSON.Add(new JProperty("unset", unset != null ? unset : new string[] { })); request.SetJsonBody(requestJSON.ToString()); var response = await this.MakeRequest(request); if (response.StatusCode != System.Net.HttpStatusCode.Created) { throw StreamException.FromResponse(response); } }
public async Task ActivityPartialUpdate(string id = null, ForeignIDTime foreignIDTime = null, GenericData set = null, IEnumerable <string> unset = null) { if (id == null && foreignIDTime == null) { throw new ArgumentException("one the parameters ids or foreignIdTimes must be provided and not null", "ids, foreignIDTimes"); } if (id != null && foreignIDTime != null) { throw new ArgumentException("at most one of the parameters ids or foreignIdTimes must be provided", "ids, foreignIDTimes"); } var update = new ActivityPartialUpdateRequestObject { ID = id, ForeignIDTime = foreignIDTime, Set = set, Unset = unset, }; await this.Batch.ActivitiesPartialUpdate(new ActivityPartialUpdateRequestObject[] { update }); }
public async Task <UpdateToTargetsResponse> UpdateActivityToTargets(ForeignIDTime foreignIDTime, IEnumerable <string> adds = null, IEnumerable <string> newTargets = null, IEnumerable <string> removed = null) { var payload = new Dictionary <string, object>() { { "foreign_id", foreignIDTime.ForeignID }, { "time", foreignIDTime.Time.ToString("s", System.Globalization.CultureInfo.InvariantCulture) } }; if (adds != null) { payload["added_targets"] = adds.ToList(); } if (newTargets != null) { payload["new_targets"] = newTargets.ToList(); } if (removed != null) { payload["removed_targets"] = removed.ToList(); } var endpoint = string.Format("feed_targets/{0}/{1}/activity_to_targets/", this._feedSlug, this._userId); var request = this._client.BuildJWTAppRequest(endpoint, HttpMethod.POST); request.SetJsonBody(JsonConvert.SerializeObject(payload)); var response = await this._client.MakeRequest(request); if (response.StatusCode == System.Net.HttpStatusCode.Created) { return(UpdateToTargetsResponse.FromJson(response.Content)); } throw StreamException.FromResponse(response); }