public async Task <Cart> AddProductToCartAsync(AddProductToCartLink addToCartLink) { using (var log = RequestLogger.Current.BeginJungoLog(this)) { try { return((await Client.PostAsync <CartResponse>(addToCartLink.CartUri).ConfigureAwait(false)).Cart); } catch (Exception exc) { throw log.LogException(exc); } } }
public async Task <Cart> AddProductToCartAsync(long productId, int quantity = 1, long offerId = 0) { using (var log = RequestLogger.Current.BeginJungoLog(this)) { try { var billboard = await Billboard.GetAsync(Client).ConfigureAwait(false); object parameters; if (quantity > 1 && offerId > 0) { parameters = new { productId, quantity, offerId } } ; else if (quantity > 1) { parameters = new { productId, quantity } } ; else if (offerId > 0) { parameters = new { productId, offerId } } ; else { parameters = new { productId } }; var addProductToCartLink = new AddProductToCartLink { CartUri = Billboard.ResolveTemplate(billboard.Cart, Billboard.Templates.AddProductToCartQuery, parameters) }; return(await AddProductToCartAsync(addProductToCartLink).ConfigureAwait(false)); } catch (Exception exc) { throw log.LogException(exc); } } }