private MarketplaceView CreateMarketplaceView(EbayMarketplace marketplace) { MarketplaceView view = new MarketplaceView(); view.ID = "E-" + marketplace.ID; view.DbID = marketplace.ID; view.Host = "Ebay"; view.Code = marketplace.Code; view.ListingsLastSync = marketplace.ListingSyncTime.HasValue ? marketplace.ListingSyncTime.Value.ToLocalTime() : marketplace.ListingSyncTime; view.OrdersLastSync = marketplace.OrdersSyncTime.HasValue ? marketplace.OrdersSyncTime.Value.ToLocalTime() : marketplace.OrdersSyncTime; view.Name = marketplace.Name; return(view); }
private void PublishEntries(IEnumerable <EbayEntry> entries) { var pendingEntries = entries.Cast <EbayEntry>(); using (_dataContext = new berkeleyEntities()) { _marketplace = _dataContext.EbayMarketplaces.Single(p => p.Code.Equals(_marketplaceCode)); var update = entries.Where(p => !string.IsNullOrWhiteSpace(p.Code)).GroupBy(p => p.Code); foreach (var entryGroup in update) { EbayListing listing = _marketplace.Listings.Single(p => p.Code.Equals(entryGroup.Key)); TryUpdateListing(listing, entryGroup); } var pendingCreate = entries.Where(p => string.IsNullOrWhiteSpace(p.Code)); var individuals = pendingCreate.Where(p => !p.IsVariation()); var variations = pendingCreate.Where(p => p.IsVariation()).GroupBy(p => p.ClassName); foreach (var entryGroup in variations) { TryCreateListing(entryGroup, true); } foreach (var entry in individuals) { TryCreateListing(new List <EbayEntry>() { entry }, false); } } }
public OrderSynchronizer(EbayMarketplace marketplace, berkeleyEntities dataContext) { _marketplace = marketplace; _dataContext = dataContext; }