コード例 #1
0
        private static DbOffer CreateDbOffer(DbSneaker sneaker, ListingSize size, Listing listing, RootParsingObject shop, Shop shopCatalogItem)
        {
            var deliveryUs = shopCatalogItem.delivery.Find(x => x.location == "US");
            var offer      = new DbOffer();

            offer.url        = listing.url;
            offer.price      = listing.price;
            offer.old_price  = listing.old_price;
            offer.currency   = shopCatalogItem.currency;
            offer.stock_name = shop.market_info.name;
            offer.price_usd_with_delivery_to_usa_and_minus_vat = AllStockExporter.GetAllStockPrice(offer.price, offer.currency, deliveryUs.value, deliveryUs.vat);
            return(offer);
        }
コード例 #2
0
        private static DbSize GetDbSize(DbSneaker sneaker, ListingSize size, Listing listing, RootParsingObject shop, Shop shopCatalogItem)
        {
            var dbSize = new DbSize();

            dbSize.Us  = size.us;
            dbSize.Eu  = size.eu;
            dbSize.Uk  = size.uk;
            dbSize.Cm  = size.cm;
            dbSize.Ru  = size.ru;
            dbSize.Upc = size.upc;

            var offer = CreateDbOffer(sneaker, size, listing, shop, shopCatalogItem);

            dbSize.Offers.Add(offer);

            return(dbSize);
        }
コード例 #3
0
        public static List <ListingSize> GetSizeListUs(List <SneakerSize> sizes)
        {
            var result = new List <ListingSize>();

            foreach (var size in sizes)
            {
                var listingSize = new ListingSize();
                listingSize.us       = size.sizeUS;
                listingSize.eu       = size.sizeEU;
                listingSize.cm       = size.sizeCM;
                listingSize.uk       = size.sizeUK;
                listingSize.ru       = size.sizeRU;
                listingSize.upc      = size.upc;
                listingSize.quantity = size.quantity;
                result.Add(listingSize);
            }
            return(result);
        }
コード例 #4
0
        private static AllStockSize CreateSize(ListingSize size, AllStockSneaker sneaker, Listing listing, RootParsingObject market, Shop jsonMarket)
        {
            var sizeAllStock = new AllStockSize();

            if (size.us == null)
            {
                size.us = SizeConverters.SizeConverter.GetSizeUs(sneaker.brand, sneaker.category, size.eu, size.uk, size.cm);
            }
            if (size.us == null)
            {
                //значит размер левый или его нет в таблице размеров
                return(null);
            }
            else
            {
                if (listing.category != sneaker.category)
                {
                    Program.Logger.Warn("wrong category. SKU:" + listing.sku + "\n"
                                        + "Listing Category: " + listing.category + ".\n"
                                        + "FullCatalog Category:" + sneaker.category + "\n"
                                        + "ListingTite: " + listing.title + "\n"
                                        + "Listing Link:" + listing.url);
                    return(null);
                }
                var schSize = SizeChart.GetSizeStatic(new Size(sneaker.brand, sneaker.category, size.us, size.eu, size.uk, size.cm, size.ru));
                if (schSize == null)
                {
                    Program.Logger.Warn("wrong size. SKU:" + listing.sku + "\n"
                                        + "Listing Category: " + listing.category + ".\n"
                                        + "FullCatalog Category:" + sneaker.category + "\n"
                                        + "ListingTite: " + listing.title + "\n"
                                        + "Listing Link:" + listing.url);
                    return(null);
                }
                sizeAllStock.us   = size.us;
                sizeAllStock.sku2 = sneaker.sku + "-" + size.us;
                sizeAllStock.upc  = size.upc;
                var offer = CreateOffer(listing, market, jsonMarket);
                sizeAllStock.offers.Add(offer);
                return(sizeAllStock);
            }
        }