/// <summary> /// Returns ProductVariants by Product key /// /// GET /umbraco/Merchello/ProductVariantApi/GetByProduct?key={guid} /// </summary> /// <param name="id">Product Key</param> public IEnumerable <ProductVariantDisplay> GetByProduct(Guid id) { if (id != Guid.Empty) { var productVariants = _productVariantService.GetByProductKey(id); if (productVariants == null) { throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound)); } foreach (IProductVariant productVariant in productVariants) { yield return(productVariant.ToProductVariantDisplay()); } } else { var resp = new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent(string.Format("Parameter key is null")), ReasonPhrase = "Invalid Parameter" }; throw new HttpResponseException(resp); } }
public void Can_Retrieve_All_Variants_For_A_Product() { //// Arrange var attributes1 = new ProductAttributeCollection { _product.ProductOptions.First(x => x.Name == "Color").Choices.First(x => x.Sku == "Blk"), _product.ProductOptions.First(x => x.Name == "Size").Choices.First(x => x.Sku == "Lg") }; var attributes2 = new ProductAttributeCollection { _product.ProductOptions.First(x => x.Name == "Color").Choices.First(x => x.Sku == "Blk"), _product.ProductOptions.First(x => x.Name == "Size").Choices.First(x => x.Sku == "XL") }; _productVariantService.CreateProductVariantWithKey(_product, attributes1); _productVariantService.CreateProductVariantWithKey(_product, attributes2); Assert.IsTrue(_product.ProductVariants.Count == 2); //// Act var variants = _productVariantService.GetByProductKey(_product.Key); //// Assert Assert.IsTrue(variants.Any()); Assert.IsTrue(2 == variants.Count()); }
public void Can_Retrieve_All_Variants_For_A_Product() { //// Arrange Assert.AreEqual(16, _product.ProductVariants.Count); //// Act var variants = _productVariantService.GetByProductKey(_product.Key).ToArray(); //// Assert Assert.IsTrue(variants.Any()); Assert.AreEqual(16, variants.Count()); }
/// <summary> /// The get product variants by product key. /// </summary> /// <param name="productKey"> /// The product key. /// </param> /// <returns> /// The <see cref="IEnumerable{IProductVariant}"/>. /// </returns> public IEnumerable <IProductVariant> GetProductVariantsByProductKey(Guid productKey) { return(_productVariantService.GetByProductKey(productKey)); }