/// <summary>
        /// Builds a <see cref="BasketLineItem"/>
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        /// <returns>
        /// The <see cref="BasketLineItem"/>.
        /// </returns>
        public BasketLineItem Build(ILineItem lineItem)
        {
            var contentId = lineItem.ExtendedData.ContainsKey("umbracoContentId")
                                ? int.Parse(lineItem.ExtendedData["umbracoContentId"])
                                : 0;

            var basketLineItem = new BasketLineItem
                {
                    Key = lineItem.Key,
                    ContentId = contentId,
                    Name = lineItem.Name,
                    Sku = lineItem.Sku,
                    UnitPrice = lineItem.Price,
                    TotalPrice = lineItem.TotalPrice,
                    Quantity = lineItem.Quantity,
                    Product = contentId > 0 ? new ProductModel(this._umbraco.TypedContent(contentId))
                                                  {
                                                      CurrentCustomer = this._currentCustomer,
                                                      Currency = this._currency
                                                  }
                                                  : null
                };

            return basketLineItem;
        }
Esempio n. 2
0
        /// <summary>
        /// Builds a <see cref="BasketLineItem"/>
        /// </summary>
        /// <param name="lineItem">
        /// The line item.
        /// </param>
        /// <returns>
        /// The <see cref="BasketLineItem"/>.
        /// </returns>
        public BasketLineItem Build(ILineItem lineItem)
        {
            var contentId = lineItem.ExtendedData.ContainsKey("umbracoContentId")
                                ? int.Parse(lineItem.ExtendedData["umbracoContentId"])
                                : 0;

            var productKey = lineItem.ExtendedData.GetProductKey();
            ProductModel product = null;
            if (!productKey.Equals(Guid.Empty))
            {
                var productContent = _merchello.TypedProductContent(productKey);  
                if (productContent != null) product = new ProductModel(productContent)
                                                          {
                                                              CurrentCustomer = _currentCustomer,
                                                              Currency = _currency
                                                          };
            }
            

            var basketLineItem = new BasketLineItem
                {
                    Key = lineItem.Key,
                    ContentId = contentId,
                    Name = lineItem.Name,
                    Sku = lineItem.Sku,
                    UnitPrice = lineItem.Price,
                    TotalPrice = lineItem.TotalPrice,
                    Quantity = lineItem.Quantity,
                    ExtendedData = lineItem.ExtendedData,
                    Product = product ?? this.HandleLegacyBazaarProductContent(contentId)
                };

            return basketLineItem;
        }