コード例 #1
0
        private string AddUpcToBonanzaRecord(BonanzaRecord bonanzaRecord, UPCDB.UPCDB2 upcdb)
        {
            //определяем артикул данной бонанза записи
            var separator           = new String[] { "-" };
            var id                  = bonanzaRecord.id.Split(separator, StringSplitOptions.None);
            var sku                 = id[0] + "-" + id[1];
            var sizeUsBonanzaRecord = id[2];

            //ищем этот кросс в базе юпс
            var upcdbSneakers = upcdb.myUPCDB.sneakers;
            var sneakerUpcdb  = upcdbSneakers.Find(x => x.sku == sku);

            if (sneakerUpcdb == null)
            {
                //дописать, чтобы подгружались юпс для этого артикула из онлайн базы через краулеру
                //sneakerUpcdb = upcdb.AddSneakerToUpcdb(string sku);
                return(null);
            }
            else
            {
                if (sneakerUpcdb.sizes != null)
                {//надо найти размер нужный, что может быть не так уж просто
                    string upc = GetUpcFromSneakerUpcdb(sneakerUpcdb, sizeUsBonanzaRecord);
                    return(upc);
                }
                else
                {
                    return(null);
                }
            }
            //throw new NotImplementedException();
        }
コード例 #2
0
        public void CreateRecords()
        {
            foreach (var stockRecord in Titolo.records)
            {
                if (stockRecord.quantity > 0)
                {
                    BonanzaRecord bRecord = new BonanzaRecord();
                    bRecord.id   = stockRecord.sku + "-" + stockRecord.size;
                    bRecord.size = stockRecord.size;
                    double price = stockRecord.price + dostavka + marzha;
                    bRecord.price = price.ToString();
                    Records.Add(bRecord);
                }
            }

            //сток объединили теперь добавляем данные из каталога
            List <BonanzaRecord> newRecords = new List <BonanzaRecord>();

            foreach (var bRecord in Records)
            {
                var sneaker = GetCatalogRecordFromId(bRecord.id);
                if (sneaker != null)
                {
                    sneaker.brand = "Nike";
                    bool result = bRecord.run(sneaker.brand, sneaker.title, sneaker.sku, bRecord.size, bRecord.upc, sneaker.sex, sneaker.category, double.Parse(bRecord.price), sneaker.images);
                    if (result)
                    {
                        newRecords.Add(bRecord);
                    }
                }
                else
                {
                    Console.WriteLine("bRecord is not exist in catalog. id: " + bRecord.id);
                }
            }
            Records = newRecords;
        }
