Exemple #1
0
        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();
        }
Exemple #2
0
 public void SaveCategorySubcategory(StructuraHotel s, db_UH_UA db)
 {
     /*************Разбираемся с категорией - Город************************/
     //1.Проверяем, есть ли уже такая (такой город), если есть - то catInBaza наш объект
     // нет - создадим категорию
     try
     {
         Categories catInBaza = (from p in db.Categories
                                 where p.CategoryName == s.city
                                 select p).Single();
         var sub = new Subcategories { SubcategoryName = s.name };
         catInBaza.Subcategories.Add(sub);
         return;
     }
     //Такой категории/города нет
     catch
     {
         var newCategory = new Categories { CategoryName = s.city };
         var sub = new Subcategories { SubcategoryName = s.name };
         newCategory.Subcategories.Add(sub);
         db.Categories.AddObject(newCategory);
     }
 }   
Exemple #3
0
        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();
        }