private void GetProductData(IEnumerable <Entry> entries) { using (berkeleyEntities dataContext = new berkeleyEntities()) { _marketplace = dataContext.AmznMarketplaces.Single(p => p.ID == 1); foreach (Entry entry in entries) { entry.UPC = dataContext.Items.Single(p => p.ItemLookupCode.Equals(entry.Sku)).GTIN; } } }
private MarketplaceView CreateMarketplaceView(AmznMarketplace marketplace) { MarketplaceView view = new MarketplaceView(); view.ID = "A-" + marketplace.ID; view.DbID = marketplace.ID; view.Host = "Amazon"; view.Code = marketplace.Code; view.ListingsLastSync = marketplace.ListingSyncTime.HasValue ? marketplace.ListingSyncTime.Value.ToLocalTime() : marketplace.ListingSyncTime; view.OrdersLastSync = marketplace.OrderSyncTime.HasValue ? marketplace.OrderSyncTime.Value.ToLocalTime() : marketplace.OrderSyncTime; view.Name = marketplace.Name; return(view); }
private void ImportAmznData(IEnumerable <MainEntry> entries) { using (berkeleyEntities dataContext = new berkeleyEntities()) { BerkeleyEntities.Amazon.AmazonServices amznServices = new BerkeleyEntities.Amazon.AmazonServices(); foreach (MainEntry entry in entries) { Item item = dataContext.Items.Single(p => p.ItemLookupCode.Equals(entry.Sku)); entry.UPC = item.GTIN; } AmznMarketplace marketplace = dataContext.AmznMarketplaces.First(); var entriesWithUPC = entries.Where(p => !string.IsNullOrEmpty(p.UPC)); var results = amznServices.GetMatchingProductForId(marketplace.ID, entriesWithUPC.Select(p => p.UPC)); foreach (var result in results) { MainEntry entry = entriesWithUPC.First(p => p.UPC.Equals(result.Id)); if (result.IsSetProducts() && result.Products.IsSetProduct()) { Product product = result.Products.Product.First(); foreach (var attributeSet in product.AttributeSets.Any.Cast <XmlElement>()) { var nodes = attributeSet.ChildNodes.OfType <XmlNode>(); if (nodes.Any(p => p.LocalName.Equals("Feature"))) { StringBuilder features = new StringBuilder(); features.Append("<ul>"); foreach (XmlNode node in nodes.Where(p => p.LocalName.Equals("Feature"))) { features.AppendFormat("<li>{0}</li>", node.InnerText); } features.Append("</ul>"); entry.AmznDescription = features.ToString(); } if (nodes.Any(p => p.LocalName.Equals("Title"))) { XmlNode node = nodes.Single(p => p.LocalName.Equals("Title")); entry.AmznTitle = node.InnerText; } } } } foreach (MainEntry entry in entries) { Item item = dataContext.Items.Single(p => p.ItemLookupCode.Equals(entry.Sku)); AmznListingItem listingItem = item.AmznListingItems.FirstOrDefault(); if (listingItem != null) { entry.Asin = listingItem.ASIN; } } var competitivePriceResults = amznServices.GetLowestOfferListingsForAsin(marketplace.ID, entries.Where(p => !string.IsNullOrWhiteSpace(p.Asin)).Select(p => p.Asin)); foreach (var result in competitivePriceResults) { MainEntry entry = entries.Where(p => p.Asin != null).First(p => p.Asin.Equals(result.ASIN)); if (result.IsSetProduct() && result.Product.IsSetLowestOfferListings() && result.Product.LowestOfferListings.IsSetLowestOfferListing()) { var competitivePrice = result.Product.LowestOfferListings.LowestOfferListing.First(); entry.AmznPrice = competitivePrice.Price.LandedPrice.Amount; } } } }
public AmznPublishCommand(string marketplaceCode) { _marketplace = _dataContext.AmznMarketplaces.Single(p => p.Code.Equals(marketplaceCode)); }
public ListingMapper(berkeleyEntities dataContext, AmznMarketplace marketplace) { _dataContext = dataContext; _marketplace = marketplace; _productMapperFactory = new ProductMapperFactory(); }