private void CreateListing(IEnumerable <BonanzaEntry> entries) { ListingDto listingDto = new ListingDto(); listingDto.Brand = entries.First(p => !string.IsNullOrWhiteSpace(p.Brand)).Brand; listingDto.FullDescription = entries.First(p => !string.IsNullOrWhiteSpace(p.FullDescription)).FullDescription; if (entries.Count() > 1) { listingDto.Sku = entries.First(p => !string.IsNullOrWhiteSpace(p.ClassName)).ClassName; BonanzaEntry entry = entries.First(p => !string.IsNullOrWhiteSpace(p.Title)); listingDto.Title = GetParentTitle(entry);; listingDto.IsVariation = true; } else { listingDto.Sku = entries.First().Sku; listingDto.Title = entries.First().Title; listingDto.IsVariation = false; } foreach (BonanzaEntry entry in entries) { ListingItemDto listingItem = new ListingItemDto(); listingItem.Sku = entry.Sku; listingItem.Qty = entry.Q; listingItem.Price = entry.P; listingDto.Items.Add(listingItem); } _services.Publish(_marketplace.ID, listingDto); }
private string GetParentTitle(BonanzaEntry entry) { string title = entry.Title; using (berkeleyEntities dataContext = new berkeleyEntities()) { dataContext.MaterializeAttributes = true; Item item = dataContext.Items.Single(p => p.ItemLookupCode.Equals(entry.Sku)); var wordsToRemove = item.Dimensions.Select(p => p.Key.ToString()).Concat(item.Dimensions.Select(p => p.Value.Value.ToString())); foreach (string word in wordsToRemove) { title = title.Replace(" " + word + " ", " "); } title = title.Replace("Size", ""); } return(title); }