/// <summary> /// Удалить непереведенные дубли переводов в ВК /// </summary> public static void DeleteUntranslatedProductsHavingTranslation(ProductVKExporter vke) { Comparator cb = new Comparator(); // из БД получаем список всех артикулов, названий на англ, названий на рус foreach (Product prodDB in db.Products) { // в вкшном массиве ищем товары, включающие этот артикул, находим рус товар и англ товар по переводу этого товара в БД List <MarketEntity> goodsOfSameSKU = vke.ProductList.Where(p => p.Description.Contains( string.Format("(артикул {0})", prodDB.artikul))).ToList(); MarketEntity rusProd = new MarketEntity(); MarketEntity engProd = new MarketEntity(); bool rusFound = false, engFound = false; if (goodsOfSameSKU.Count > 1) { foreach (MarketEntity sameSKUgood in goodsOfSameSKU) { Console.WriteLine("Artikul {0}, Title {1} ", prodDB.artikul, sameSKUgood.Title); // ищем в бд переводы этого товара List <Translation> transOfThisProd = db.GetTranslationsOfProduct(prodDB.title); // среди переводов этого товара находим с таким же названием как товар в ВК foreach (Translation tranOfThisProd in transOfThisProd) { //(t => t.title == sameSKUgood.Title); if (tranOfThisProd.title == sameSKUgood.Title) //if(transOfThisProd != null) { rusProd = sameSKUgood; rusFound = true; Logger.Logger.Trace("Artikul {0}, Title Rus {1}", prodDB.artikul, rusProd.Title); } else { Logger.Logger.ErrorLog("{0} =/= {1}", tranOfThisProd.title, sameSKUgood.Title); } } if (prodDB.title.Replace("&", "and") == sameSKUgood.Title.Replace("&", "and")) { engProd = sameSKUgood; engFound = true; Logger.Logger.Trace("Artikul {0}, Title Eng {1}", prodDB.artikul, engProd.Title); } else { Logger.Logger.ErrorLog("{0} =/= {1}", prodDB.title, sameSKUgood.Title); } //if(transOfThisProd.Any(t => t.title == )) } } if (rusFound && engFound) { // если нашелся рус товар и англ товар, то удаляем англ товар Logger.Logger.SuccessLog("Remove from VK {0}", engProd.Title); vke.DeleteProduct(engProd.ID); } } }