/// <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; }
/// <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; }