public void ClearTabl() { var db = new db_UH_UA(); var pic = from o in db.Pictures select o; foreach (var p in pic) db.Pictures.DeleteObject(p); var prod = from o in db.Products select o; foreach (var p in prod) db.Products.DeleteObject(p); var sub = from o in db.Subcategories select o; foreach (var p in sub) db.Subcategories.DeleteObject(p); var cat = from o in db.Categories select o; foreach (var p in cat) db.Categories.DeleteObject(p); db.SaveChanges(); }
public void RunCopy() { var sql = new dbUkraine(); var db = new db_UH_UA(); var productData = new StructuraHotel(); var getsql = new GetSql(); /*Создание пустой без инициализации объект BuildXaml*/ var xml = new BuildXaml(); /*Извлечение из xml город, тел ...*/ var structuraHotel = new XamlToTable(); //SaveUkrHotel - заполняет structuraHotel данными одного продукта //пока голая инициализация var s = new SaveUkrHotel(); //Получаем IQueryable отелей из базы MySQL удовлетворяющих некоторым условиям IQueryable<ncnew_module_description_list> singleProduct = from p in sql.ncnew_module_description_list .Where(p => p.description != "empty") .Where(p => p.description != "") .Where(p => p.description != null) .Where(p => p.image1 != "empty") .Where(p => p.image1 != "") .Where(p => p.image1 != null) //.Where(p => p.id < 50) .OrderBy(p => p.name) select p; //Задаем старт Id productData.Id = 1; //Главный цикл, в котором все и происходит, до этого ничего не делалось кроме IQueryable //перебираем IQueryable<singleProduct> foreach (var d in singleProduct) { //Очищаем структуру productData productData.Clear(); /*1. Получаем запись отеля*/ productData = getsql.GetHotel(productData, d); /*2. Преобразуем XAML, там разобрано на имя, телеф. и т д */ string descriptionHtml = xml.BuildHaml(productData.name, productData.description, productData.contacts, productData.Id); /*Будем записывать если есть данные*/ /*Если ошибка текста или нет контактов*/ if ((descriptionHtml != "ОШИБКА ОБРАБОТКИ") && (!string.IsNullOrEmpty(productData.contacts)) && (productData.countPic != 0) ) { /*3. Извлекаем из XAML город, тел, емаил, сайт*/ productData = structuraHotel.XamlTable(descriptionHtml, productData); /*Имеем все данные в productData - начинаем строить структуру Mtender*/ //1. Записываем категории/подкатегории s.SaveCategorySubcategory(productData, db); db.SaveChanges(); // int cat = (from p in db.Categories where p.CategoryName == productData.city select p.CategoryId).Single(); //Могут быть одинаковые поддиректории //Например Гостиница Украина в Киеве и .. int sub = (from p in db.Subcategories where (p.SubcategoryName == productData.name & p.CategorySet_CategoryId == cat) select p.SubcategoryId).First();//Single(); //Генерим объект Products var pp = s.SaveProduct(productData, cat, sub); db.Products.AddObject(pp); db.SaveChanges(); } } //Добавим в базу Products //db.SaveChanges(); }