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(); }
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; }
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; }