private static ProductAmazon createProductAmazon(AmazonService.Item item, string eisSku) { var eProduct = new ProductAmazon { EisSKU = eisSku, ASIN = item.ASIN, Brand = item.ItemAttributes.Brand, Color = item.ItemAttributes.Color, EAN = item.ItemAttributes.EAN, Label = item.ItemAttributes.Label, Manufacturer = item.ItemAttributes.Manufacturer, Model = item.ItemAttributes.Model, NumOfItems = Convert.ToInt32(item.ItemAttributes.NumberOfItems), PackageQty = Convert.ToInt32(item.ItemAttributes.PackageQuantity), ProductGroup = item.ItemAttributes.ProductGroup, ProductTypeName = item.ItemAttributes.ProductTypeName, Size = item.ItemAttributes.Size, ProductTitle = item.ItemAttributes.Title, MapPrice = item.ItemAttributes.ListPrice == null ? 0 : (Convert.ToDecimal(item.ItemAttributes.ListPrice.Amount) / 100), }; // set the product images if (item.ImageSets != null) { var primaryImage = item.ImageSets.FirstOrDefault(x => x.Category == "primary"); if (primaryImage != null) { var images = new List <MediaContent>() { new MediaContent { Url = primaryImage.LargeImage.URL, Type = "LARGE", Caption = _channelName, Id = 1 } }; eProduct.Images = images; } } // set the product' item dimension var itemDimensionNode = item.ItemAttributes.ItemDimensions; if (itemDimensionNode != null) { var length = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Length), parseDimensionUnit(itemDimensionNode.Length)); var width = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Width), parseDimensionUnit(itemDimensionNode.Width)); var height = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Height), parseDimensionUnit(itemDimensionNode.Height)); var weight = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Weight), parseDimensionUnit(itemDimensionNode.Weight)); eProduct.ItemDimension = new Dimension(length, width, height, weight); } // the the product's package dimenstion var pkgDimensionNode = item.ItemAttributes.PackageDimensions; if (pkgDimensionNode != null) { var length = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Length), parseDimensionUnit(pkgDimensionNode.Length)); var width = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Width), parseDimensionUnit(pkgDimensionNode.Width)); var height = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Height), parseDimensionUnit(pkgDimensionNode.Height)); var weight = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Weight), parseDimensionUnit(pkgDimensionNode.Weight)); eProduct.PackageDimension = new Dimension(length, width, height, weight); } // get the condition type and leadtime ship of the prouduct if (item.Offers.Offer != null) { var offerNode = item.Offers.Offer.FirstOrDefault(); eProduct.Condition = offerNode == null ? string.Empty : offerNode.OfferAttributes.Condition; } return(eProduct); }
private MarketplaceProduct parsedToMarketplaceProduct(AmazonService.Item item) { try { var eProduct = new ProductAmazon { ASIN = item.ASIN, Brand = item.ItemAttributes.Brand, Color = item.ItemAttributes.Color, EAN = item.ItemAttributes.EAN, Label = item.ItemAttributes.Label, Manufacturer = item.ItemAttributes.Manufacturer, Model = item.ItemAttributes.Model, NumOfItems = Convert.ToInt16(item.ItemAttributes.NumberOfItems), PackageQty = Convert.ToInt16(item.ItemAttributes.PackageQuantity), ProductGroup = item.ItemAttributes.ProductGroup, ProductTypeName = item.ItemAttributes.ProductTypeName, Size = item.ItemAttributes.Size, ProductTitle = item.ItemAttributes.Title, MapPrice = item.ItemAttributes.ListPrice == null ? 0 : (Convert.ToDecimal(item.ItemAttributes.ListPrice.Amount) / 100), }; // set the product images if (item.ImageSets != null) { var primaryImage = item.ImageSets.FirstOrDefault(x => x.Category == "primary"); if (primaryImage != null) { var images = new List <MediaContent>() { new MediaContent { Url = primaryImage.LargeImage.URL, Type = "LARGE", Caption = ChannelName, Id = 1 } }; eProduct.Images = images; } } // set the product' item dimension var itemDimensionNode = item.ItemAttributes.ItemDimensions; if (itemDimensionNode != null) { var length = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Length), parseDimensionUnit(itemDimensionNode.Length)); var width = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Width), parseDimensionUnit(itemDimensionNode.Width)); var height = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Height), parseDimensionUnit(itemDimensionNode.Height)); var itemWeight = new DecimalWithUnit(parseDimensionValue(itemDimensionNode.Weight), parseDimensionUnit(itemDimensionNode.Weight)); //eProduct.WeightBox1 = itemWeight.Value; //eProduct.WeightBox1Unit = itemWeight.Unit; eProduct.ItemDimension = new Dimension(length, width, height, itemWeight); } // the the product's package dimenstion var pkgDimensionNode = item.ItemAttributes.PackageDimensions; if (pkgDimensionNode != null) { var length = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Length), parseDimensionUnit(pkgDimensionNode.Length)); var width = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Width), parseDimensionUnit(pkgDimensionNode.Width)); var height = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Height), parseDimensionUnit(pkgDimensionNode.Height)); var pkgWeight = new DecimalWithUnit(parseDimensionValue(pkgDimensionNode.Weight), parseDimensionUnit(pkgDimensionNode.Weight)); //eProduct.WeightBox2 = pkgWeight.Value; //eProduct.WeightBox2Unit = pkgWeight.Unit; eProduct.PackageDimension = new Dimension(length, width, height, pkgWeight); } // get the condition type and leadtime ship of the prouduct if (item.Offers.Offer != null) { var offerNode = item.Offers.Offer.FirstOrDefault(); eProduct.Condition = offerNode == null ? string.Empty : offerNode.OfferAttributes.Condition; } return(eProduct); } catch (Exception ex) { _logger.LogError(LogEntryType.AmazonProduct, "Error in parsing the product item -> " + EisHelper.GetExceptionMessage(ex), ex.StackTrace); return(null); } }