/// <summary> /// Creates a new <see cref="Customer"/> on the store. /// </summary> /// <param name="customerSavedSearch">A new <see cref="CustomerSavedSearch"/>. Id should be set to null.</param> /// <returns>The new <see cref="Customer"/>.</returns> public virtual Task <CustomerSavedSearch> CreateAsync(CustomerSavedSearch customerSavedSearch) { if (string.IsNullOrWhiteSpace(customerSavedSearch.Name)) { throw new ArgumentException("Name property is required", nameof(customerSavedSearch)); } var req = PrepareRequest($"{RootResource}.json"); var body = customerSavedSearch.ToDictionary(); var content = new JsonContent(new { customer = body }); return(ExecuteRequestAsync <CustomerSavedSearch>(req, HttpMethod.Post, content, RootElement)); }
/// <summary> /// Creates a new <see cref="Customer"/> on the store. /// </summary> /// <param name="customerSavedSearch">A new <see cref="CustomerSavedSearch"/>. Id should be set to null.</param> /// <param name="cancellationToken">Cancellation Token</param> /// <returns>The new <see cref="Customer"/>.</returns> public virtual async Task <CustomerSavedSearch> CreateAsync(CustomerSavedSearch customerSavedSearch, CancellationToken cancellationToken = default) { if (string.IsNullOrWhiteSpace(customerSavedSearch.Name)) { throw new ArgumentException("Name property is required", nameof(customerSavedSearch)); } var req = PrepareRequest($"{RootResource}.json"); var body = customerSavedSearch.ToDictionary(); var content = new JsonContent(new { customer_saved_search = body }); var response = await ExecuteRequestAsync <CustomerSavedSearch>(req, HttpMethod.Post, cancellationToken, content, RootElement); return(response.Result); }
/// <summary> /// Updates the given <see cref="CustomerSavedSearch"/>. /// </summary> /// <param name="customerSavedSearchId">Id of the object being updated.</param> /// <param name="customerSavedSearch">The <see cref="CustomerSavedSearch"/> to update.</param> public virtual Task <CustomerSavedSearch> UpdateAsync(long customerSavedSearchId, CustomerSavedSearch customerSavedSearch) { var req = PrepareRequest($"{RootResource}/{customerSavedSearchId}.json"); var body = customerSavedSearch.ToDictionary(); var content = new JsonContent(new { customer_saved_search = body }); return(ExecuteRequestAsync <CustomerSavedSearch>(req, HttpMethod.Put, content, RootElement)); }
/// <summary> /// Updates the given <see cref="CustomerSavedSearch"/>. /// </summary> /// <param name="customerSavedSearchId">Id of the object being updated.</param> /// <param name="customerSavedSearch">The <see cref="CustomerSavedSearch"/> to update.</param> /// <param name="cancellationToken">Cancellation Token</param> public virtual async Task <CustomerSavedSearch> UpdateAsync(long customerSavedSearchId, CustomerSavedSearch customerSavedSearch, CancellationToken cancellationToken = default) { var req = PrepareRequest($"{RootResource}/{customerSavedSearchId}.json"); var body = customerSavedSearch.ToDictionary(); var content = new JsonContent(new { customer_saved_search = body }); var response = await ExecuteRequestAsync <CustomerSavedSearch>(req, HttpMethod.Put, cancellationToken, content, RootElement); return(response.Result); }