/// <summary> /// Updates the given object. /// </summary> /// <param name="id">Id of the object being updated.</param> /// <param name="rule">The updated rule.</param> /// <param name="cancellationToken">Cancellation Token</param> public virtual async Task <Entities.PriceRule> UpdateAsync(long id, Entities.PriceRule rule, CancellationToken cancellationToken = default) { var req = PrepareRequest($"price_rules/{id}.json"); var content = new JsonContent(new { price_rule = rule }); var response = await ExecuteRequestAsync <Entities.PriceRule>(req, HttpMethod.Put, cancellationToken, content, "price_rule"); return(response.Result); }
/// <summary> /// Creates a new price rule. /// </summary> /// <param name="rule">A new price rule. Id should be set to null.</param> /// <param name="cancellationToken">Cancellation Token</param> public virtual async Task <Entities.PriceRule> CreateAsync(Entities.PriceRule rule, CancellationToken cancellationToken = default) { var req = PrepareRequest("price_rules.json"); var body = rule.ToDictionary(); var content = new JsonContent(new { price_rule = body }); var response = await ExecuteRequestAsync <Entities.PriceRule>(req, HttpMethod.Post, cancellationToken, content, "price_rule"); return(response.Result); }