private async Task UpdateProductQuantityAsync(ReverbProductParam listing) { var data = new[] { listing.Slug }; var jsonContent = String.Format(@"has_inventory={0}&inventory={1}", listing.HasInventory, listing.Inventory); await ActionPolicies.SubmitAsync.Do(async() => { try { await this._webRequestServices.PutFormatDataAsync(ReverbCommand.UpdateProduct, data, jsonContent); } catch (Exception ex) { if (ex.Message.Contains("Precondition Failed")) { ReverbLogger.Log.Error(ex, PreconditionFailedMessage, listing.Slug, listing.Sku, listing.Inventory); } else if (ex.Message.Contains("(404) Not Found")) { ReverbLogger.Log.Error(ex, NotFoundMessage, listing.Slug, listing.Sku, listing.Inventory); } else if (ex.Message.Contains("Unprocessable Entity")) { ReverbLogger.Log.Error(ex, UnprocessableEntityMessage, listing.Slug, listing.Sku, listing.Inventory); } else { throw ex; } } //API requirement await this.CreateApiDelay(); }); }
public async Task UpdateProductsAsync(IEnumerable <ReverbProductEntity> products) { foreach (var item in products) { ReverbProductParam param = new ReverbProductParam() { Sku = item.Sku, Slug = item.Slug, HasInventory = item.HasInventory, Inventory = item.Inventory }; await this.UpdateProductQuantityAsync(param); } }
public void UpdateProducts(IEnumerable <ReverbProductEntity> products) { foreach (var item in products) { ReverbProductParam param = new ReverbProductParam() { Sku = item.Sku, Slug = item.Slug, HasInventory = item.HasInventory, Inventory = item.Inventory }; this.UpdateProductQuantity(param); } }