Exemple #1
0
        public MP_EBayOrderItemDetail SaveEBayOrderItemInfo(EbayDatabaseOrderItemInfo data, ElapsedTimeInfo elapsedTimeInfo, int mpId)
        {
            MP_EbayAmazonCategory mpEbayAmazonCategory = null;

            if (data.PrimaryCategory != null)
            {
                mpEbayAmazonCategory = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds(elapsedTimeInfo, mpId,
                                                                                                      ElapsedDataMemberType.RetrieveDataFromDatabase,
                                                                                                      () => _EbayAmazonCategoryRepository.Get(data.PrimaryCategory.Id));
            }

            var item = new MP_EBayOrderItemDetail
            {
                ItemID          = data.ItemID,
                PrimaryCategory = mpEbayAmazonCategory,
                //SecondaryCategory = data.SecondaryCategory == null ? null : _EbayAmazonCategoryRepository.Get( data.SecondaryCategory.Id ),
                //FreeAddedCategory = data.FreeAddedCategory == null ? null : _EbayAmazonCategoryRepository.Get( data.FreeAddedCategory.Id ),
                Title = data.Title,
            };

            ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds(elapsedTimeInfo, mpId,
                                                                           ElapsedDataMemberType.StoreDataToDatabase,
                                                                           () => _EBayOrderItemInfoRepository.Save(item));

            _CacheEBayOrderItemInfo.TryAdd(item.ItemID, item);

            return(item);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        }         // FindLastKnownEbayTransactionTime

        private void AddCategoryToCache(IMarketplaceType marketplace, MP_EbayAmazonCategory item)
        {
            var cache = GetCache(marketplace);

            cache.TryAdd(item.CategoryId, item);
        } // AddCategoryToCache