Пример #1
0
        public void Import()
        {
            // скачивание прайса
            ProccessMesenger.Write("Импорт: скачивание прайса");
            var begemotPrice = new BegemotParser();
            DataTable table = begemotPrice.GetPriceTable();

            // импорт прайса в базу данных
            ProccessMesenger.Write("Импорт: загрузка прайса в базу данных");
            using (var copy = new SqlBulkCopy(Context.Inst.Database.Connection.ConnectionString))
            {
                for (int i = 0; i < table.Columns.Count; i++)
                {
                    copy.ColumnMappings.Add(i, i);
                }

                copy.DestinationTableName = "BegemotProductSet";
                copy.WriteToServer(table);
            }

            // обработка импортированных данных
            ProccessMesenger.Write("Импорт: обработка импортированных данных");
            var bulkUpdateSql = File.ReadAllText("SQL/bulk update/_all.sql", Encoding.GetEncoding("windows-1251"));
            var executed = Context.Inst.Database.ExecuteSqlCommand(bulkUpdateSql);

            ProccessMesenger.Write("Импорт: синхронизация товаров");
            Product.SyncProducts();

            ProccessMesenger.Write("Импорт: успешно завершен");
        }