コード例 #3
0
        public void CreateRecords()
        {
            //Program.logger.Info("Nashstock exporting...");
            //foreach (var stockRecord in NashStock1.records)
            //{
            //    if (stockRecord.quantity > 0)
            //    {
            //        BonanzaRecord bRecord = new BonanzaRecord();
            //        bRecord.id = stockRecord.sku + "-" + stockRecord.size;
            //        bRecord.size = stockRecord.size;
            //        bRecord.upc = stockRecord.upc;
            //        //double sellPrice = stockRecord.sellPrice;
            //        //if (sellPrice == 0)
            //        //    sellPrice = stockRecord.price + marzha;
            //        //double price = (sellPrice + dostavkaFromRussia) / Settings.USD_SELL;
            //        double price = Exporter.GetPrice2(stockRecord.price, NashStockParser.VAT_VALUE, NashStockParser.DELIVERY_TO_USA, NashStockParser.MARZHA, NashStockParser.CURRENCY, "USD");

            //        bRecord.price = Math.Round(price, 2).ToString();
            //        Records.Add(bRecord);
            //    }
            //}

            //Program.logger.Info("Discont Samara exporting...");
            //foreach (var Discont in DiscontStocks)
            //{
            //    foreach (var stockRecord in Discont.records)
            //    {
            //        if (stockRecord.quantity > 3)
            //        {
            //            string id = stockRecord.sku + "-" + stockRecord.size;
            //            //double price = GetPrice(stockRecord, "RUB", marzha);
            //            double price = Exporter.GetPrice2(stockRecord.price, DiscontSamaraParser.VAT_VALUE, DiscontSamaraParser.DELIVERY_TO_USA, DiscontSamaraParser.MARZHA, DiscontSamaraParser.CURRENCY, "USD");
            //            BonanzaRecord bRecord = @GetRecordFromId(id);
            //            if (bRecord == null)
            //            {
            //                bRecord = new BonanzaRecord();
            //                bRecord.id = id;
            //                bRecord.size = stockRecord.size;
            //                bRecord.upc = stockRecord.upc;
            //                bRecord.price = Math.Round(price, 2).ToString();
            //                Records.Add(bRecord);
            //            }
            //            else //если уже есть то добавляем только нужное
            //            {
            //                if (String.IsNullOrWhiteSpace(bRecord.upc) && !String.IsNullOrWhiteSpace(stockRecord.upc))
            //                    bRecord.upc = stockRecord.upc;
            //                if (Double.Parse(bRecord.price) > price)
            //                    bRecord.price = price.ToString();
            //            }
            //        }
            //    }
            //}


            foreach (var shopStock in ShopStocks)
            {
                if (shopStock.Currency == "RUB")
                {
                    //пропускаем этот магазин, работаем только с зарубежными магазами
                    bool test = true;
                }
                else
                {
                    Program.Logger.Info(shopStock.Name + " exporting...");
                    foreach (var stockRecord in shopStock.records)
                    {
                        //price
                        //double price = GetPrice(stockRecord, shopStock.Currency, shopStock.Marzha);
                        double price = Exporter.GetPrice2(stockRecord.price, shopStock.VatValue, shopStock.DeliveryToUSA, shopStock.Marzha, shopStock.Currency, "USD");
                        //double price = Exporter.GetPrice(stockRecord, shopStock.Currency, "USD", shopStock.Marzha);
                        string id = stockRecord.sku + "-" + stockRecord.size;

                        BonanzaRecord bRecord = @GetRecordFromId(id);
                        if (bRecord == null)
                        {
                            bRecord       = new BonanzaRecord();
                            bRecord.id    = id;
                            bRecord.size  = stockRecord.size;
                            bRecord.upc   = stockRecord.upc;
                            bRecord.price = Math.Round(price, 2).ToString();
                            Records.Add(bRecord);
                        }
                        else //если уже есть то добавляем только нужное
                        {
                            //double price = stockRecord.price + marzha;
                            if (Double.Parse(bRecord.price) > price)
                            {
                                bRecord.price = Math.Round(price, 2).ToString();
                            }
                        }
                    }
                }
            }

            //стоки объединили теперь добавляем данные из каталога

            List <BonanzaRecord> newRecords = new List <BonanzaRecord>();

            foreach (var bRecord in Records)
            {
                var sneaker = GetCatalogRecordFromId(bRecord.id);
                if (sneaker != null)
                {
                    //sneaker.brand = "Nike";
                    bool result = bRecord.run(sneaker.brand, sneaker.title, sneaker.sku, bRecord.size, bRecord.upc, sneaker.sex, sneaker.category, double.Parse(bRecord.price), sneaker.images);
                    if (result)
                    {
                        newRecords.Add(bRecord);
                    }
                }
                else
                {
                    Console.WriteLine("bRecord is not exist in catalog. id: " + bRecord.id);
                }
            }

            //добавляем расширенное описание Description2
            int i = 0;

            foreach (var record in newRecords)
            {
                i++;
                var sneaker    = GetCatalogRecordFromId(record.id);
                var sizes      = BonanzaExporter.GetAllSizesFromSku(sneaker.sku, newRecords);
                var sizeString = BonanzaRecord.CreateSizeString(record.size, sneaker.category);
                //record.description = BonanzaRecord.SetDescription2(record.title, sneaker.sku, sizeString, sneaker.brand, record.condition, sizes);
                record.description = BonanzaRecord.CreateDescription2Small(record.title, sneaker.sku, sizeString, sizes);
            }

            Records = newRecords;
        }