Exemple #1
0
        /// <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());
        }
Exemple #3
0
        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());
        }
Exemple #4
0
 /// <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));
 }