public AddAccountState() { VendorInfo = null; AccountData = null; Marketplace = null; Error = null; Model = null; CustomerMarketPlace = null; } // constructor
private MP_MarketplaceType AddMarketPlaceType(IMarketplaceType databaseMarketPlace) { var marketPlace = new MP_MarketplaceType { InternalId = databaseMarketPlace.InternalId, Description = databaseMarketPlace.Description, Name = databaseMarketPlace.DisplayName }; _marketPlaceRepository.Save(marketPlace); return(marketPlace); }
public MP_EbayAmazonCategory[] AddAmazonCategories(IMarketplaceType marketplace, AmazonProductItemBase productItem, ElapsedTimeInfo elapsedTimeInfo, int mpId) { var categories = new List <MP_EbayAmazonCategory>(); foreach (AmazonProductCategory amazonProductCategory in productItem.Categories) { var cat = FindEBayAmazonCategory(marketplace, amazonProductCategory.CategoryId, elapsedTimeInfo, mpId) ?? AddAmazonCategory(marketplace, amazonProductCategory, elapsedTimeInfo, mpId); categories.Add(cat); } _CacheAmazonCategoryByProductKey.TryAdd(productItem.Key, categories.ToArray()); return(categories.ToArray()); }
} // ConvertToBaseCurrency private MP_EBayOrderItemDetail FindEBayOrderItemInfo( IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, DataProviderCreationInfo info, string itemID, RequestsCounterData requestCounter, ElapsedTimeInfo elapsedTimeInfo ) { if (!this.settings.DownloadCategories) { return(null); } int mpID = databaseCustomerMarketPlace.Id; IMarketplaceType marketplace = databaseCustomerMarketPlace.Marketplace; var eBayItemInfoData = new eBayFindOrderItemInfoData(itemID); var eBayOrderItemInfo = Helper.FindEBayOrderItemInfo(eBayItemInfoData, elapsedTimeInfo, mpID); if (eBayOrderItemInfo == null) { var providerGetItemInfo = new DataProviderGetItemInfo(info); var req = new eBayRequestItemInfoData(eBayItemInfoData); ResultInfoEbayItemInfo ebayItemInfo = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, mpID, ElapsedDataMemberType.RetrieveDataFromExternalService, () => providerGetItemInfo.GetItem(req) ); requestCounter.Add(ebayItemInfo.RequestsCounter); var newEBayOrderItemInfo = new EbayDatabaseOrderItemInfo { ItemID = ebayItemInfo.ItemID, PrimaryCategory = FindCategory(marketplace, ebayItemInfo.PrimaryCategory, elapsedTimeInfo, mpID), // SecondaryCategory = FindCategory(marketplace, ebayItemInfo.SecondaryCategory, elapsedTimeInfo, mpID), // FreeAddedCategory = FindCategory(marketplace, ebayItemInfo.FreeAddedCategory, elapsedTimeInfo, mpID), Title = ebayItemInfo.Title, }; eBayOrderItemInfo = Helper.SaveEBayOrderItemInfo(newEBayOrderItemInfo, elapsedTimeInfo, mpID); } // if return(eBayOrderItemInfo); } // FindEBayOrderItemInfo
} // FindEBayOrderItemInfo private MP_EbayAmazonCategory FindCategory( IMarketplaceType marketplace, eBayCategoryInfo data, ElapsedTimeInfo elapsedTimeInfo, int mpID ) { if (data == null) { return(null); } return(Helper.FindEBayAmazonCategory(marketplace, data.CategoryId, elapsedTimeInfo, mpID) ?? Helper.AddEbayCategory(marketplace, data, elapsedTimeInfo, mpID)); } // FindCategory
} // SaveOrUpdateCustomerMarketplace public IDatabaseCustomerMarketPlace SaveOrUpdateCustomerMarketplace( string displayName, IMarketplaceType marketplaceType, string password, Customer customer ) { return(SaveOrUpdateCustomerMarketplace( displayName, marketplaceType, new Encrypted(password), customer, null )); } // SaveOrUpdateCustomerMarketplace
public IDatabaseCustomerMarketPlace SaveOrUpdateEncryptedCustomerMarketplace( string displayName, IMarketplaceType marketplaceType, IMarketPlaceSecurityInfo securityData, Customer customer ) { return(SaveOrUpdateCustomerMarketplace( displayName, marketplaceType, new Encrypted(new Serialized(securityData)), customer, null )); } // SaveOrUpdateCEncryptedustomerMarketplace
private ConcurrentDictionary <string, MP_EbayAmazonCategory> GetCache(IMarketplaceType marketplace) { ConcurrentDictionary <string, MP_EbayAmazonCategory> cache; if (!_CacheEBayamazonCategory.TryGetValue(marketplace, out cache)) { cache = new ConcurrentDictionary <string, MP_EbayAmazonCategory>(); if (!_CacheEBayamazonCategory.TryAdd(marketplace, cache)) { _CacheEBayamazonCategory.TryGetValue(marketplace, out cache); } } return(cache); }
} // SaveOrUpdateCEncryptedustomerMarketplace public IDatabaseCustomerMarketPlace SaveOrUpdateCustomerMarketplace( string displayName, IMarketplaceType marketplaceType, IMarketPlaceSecurityInfo securityData, Customer customer, string amazonMarketPlaceId = null ) { return(SaveOrUpdateCustomerMarketplace( displayName, marketplaceType, new Serialized(securityData), customer, amazonMarketPlaceId )); } // SaveOrUpdateCustomerMarketplace
public MP_EbayAmazonCategory AddEbayCategory(IMarketplaceType marketplace, eBayCategoryInfo data, ElapsedTimeInfo elapsedTimeInfo, int mpId) { var item = new MP_EbayAmazonCategory { CategoryId = data.CategoryId, IsVirtual = data.IsVirtual, Name = data.Name, Marketplace = _MarketPlaceRepository.Get(marketplace.InternalId) }; ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds(elapsedTimeInfo, mpId, ElapsedDataMemberType.StoreDataToDatabase, () => _EbayAmazonCategoryRepository.Save(item)); AddCategoryToCache(marketplace, item); return(item); }
private MP_EbayAmazonCategory AddAmazonCategory(IMarketplaceType marketplace, AmazonProductCategory amazonProductCategory, ElapsedTimeInfo elapsedTimeInfo, int mpId) { var cat = new MP_EbayAmazonCategory { CategoryId = amazonProductCategory.CategoryId, Name = amazonProductCategory.CategoryName, Marketplace = _MarketPlaceRepository.Get(marketplace.InternalId), Parent = amazonProductCategory.Parent == null ? null : FindEBayAmazonCategory(marketplace, amazonProductCategory.Parent.CategoryId, elapsedTimeInfo, mpId) ?? AddAmazonCategory(marketplace, amazonProductCategory.Parent, elapsedTimeInfo, mpId) }; AddCategoryToCache(marketplace, cat); ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds(elapsedTimeInfo, mpId, ElapsedDataMemberType.StoreDataToDatabase, () => _EbayAmazonCategoryRepository.Save(cat)); return(cat); }
public MP_EbayAmazonCategory FindEBayAmazonCategory(IMarketplaceType marketplace, string categoryId, ElapsedTimeInfo elapsedTimeInfo, int mpId) { MP_EbayAmazonCategory value; var cache = GetCache(marketplace); if (!cache.TryGetValue(categoryId, out value)) { value = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds(elapsedTimeInfo, mpId, ElapsedDataMemberType.RetrieveDataFromDatabase, () => _EbayAmazonCategoryRepository.FindItem(categoryId)); if (value != null) { AddCategoryToCache(marketplace, value); } } return(value); }
} // SaveOrUpdateCustomerMarketplace public IDatabaseCustomerMarketPlace SaveOrUpdateCustomerMarketplace( string displayName, IMarketplaceType marketplaceType, byte[] serializedSecurityData, Customer customer, string amazonMarketPlaceId = null ) { int customerMarketPlaceId; var now = DateTime.UtcNow; var customerMarketPlace = _CustomerMarketplaceRepository.Get( customer.Id, marketplaceType.InternalId, displayName ); if (customerMarketPlace != null) { customerMarketPlaceId = customerMarketPlace.Id; customerMarketPlace.SecurityData = serializedSecurityData; _CustomerMarketplaceRepository.Update(customerMarketPlace); } else { customerMarketPlace = new MP_CustomerMarketPlace { SecurityData = serializedSecurityData, Customer = customer, Marketplace = _MarketPlaceRepository.Get(marketplaceType.InternalId), DisplayName = displayName, Created = now, AmazonMarketPlace = amazonMarketPlaceId != null ? _amazonMarketPlaceTypeRepository.GetByMarketPlaceId(amazonMarketPlaceId) : null }; customerMarketPlaceId = (int)_CustomerMarketplaceRepository.Save(customerMarketPlace); } // if customerMarketPlace.Updated = now; return(CreateDatabaseCustomerMarketPlace(customer, marketplaceType, customerMarketPlace, customerMarketPlaceId)); } // SaveOrUpdateCustomerMarketplace
} // FindLastKnownEbayTransactionTime private void AddCategoryToCache(IMarketplaceType marketplace, MP_EbayAmazonCategory item) { var cache = GetCache(marketplace); cache.TryAdd(item.CategoryId, item); } // AddCategoryToCache
public AddAccountState() { Marketplace = null; Error = null; CustomerMarketPlaceID = 0; } // constructor
public virtual void SetIMarketplaceType(IMarketplaceType marketplaceType) { _mpType = marketplaceType; }